Merge branch 'lx-dev' of gitee.com:cabbage_qd/web-base-h5 into lx-online
This commit is contained in:
commit
37a91fe8a5
|
@ -0,0 +1,12 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
|
@ -0,0 +1,39 @@
|
||||||
|
module.exports = {
|
||||||
|
env: {
|
||||||
|
browser: true,
|
||||||
|
es2021: true,
|
||||||
|
node: true,
|
||||||
|
},
|
||||||
|
extends: ['eslint:recommended', '@vue/eslint-config-prettier'],
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 2021,
|
||||||
|
sourceType: 'module',
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
uni: 'readonly',
|
||||||
|
wx: 'readonly',
|
||||||
|
plus: 'readonly',
|
||||||
|
getCurrentPages: 'readonly',
|
||||||
|
getApp: 'readonly',
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
// Vue规则
|
||||||
|
'vue/multi-word-component-names': 'off',
|
||||||
|
'vue/no-unused-vars': 'error',
|
||||||
|
'vue/valid-v-for': 'error',
|
||||||
|
'vue/require-v-for-key': 'error',
|
||||||
|
'vue/no-deprecated-filter': 'error',
|
||||||
|
|
||||||
|
// JavaScript规则
|
||||||
|
'no-unused-vars': 'warn',
|
||||||
|
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||||
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||||
|
|
||||||
|
// 代码风格
|
||||||
|
semi: ['error', 'never'],
|
||||||
|
quotes: ['error', 'single'],
|
||||||
|
'comma-dangle': ['error', 'only-multiline'],
|
||||||
|
indent: ['error', 2],
|
||||||
|
'eol-last': ['error', 'always'],
|
||||||
|
},
|
||||||
|
}
|
|
@ -19,9 +19,21 @@ yarn.lock
|
||||||
|
|
||||||
# uni-app specific
|
# uni-app specific
|
||||||
uni_modules/
|
uni_modules/
|
||||||
|
.hbuilderx/
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
# Docs
|
# Docs
|
||||||
docs/
|
docs/
|
||||||
|
|
||||||
|
# IDE settings
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
|
||||||
|
# Configuration files that shouldn't be formatted
|
||||||
|
manifest.json
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": true,
|
||||||
|
"source.organizeImports": true
|
||||||
|
},
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"[vue]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[json]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"eslint.validate": ["javascript", "vue"],
|
||||||
|
"prettier.requireConfig": true,
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
"editor.insertSpaces": true,
|
||||||
|
"files.eol": "\n",
|
||||||
|
"files.insertFinalNewline": true,
|
||||||
|
"files.trimTrailingWhitespace": true
|
||||||
|
}
|
|
@ -1,275 +0,0 @@
|
||||||
<template>
|
|
||||||
<view class="main">
|
|
||||||
<!-- 推荐达人 -->
|
|
||||||
<u-popup :show="drShow" :round="10" mode="center" @close="closeShow" closeable>
|
|
||||||
<view class="uni-margin-wrap">
|
|
||||||
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay"
|
|
||||||
:interval="interval" :duration="duration">
|
|
||||||
<swiper-item>
|
|
||||||
<view class="swiper-item">
|
|
||||||
<view class="title-con">{{ '推荐达人' }}</view>
|
|
||||||
<view class="screen">
|
|
||||||
<view class="screen-view" @click="screenTaps(index, item)"
|
|
||||||
v-for="(item, index) in screenList"
|
|
||||||
:style="remIndex == item.id ? 'font-weight:bold' : ''">
|
|
||||||
{{ item.name }}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="tjClass" v-for="(item, index) in tjList">
|
|
||||||
<view class="styleColors">NO.0{{ item.rank }}</view>
|
|
||||||
<img class="avatar" v-if="item.headPath" :src="item.headPath" />
|
|
||||||
<image class="avatar" v-else src="@/static/images/avatar.png" />
|
|
||||||
<view class="user-name">{{ item.memberName }}</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</swiper-item>
|
|
||||||
<swiper-item>
|
|
||||||
<view class="swiper-item">
|
|
||||||
<view class="title-con">{{ '抗衰达人' }}</view>
|
|
||||||
<view class="screen">
|
|
||||||
<view class="screen-view" @click="screenTaps1(index, item)"
|
|
||||||
v-for="(item, index) in screenList1"
|
|
||||||
:style="remIndex1 == item.id ? 'font-weight:600' : ''">
|
|
||||||
{{ item.name }}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="tjClass" v-for="(item, index) in ksList">
|
|
||||||
<view class="styleColors">NO.0{{ item.rank }}</view>
|
|
||||||
<img class="avatar" v-if="item.headPath" :src="item.headPath" />
|
|
||||||
<image class="avatar" v-else src="@/static/images/avatar.png" />
|
|
||||||
<view class="user-name">{{ item.memberName }}</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</swiper-item>
|
|
||||||
</swiper>
|
|
||||||
</view>
|
|
||||||
</u-popup>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import * as my from '@/config/mine.js'
|
|
||||||
// import Swiper from "swiper";
|
|
||||||
export default {
|
|
||||||
name: "talentList",
|
|
||||||
props: {
|
|
||||||
drShow: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
|
|
||||||
screenList: [{
|
|
||||||
name: '年度',
|
|
||||||
id: 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '季度',
|
|
||||||
id: 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '月度',
|
|
||||||
id: 4
|
|
||||||
},
|
|
||||||
],
|
|
||||||
screenList1: [{
|
|
||||||
name: '年度',
|
|
||||||
id: 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '季度',
|
|
||||||
id: 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '月度',
|
|
||||||
id: 7
|
|
||||||
},
|
|
||||||
],
|
|
||||||
remIndex: 6, //推荐达人下标
|
|
||||||
remIndex1: 9, //抗衰达人下标
|
|
||||||
tjList: [],
|
|
||||||
ksList: [],
|
|
||||||
indicatorDots: true,
|
|
||||||
autoplay: false,
|
|
||||||
interval: 2000,
|
|
||||||
duration: 500
|
|
||||||
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
|
|
||||||
this.getUserTj();
|
|
||||||
this.getUserKs()
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
closeShow(){
|
|
||||||
this.$emit('closeShow')
|
|
||||||
},
|
|
||||||
screenTaps(index, item) {
|
|
||||||
this.remIndex = item.id;
|
|
||||||
this.getUserTj();
|
|
||||||
},
|
|
||||||
screenTaps1(index, item) {
|
|
||||||
this.remIndex1 = item.id;
|
|
||||||
this.getUserKs();
|
|
||||||
},
|
|
||||||
getUserTj() {
|
|
||||||
my.recommend({
|
|
||||||
wallType: this.remIndex
|
|
||||||
}).then((res) => {
|
|
||||||
this.tjList = res.rows;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getUserKs() {
|
|
||||||
my.repurchase({
|
|
||||||
wallType: this.remIndex1
|
|
||||||
}).then((res) => {
|
|
||||||
this.ksList = res.rows;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.uni-margin-wrap {
|
|
||||||
width: 690rpx;
|
|
||||||
height:800rpx;
|
|
||||||
|
|
||||||
.swiper {
|
|
||||||
height: 800rpx;
|
|
||||||
.swiper-item {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
.title-con {
|
|
||||||
font-size: 36rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #282828;
|
|
||||||
margin: 60rpx 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.screen-view {
|
|
||||||
margin: 0 50rpx;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 30rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
color: #282828;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.tjClass {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.styleColors {
|
|
||||||
font-size: 26rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #005BAC;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar {
|
|
||||||
width: 124rpx;
|
|
||||||
height: 124rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-top: 10rpx;
|
|
||||||
margin: 0 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-name {
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #282828;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.swiper-container {
|
|
||||||
|
|
||||||
.swiper-slide {
|
|
||||||
width: 650rpx;
|
|
||||||
padding-bottom: 40rpx;
|
|
||||||
background: #ffffff;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
.title-con {
|
|
||||||
font-size: 36rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #282828;
|
|
||||||
margin: 60rpx 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.screen-view {
|
|
||||||
margin: 0 50rpx;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 30rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
color: #282828;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.tjClass {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.styleColors {
|
|
||||||
font-size: 26rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #005BAC;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar {
|
|
||||||
width: 124rpx;
|
|
||||||
height: 124rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-top: 10rpx;
|
|
||||||
margin: 0 30rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-name {
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #282828;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -12,12 +12,5 @@ export const getMemberGift = (params) => http.get('/member/api/member-gift/membe
|
||||||
//全部荣誉墙
|
//全部荣誉墙
|
||||||
export const getMemberHonorWallAll = (params) => http.get('/member/api/member/member-honor-wall-all', { params })
|
export const getMemberHonorWallAll = (params) => http.get('/member/api/member/member-honor-wall-all', { params })
|
||||||
|
|
||||||
// 获取抗衰达人
|
|
||||||
export const repurchase =(params)=>http.post('/member/api/achieve/repurchase',params)
|
|
||||||
|
|
||||||
// 获取推荐达人
|
|
||||||
export const recommend =(params)=>http.post('/member/api/achieve/recommend',params)
|
|
||||||
|
|
||||||
|
|
||||||
//年度奖衔
|
//年度奖衔
|
||||||
export const yearAwards = (params) => http.get('/member/api/member/year-awards-list', { params })
|
export const yearAwards = (params) => http.get('/member/api/member/year-awards-list', { params })
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
|
@ -18,6 +18,10 @@
|
||||||
"weixin-js-sdk": "^1.6.0"
|
"weixin-js-sdk": "^1.6.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@vue/eslint-config-prettier": "^8.0.0",
|
||||||
|
"eslint": "^8.57.1",
|
||||||
|
"eslint-config-prettier": "^9.1.0",
|
||||||
|
"eslint-plugin-vue": "^9.33.0",
|
||||||
"less": "^3.13.1",
|
"less": "^3.13.1",
|
||||||
"less-loader": "^4.1.0",
|
"less-loader": "^4.1.0",
|
||||||
"prettier": "^3.5.3"
|
"prettier": "^3.5.3"
|
||||||
|
@ -25,7 +29,11 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"check-format": "prettier --check ."
|
"check-format": "prettier --check .",
|
||||||
|
"lint": "eslint --ext .js,.vue .",
|
||||||
|
"lint:fix": "eslint --ext .js,.vue . --fix",
|
||||||
|
"format:check": "prettier --check \"**/*.{js,vue,json,md}\"",
|
||||||
|
"format:write": "prettier --write \"**/*.{js,vue,json,md}\""
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|
|
@ -171,13 +171,13 @@ export default {
|
||||||
message: "请输入手机号",
|
message: "请输入手机号",
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
// return this.$u.test.mobile(value);
|
return this.$u.test.mobile(value);
|
||||||
// },
|
},
|
||||||
// message: "手机号格式不正确",
|
message: "手机号格式不正确",
|
||||||
// trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
// },
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -637,15 +637,18 @@
|
||||||
message: '请输入',
|
message: '请输入',
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}, ],
|
}, ],
|
||||||
storePhone: [{
|
storePhone: [
|
||||||
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入联系方式',
|
message: '请输入手机号',
|
||||||
trigger: 'blur',
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
min: 11,
|
validator: (rule, value, callback) => {
|
||||||
message: '请输入正确的手机号',
|
return this.$u.test.mobile(value)
|
||||||
trigger: 'blur'
|
},
|
||||||
|
message: '手机号格式不正确',
|
||||||
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storeSign: [{
|
storeSign: [{
|
||||||
|
|
|
@ -696,10 +696,16 @@ export default {
|
||||||
storePhone: [
|
storePhone: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入联系方式',
|
message: '请输入手机号',
|
||||||
trigger: 'blur',
|
trigger: ['blur'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
return this.$u.test.mobile(value)
|
||||||
|
},
|
||||||
|
message: '手机号格式不正确',
|
||||||
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
{ min: 11, message: '请输入正确的手机号', trigger: 'blur' },
|
|
||||||
],
|
],
|
||||||
storeSign: [
|
storeSign: [
|
||||||
{ required: true, message: " ", trigger: "blur" },
|
{ required: true, message: " ", trigger: "blur" },
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
this.tips = text;
|
this.tips = text;
|
||||||
},
|
},
|
||||||
getCode() {
|
getCode() {
|
||||||
if (this.dataForm.phone) {
|
if (this.dataForm.phone && this.$u.test.mobile(this.dataForm.phone)) {
|
||||||
if (this.$refs.uCode.canGetCode) {
|
if (this.$refs.uCode.canGetCode) {
|
||||||
// 模拟向后端请求验证码
|
// 模拟向后端请求验证码
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
uni.$u.toast('倒计时结束后再发送');
|
uni.$u.toast('倒计时结束后再发送');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.$u.toast('请先输入手机号')
|
uni.$u.toast(this.dataForm.phone ? '手机号格式不正确' : '请先输入手机号')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -125,13 +125,13 @@ export default {
|
||||||
message: '请输入手机号',
|
message: '请输入手机号',
|
||||||
trigger: ['blur'],
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
// return this.$u.test.mobile(value);
|
return this.$u.test.mobile(value);
|
||||||
// },
|
},
|
||||||
// message: "手机号格式不正确",
|
message: "手机号格式不正确",
|
||||||
// trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
// },
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,34 +13,27 @@
|
||||||
<!-- <view class="clearFilter" @click="clearFilter">
|
<!-- <view class="clearFilter" @click="clearFilter">
|
||||||
清除筛选
|
清除筛选
|
||||||
</view> -->
|
</view> -->
|
||||||
<view
|
<view class="shareImg" @click="rightOpen">
|
||||||
class="shareImg"
|
<img src="@/static/images/serach_999.png" alt="" />
|
||||||
@click="rightOpen"
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
src="@/static/images/serach_999.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="zhan1"></view>
|
<view class="zhan1"></view>
|
||||||
<view class="con_top">
|
<view class="con_top">
|
||||||
<view class="tab">
|
<view class="tab">
|
||||||
<view v-for="(item, index) in orderStatusList"
|
<view
|
||||||
|
v-for="(item, index) in orderStatusList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="isTab = item.value"
|
@click="isTab = item.value"
|
||||||
class="tab_i">
|
class="tab_i"
|
||||||
|
>
|
||||||
<view>{{ item.label }}</view>
|
<view>{{ item.label }}</view>
|
||||||
<view :class="isTab===item.value?'heng':'heng1'">
|
<view :class="isTab === item.value ? 'heng' : 'heng1'"> </view>
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="hui"></view>
|
<view class="hui"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="zhan"></view>
|
<view class="zhan"></view>
|
||||||
|
|
||||||
<view v-for="(item, index) in orderLists"
|
<view v-for="(item, index) in orderLists" :key="index" class="orderList_i">
|
||||||
:key="index"
|
|
||||||
class="orderList_i">
|
|
||||||
<view @click.stop="getDetails(item)">
|
<view @click.stop="getDetails(item)">
|
||||||
<view class="disFlex atm just mbt10">
|
<view class="disFlex atm just mbt10">
|
||||||
<view class="disFlex atm">
|
<view class="disFlex atm">
|
||||||
|
@ -51,12 +44,13 @@
|
||||||
{{ item.orderStatusVal }}
|
{{ item.orderStatusVal }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-for="ctem,cndex in item.itemList"
|
<view
|
||||||
|
v-for="(ctem, cndex) in item.itemList"
|
||||||
:key="cndex"
|
:key="cndex"
|
||||||
class="disFlex atm just mbt10">
|
class="disFlex atm just mbt10"
|
||||||
|
>
|
||||||
<view class="disFlex atm">
|
<view class="disFlex atm">
|
||||||
<img :src="ctem.cover"
|
<img :src="ctem.cover" alt="" />
|
||||||
alt="">
|
|
||||||
<view class="tit3">
|
<view class="tit3">
|
||||||
{{ ctem.productName }}
|
{{ ctem.productName }}
|
||||||
</view>
|
</view>
|
||||||
|
@ -65,73 +59,82 @@
|
||||||
<view class="tit4">
|
<view class="tit4">
|
||||||
{{ ctem.price | numberToCurrency | isLocal }}
|
{{ ctem.price | numberToCurrency | isLocal }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit5">
|
<view class="tit5"> x{{ ctem.quantity }} </view>
|
||||||
x{{ ctem.quantity }}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="tit1"> {{ '创建时间' }}:{{ item.creationTime }} </view>
|
||||||
</view>
|
|
||||||
<view class="tit1">
|
|
||||||
{{'创建时间'}}:{{ item.creationTime }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="xian"></view>
|
<view class="xian"></view>
|
||||||
<view class="disFlex">
|
<view class="disFlex">
|
||||||
<view style="flex: 1;"></view>
|
<view style="flex: 1"></view>
|
||||||
<view class="disFlex">
|
<view class="disFlex">
|
||||||
<u-button type="primary"
|
<u-button
|
||||||
|
type="primary"
|
||||||
class="lBtn"
|
class="lBtn"
|
||||||
:plain="true"
|
:plain="true"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
text="备注"
|
text="备注"
|
||||||
@click="openRemark(item)"
|
@click="openRemark(item)"
|
||||||
v-if="item.remark"
|
v-if="item.remark"
|
||||||
color="#999"></u-button>
|
color="#999"
|
||||||
<u-button type="primary"
|
></u-button>
|
||||||
|
<u-button
|
||||||
|
type="primary"
|
||||||
v-if="item.orderStatus == 0"
|
v-if="item.orderStatus == 0"
|
||||||
class="lBtn"
|
class="lBtn"
|
||||||
:plain="true"
|
:plain="true"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
:text="'撤销订单'"
|
:text="'撤销订单'"
|
||||||
@click="cancelPay(item)"
|
@click="cancelPay(item)"
|
||||||
color="#999"></u-button>
|
color="#999"
|
||||||
<u-button type="primary"
|
></u-button>
|
||||||
|
<u-button
|
||||||
|
type="primary"
|
||||||
v-if="item.orderStatus == 0"
|
v-if="item.orderStatus == 0"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
@click="goPay(item)"
|
@click="goPay(item)"
|
||||||
:text="'支付'"
|
:text="'支付'"
|
||||||
color="#005BAC"></u-button>
|
color="#005BAC"
|
||||||
<u-button type="primary"
|
></u-button>
|
||||||
|
<u-button
|
||||||
|
type="primary"
|
||||||
v-if="item.orderStatus == 3 || item.orderStatus == 5"
|
v-if="item.orderStatus == 3 || item.orderStatus == 5"
|
||||||
@click="openWl(item)"
|
@click="openWl(item)"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
:text="'查看物流'"
|
:text="'查看物流'"
|
||||||
color="#E03030"></u-button>
|
color="#E03030"
|
||||||
|
></u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="timePicker">
|
<view class="timePicker">
|
||||||
<u-datetime-picker :closeOnClickOverlay="true"
|
<u-datetime-picker
|
||||||
|
:closeOnClickOverlay="true"
|
||||||
@close="dataShow = false"
|
@close="dataShow = false"
|
||||||
@cancel="dataShow = false"
|
@cancel="dataShow = false"
|
||||||
@confirm="getDate"
|
@confirm="getDate"
|
||||||
:show="dataShow"
|
:show="dataShow"
|
||||||
v-model="value1"
|
v-model="value1"
|
||||||
mode="date"></u-datetime-picker>
|
mode="date"
|
||||||
<u-datetime-picker :closeOnClickOverlay="true"
|
></u-datetime-picker>
|
||||||
|
<u-datetime-picker
|
||||||
|
:closeOnClickOverlay="true"
|
||||||
@close="dataShow1 = false"
|
@close="dataShow1 = false"
|
||||||
@cancel="dataShow1 = false"
|
@cancel="dataShow1 = false"
|
||||||
@confirm="getDate1"
|
@confirm="getDate1"
|
||||||
:show="dataShow1"
|
:show="dataShow1"
|
||||||
v-model="value2"
|
v-model="value2"
|
||||||
mode="date"></u-datetime-picker>
|
mode="date"
|
||||||
|
></u-datetime-picker>
|
||||||
</view>
|
</view>
|
||||||
<u-popup class="pop"
|
<u-popup
|
||||||
|
class="pop"
|
||||||
:show="detailsShow"
|
:show="detailsShow"
|
||||||
closeable
|
closeable
|
||||||
:round="10"
|
:round="10"
|
||||||
mode="center"
|
mode="center"
|
||||||
@close="detailsShow= false">
|
@close="detailsShow = false"
|
||||||
|
>
|
||||||
<view class="pop_a">
|
<view class="pop_a">
|
||||||
<view class="t_tit">
|
<view class="t_tit">
|
||||||
{{ '订单详情' }}
|
{{ '订单详情' }}
|
||||||
|
@ -139,21 +142,25 @@
|
||||||
<view class="pop_t">{{ '商品信息' }}</view>
|
<view class="pop_t">{{ '商品信息' }}</view>
|
||||||
<view class="xian"></view>
|
<view class="xian"></view>
|
||||||
<view class="orderList_a">
|
<view class="orderList_a">
|
||||||
<view v-for="ctem,cndex in details.itemList"
|
<view
|
||||||
|
v-for="(ctem, cndex) in details.itemList"
|
||||||
:key="cndex"
|
:key="cndex"
|
||||||
class="disFlex atm just mbt10">
|
class="disFlex atm just mbt10"
|
||||||
<view class="disFlex just"
|
>
|
||||||
style="flex:1">
|
<view class="disFlex just" style="flex: 1">
|
||||||
<img :src="ctem.cover"
|
<img :src="ctem.cover" alt="" />
|
||||||
alt="">
|
|
||||||
<view style="flex: 1">
|
<view style="flex: 1">
|
||||||
<view class="disFlex atm just">
|
<view class="disFlex atm just">
|
||||||
<view class="tit3">
|
<view class="tit3">
|
||||||
{{ ctem.productName }}
|
{{ ctem.productName }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit5">
|
<view class="tit5"> x{{ ctem.quantity }} </view>
|
||||||
x{{ ctem.quantity }}
|
|
||||||
</view>
|
</view>
|
||||||
|
<view
|
||||||
|
class="tit3"
|
||||||
|
style="color: #999; font-size: 24rpx; margin-top: 6rpx"
|
||||||
|
>
|
||||||
|
{{ ctem.specsName }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit4">
|
<view class="tit4">
|
||||||
{{ ctem.price | numberToCurrency | isLocal }}
|
{{ ctem.price | numberToCurrency | isLocal }}
|
||||||
|
@ -171,9 +178,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="disFlex atm just mbt10">
|
<view class="disFlex atm just mbt10">
|
||||||
<view class="tit1">
|
<view class="tit1"> {{ '订单业绩' }}(PV) </view>
|
||||||
{{'订单业绩'}}(PV)
|
|
||||||
</view>
|
|
||||||
<view class="tit6">
|
<view class="tit6">
|
||||||
{{ details.orderAchieve | toThousandthAndKeepDecimal }}
|
{{ details.orderAchieve | toThousandthAndKeepDecimal }}
|
||||||
</view>
|
</view>
|
||||||
|
@ -199,37 +204,43 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mbt10 tit1">
|
<view class="mbt10 tit1">
|
||||||
{{ details.recProvince }} {{ details.recCity }} {{ details.recCounty }} {{ details.address }}
|
{{ details.recProvince }} {{ details.recCity }}
|
||||||
|
{{ details.recCounty }} {{ details.address }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
<u-modal :show="cancleOrder"
|
<u-modal
|
||||||
|
:show="cancleOrder"
|
||||||
showConfirmButton
|
showConfirmButton
|
||||||
showCancelButton
|
showCancelButton
|
||||||
:content='content'
|
:content="content"
|
||||||
confirmColor='#DE3932'
|
confirmColor="#DE3932"
|
||||||
@confirm="toCancel"
|
@confirm="toCancel"
|
||||||
@cancel="cancleOrder = false"
|
@cancel="cancleOrder = false"
|
||||||
ref="uModal"
|
ref="uModal"
|
||||||
:asyncClose="true"></u-modal>
|
:asyncClose="true"
|
||||||
|
></u-modal>
|
||||||
|
|
||||||
<u-modal :show="isRemark"
|
<u-modal
|
||||||
|
:show="isRemark"
|
||||||
showConfirmButton
|
showConfirmButton
|
||||||
:content='remarkEd'
|
:content="remarkEd"
|
||||||
confirmColor='#DE3932'
|
confirmColor="#DE3932"
|
||||||
@confirm="isRemark = false"
|
@confirm="isRemark = false"
|
||||||
ref="uModal"
|
ref="uModal"
|
||||||
:asyncClose="true"></u-modal>
|
:asyncClose="true"
|
||||||
|
></u-modal>
|
||||||
<view class="contain">
|
<view class="contain">
|
||||||
<u-popup :show="rightShow"
|
<u-popup
|
||||||
|
:show="rightShow"
|
||||||
mode="right"
|
mode="right"
|
||||||
@close="rightShow = false"
|
@close="rightShow = false"
|
||||||
:closeOnClickOverlay="false">
|
:closeOnClickOverlay="false"
|
||||||
|
>
|
||||||
<view class="rightPopup">
|
<view class="rightPopup">
|
||||||
<view class="popup_top">
|
<view class="popup_top">
|
||||||
<view>{{ '筛选' }}</view>
|
<view>{{ '筛选' }}</view>
|
||||||
<view class="top_red"
|
<view class="top_red" @click="rightShow = false">{{ '返回' }}</view>
|
||||||
@click="rightShow = false">{{'返回'}}</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="typesBox">
|
<view class="typesBox">
|
||||||
<view class="typeTitle">
|
<view class="typeTitle">
|
||||||
|
@ -237,9 +248,11 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="choiceBox">
|
<view class="choiceBox">
|
||||||
<view class="flex_btn">
|
<view class="flex_btn">
|
||||||
<u--input :placeholder="'请输入'"
|
<u--input
|
||||||
|
:placeholder="'请输入'"
|
||||||
v-model="select.orderCode"
|
v-model="select.orderCode"
|
||||||
border="none"></u--input>
|
border="none"
|
||||||
|
></u--input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -249,9 +262,11 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="choiceBox">
|
<view class="choiceBox">
|
||||||
<view class="flex_btn">
|
<view class="flex_btn">
|
||||||
<u--input :placeholder="'请输入'"
|
<u--input
|
||||||
|
:placeholder="'请输入'"
|
||||||
v-model="select.memberCode"
|
v-model="select.memberCode"
|
||||||
border="none"></u--input>
|
border="none"
|
||||||
|
></u--input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -260,14 +275,15 @@
|
||||||
{{ '订单类型' }}
|
{{ '订单类型' }}
|
||||||
</view>
|
</view>
|
||||||
<view class="choiceBox1">
|
<view class="choiceBox1">
|
||||||
<view class="flex_btn"
|
<view
|
||||||
|
class="flex_btn"
|
||||||
@click="clickType(item)"
|
@click="clickType(item)"
|
||||||
v-for="(item, index) in orderTypes"
|
v-for="(item, index) in orderTypes"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="select.orderType==item.value?'selectbtn':''">
|
:class="select.orderType == item.value ? 'selectbtn' : ''"
|
||||||
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="typesBox">
|
<view class="typesBox">
|
||||||
|
@ -275,28 +291,25 @@
|
||||||
{{ '日期区间' }}
|
{{ '日期区间' }}
|
||||||
</view>
|
</view>
|
||||||
<view class="choiceBox1">
|
<view class="choiceBox1">
|
||||||
<view class="flex_btn"
|
<view class="flex_btn" style="flex: 1" @click="openDate">
|
||||||
style="flex:1"
|
{{
|
||||||
@click="openDate">
|
select.creationTimeStart
|
||||||
{{select.creationTimeStart?select.creationTimeStart:'开始时间'}}
|
? select.creationTimeStart
|
||||||
|
: '开始时间'
|
||||||
|
}}
|
||||||
</view>
|
</view>
|
||||||
<view style="color: #666;">
|
<view style="color: #666"> —— </view>
|
||||||
——
|
<view class="flex_btn" style="flex: 1" @click="openDate1">
|
||||||
</view>
|
{{
|
||||||
<view class="flex_btn"
|
select.creationTimeEnd ? select.creationTimeEnd : '结束时间'
|
||||||
style="flex:1"
|
}}
|
||||||
@click="openDate1">
|
|
||||||
{{select.creationTimeEnd?select.creationTimeEnd:'结束时间'}}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="footer">
|
<view class="footer">
|
||||||
<view class="footer_l"
|
<view class="footer_l" @tap="reset">{{ '清空筛选条件' }}</view>
|
||||||
@tap="reset">{{'清空筛选条件'}}</view>
|
<view class="footer_r" @tap="getDataList(1)">{{ '确定' }}</view>
|
||||||
<view class="footer_r"
|
|
||||||
@tap="getDataList(1)">{{'确定'}}</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
|
@ -378,7 +391,7 @@ export default {
|
||||||
this.select.orderType = item.value
|
this.select.orderType = item.value
|
||||||
},
|
},
|
||||||
getOrderType() {
|
getOrderType() {
|
||||||
api.orderType().then((res) => {
|
api.orderType().then(res => {
|
||||||
res.data.unshift({
|
res.data.unshift({
|
||||||
label: '全部',
|
label: '全部',
|
||||||
value: '',
|
value: '',
|
||||||
|
@ -400,7 +413,7 @@ export default {
|
||||||
},
|
},
|
||||||
goPay(item) {
|
goPay(item) {
|
||||||
let orderItemsParams = []
|
let orderItemsParams = []
|
||||||
item.itemList.forEach((ctem) => {
|
item.itemList.forEach(ctem => {
|
||||||
if (ctem.waresCode) {
|
if (ctem.waresCode) {
|
||||||
orderItemsParams.push({
|
orderItemsParams.push({
|
||||||
waresCode: ctem.waresCode,
|
waresCode: ctem.waresCode,
|
||||||
|
@ -411,7 +424,7 @@ export default {
|
||||||
specialArea: item.orderType,
|
specialArea: item.orderType,
|
||||||
orderItemsParams: orderItemsParams,
|
orderItemsParams: orderItemsParams,
|
||||||
}
|
}
|
||||||
api.payCheck(item.orderCode).then((res) => {
|
api.payCheck(item.orderCode).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:
|
url:
|
||||||
|
@ -435,7 +448,7 @@ export default {
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
toCancel() {
|
toCancel() {
|
||||||
api.cancelOrder(this.cancelCode).then((res) => {
|
api.cancelOrder(this.cancelCode).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '订单已取消',
|
title: '订单已取消',
|
||||||
|
@ -454,9 +467,10 @@ export default {
|
||||||
this.cancleOrder = true
|
this.cancleOrder = true
|
||||||
},
|
},
|
||||||
getDetails(item) {
|
getDetails(item) {
|
||||||
api.orderDetails(item.orderCode).then((res) => {
|
api.orderDetails(item.orderCode).then(res => {
|
||||||
this.details = res.data
|
this.details = res.data
|
||||||
this.detailsShow = true
|
this.detailsShow = true
|
||||||
|
console.log(this.details, '....this.details')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getDate(e) {
|
getDate(e) {
|
||||||
|
@ -474,7 +488,7 @@ export default {
|
||||||
this.dataShow1 = true
|
this.dataShow1 = true
|
||||||
},
|
},
|
||||||
getOrderStatus() {
|
getOrderStatus() {
|
||||||
api.orderStatus().then((res) => {
|
api.orderStatus().then(res => {
|
||||||
res.data.unshift({
|
res.data.unshift({
|
||||||
label: '全部',
|
label: '全部',
|
||||||
value: '',
|
value: '',
|
||||||
|
@ -490,7 +504,7 @@ export default {
|
||||||
this.rightShow = false
|
this.rightShow = false
|
||||||
api
|
api
|
||||||
.orderList(Object.assign({}, this.queryParams, this.select))
|
.orderList(Object.assign({}, this.queryParams, this.select))
|
||||||
.then((res) => {
|
.then(res => {
|
||||||
this.orderLists = this.orderLists.concat(res.rows)
|
this.orderLists = this.orderLists.concat(res.rows)
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
})
|
})
|
||||||
|
@ -503,7 +517,9 @@ export default {
|
||||||
.index_header {
|
.index_header {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-family: PingFang SC-Semibold, PingFang SC;
|
font-family:
|
||||||
|
PingFang SC-Semibold,
|
||||||
|
PingFang SC;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -554,7 +570,7 @@ export default {
|
||||||
background: #f5f6f8; // margin-right: 40rpx;
|
background: #f5f6f8; // margin-right: 40rpx;
|
||||||
}
|
}
|
||||||
.seatch_r {
|
.seatch_r {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
padding: 8rpx;
|
padding: 8rpx;
|
||||||
margin-left: 24rpx;
|
margin-left: 24rpx;
|
||||||
|
@ -610,7 +626,7 @@ export default {
|
||||||
.heng {
|
.heng {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 1px 1px 1px 1px;
|
border-radius: 1px 1px 1px 1px;
|
||||||
margin-top: 4rpx;
|
margin-top: 4rpx;
|
||||||
}
|
}
|
||||||
|
@ -767,7 +783,7 @@ export default {
|
||||||
width: 645rpx;
|
width: 645rpx;
|
||||||
.popup_top {
|
.popup_top {
|
||||||
padding: 25rpx;
|
padding: 25rpx;
|
||||||
background-color: rgba(176, 196, 222, .45);
|
background-color: rgba(176, 196, 222, 0.45);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -777,7 +793,7 @@ export default {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
border-bottom: 2rpx solid #eeeeee;
|
border-bottom: 2rpx solid #eeeeee;
|
||||||
.top_red {
|
.top_red {
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.typesBox {
|
.typesBox {
|
||||||
|
@ -809,7 +825,7 @@ export default {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.selectbtn {
|
.selectbtn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -820,7 +836,7 @@ export default {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.flex_btn {
|
.flex_btn {
|
||||||
background-color: rgba(176, 196, 222, .45);
|
background-color: rgba(176, 196, 222, 0.45);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -833,7 +849,7 @@ export default {
|
||||||
margin: 17rpx 5rpx;
|
margin: 17rpx 5rpx;
|
||||||
}
|
}
|
||||||
.selectbtn {
|
.selectbtn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -854,7 +870,7 @@ export default {
|
||||||
.footer_r {
|
.footer_r {
|
||||||
width: 327rpx;
|
width: 327rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
line-height: 100rpx;
|
line-height: 100rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
|
@ -252,7 +252,7 @@
|
||||||
this.tips = text;
|
this.tips = text;
|
||||||
},
|
},
|
||||||
getCode() {
|
getCode() {
|
||||||
if (this.dataForm.phone) {
|
if (this.dataForm.phone && this.$u.test.mobile(this.dataForm.phone)) {
|
||||||
if (this.$refs.uCode.canGetCode) {
|
if (this.$refs.uCode.canGetCode) {
|
||||||
// 模拟向后端请求验证码
|
// 模拟向后端请求验证码
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
uni.$u.toast('倒计时结束后再发送');
|
uni.$u.toast('倒计时结束后再发送');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.$u.toast('请先输入手机号')
|
uni.$u.toast(this.dataForm.phone ? '手机号格式不正确' : '请先输入手机号')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -112,8 +112,15 @@ export default {
|
||||||
phone: [
|
phone: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入联系方式',
|
message: '请输入手机号',
|
||||||
trigger: ['change', 'blur'],
|
trigger: ['blur'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
return this.$u.test.mobile(value)
|
||||||
|
},
|
||||||
|
message: '手机号格式不正确',
|
||||||
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
|
|
|
@ -671,7 +671,21 @@ export default {
|
||||||
trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
phone: [{ validator: this.phonePass, trigger: ["blur"] }],
|
phone: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入手机号",
|
||||||
|
trigger: ["blur"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
return this.$u.test.mobile(value);
|
||||||
|
},
|
||||||
|
message: "手机号格式不正确",
|
||||||
|
trigger: ["blur"],
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
recName: [
|
recName: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|
|
@ -1,135 +1,143 @@
|
||||||
<!--
|
<!--
|
||||||
* @Descripttion:
|
* @Descripttion: 订单撤销页面
|
||||||
* @version:
|
* @version: 1.0.0
|
||||||
* @Author: kBank
|
* @Author: kBank
|
||||||
* @Date: 2022-11-21 15:11:22
|
* @Date: 2022-11-21 15:11:22
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view v-for="(item, index) in orderLists"
|
<view
|
||||||
class="orderList_i">
|
v-for="(item, index) in orderLists"
|
||||||
|
:key="`order-${item.orderCode || index}`"
|
||||||
|
class="orderList_i"
|
||||||
|
>
|
||||||
<view @click.stop="getDetails(item)">
|
<view @click.stop="getDetails(item)">
|
||||||
<view class="disFlex atm just mbt10">
|
<view class="disFlex atm just mbt10">
|
||||||
<view class="disFlex atm">
|
<view class="disFlex atm">
|
||||||
<view class="quan">{{ item.orderTypeVal }}</view>
|
<view class="quan">{{ item.orderTypeVal }}</view>
|
||||||
<view class="tit1">{{'订单编号'}}{{ item.orderCode }}</view>
|
<view class="tit1">订单编号{{ item.orderCode }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tit2">
|
<view class="tit2">
|
||||||
{{ item.orderStatusVal }}
|
{{ item.orderStatusVal }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-for="ctem,cndex in item.itemList"
|
|
||||||
:key="cndex"
|
<view
|
||||||
class="disFlex atm just mbt10">
|
v-for="(ctem, cndex) in item.itemList"
|
||||||
|
:key="`item-${ctem.productName || cndex}`"
|
||||||
|
class="disFlex atm just mbt10"
|
||||||
|
>
|
||||||
<view class="disFlex atm">
|
<view class="disFlex atm">
|
||||||
<img :src="ctem.cover"
|
<img :src="ctem.cover" alt="商品图片" />
|
||||||
alt="">
|
|
||||||
<view class="tit3">
|
<view class="tit3">
|
||||||
{{ ctem.productName }}
|
{{ ctem.productName }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view style="text-align: right">
|
<view style="text-align: right">
|
||||||
<view class="tit4">
|
<view class="tit4">
|
||||||
{{ ctem.price | numberToCurrency | isLocal}}
|
{{ formatPrice(ctem.price) }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit5">
|
<view class="tit5">x{{ ctem.quantity }}</view>
|
||||||
x{{ ctem.quantity }}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="tit1">创建时间:{{ item.creationTime }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tit1">
|
|
||||||
{{'创建时间'}}:{{ item.creationTime }}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="xian"></view>
|
<view class="xian"></view>
|
||||||
|
|
||||||
<view class="disFlex">
|
<view class="disFlex">
|
||||||
<view style="flex: 1;"></view>
|
<view style="flex: 1"></view>
|
||||||
<view class="disFlex">
|
<view class="disFlex">
|
||||||
<u-button type="primary"
|
<u-button
|
||||||
|
type="primary"
|
||||||
class="lBtn"
|
class="lBtn"
|
||||||
:plain="true"
|
:plain="true"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
:text="'撤销订单'"
|
text="撤销订单"
|
||||||
|
color="#999"
|
||||||
@click="cancleOrder(item)"
|
@click="cancleOrder(item)"
|
||||||
color="#999"></u-button>
|
></u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-popup class="pop"
|
|
||||||
:show="detailsShow"
|
<!-- 订单详情弹窗 -->
|
||||||
|
<u-popup
|
||||||
|
v-model="detailsShow"
|
||||||
|
class="pop"
|
||||||
closeable
|
closeable
|
||||||
:round="10"
|
:round="10"
|
||||||
mode="center"
|
mode="center"
|
||||||
@close="detailsShow= false">
|
@close="detailsShow = false"
|
||||||
|
>
|
||||||
<view class="pop_a">
|
<view class="pop_a">
|
||||||
<view class="t_tit">
|
<view class="t_tit">订单详情</view>
|
||||||
{{'订单详情'}}
|
<view class="pop_t">商品信息</view>
|
||||||
</view>
|
|
||||||
<view class="pop_t">{{'商品信息'}}</view>
|
|
||||||
<view class="xian"></view>
|
<view class="xian"></view>
|
||||||
|
|
||||||
<view class="orderList_a">
|
<view class="orderList_a">
|
||||||
<view v-for="ctem,cndex in details.itemList"
|
<view
|
||||||
:key="cndex"
|
v-for="(ctem, cndex) in details.itemList"
|
||||||
class="disFlex atm just mbt10">
|
:key="`detail-item-${ctem.productName || cndex}`"
|
||||||
<view class="disFlex just"
|
class="disFlex atm just mbt10"
|
||||||
style="flex:1">
|
>
|
||||||
<img :src="ctem.cover"
|
<view class="disFlex just" style="flex: 1">
|
||||||
alt="">
|
<img :src="ctem.cover" alt="商品图片" />
|
||||||
<view style="flex: 1">
|
<view style="flex: 1">
|
||||||
<view class="disFlex atm just">
|
<view class="disFlex atm just">
|
||||||
<view class="tit3">
|
<view class="tit3">
|
||||||
{{ ctem.productName }}
|
{{ ctem.productName }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit5">
|
<view class="tit5">x{{ ctem.quantity }}</view>
|
||||||
x{{ ctem.quantity }}
|
|
||||||
</view>
|
</view>
|
||||||
|
<view
|
||||||
|
class="tit3"
|
||||||
|
style="color: #999; font-size: 24rpx; margin-top: 6rpx"
|
||||||
|
>
|
||||||
|
{{ ctem.specsName }}
|
||||||
</view>
|
</view>
|
||||||
<view class="tit4">
|
<view class="tit4">
|
||||||
{{ ctem.price | numberToCurrency | isLocal}}
|
{{ formatPrice(ctem.price) }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="disFlex atm just mbt10">
|
<view class="disFlex atm just mbt10">
|
||||||
<view class="tit1">
|
<view class="tit1">订单金额</view>
|
||||||
{{'订单金额'}}
|
|
||||||
</view>
|
|
||||||
<view class="tit6">
|
<view class="tit6">
|
||||||
{{ details.orderAmount |toThousandthAndKeepDecimal}}
|
{{ formatCurrency(details.orderAmount) }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="disFlex atm just mbt10">
|
<view class="disFlex atm just mbt10">
|
||||||
<view class="tit1">
|
<view class="tit1">订单业绩(PV)</view>
|
||||||
{{'订单业绩'}}(PV)
|
|
||||||
</view>
|
|
||||||
<view class="tit6">
|
<view class="tit6">
|
||||||
{{ details.orderAchieve |toThousandthAndKeepDecimal}}
|
{{ formatCurrency(details.orderAchieve) }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="disFlex atm just mbt10">
|
|
||||||
<view class="tit1">
|
<!-- 暂时注释的订单业绩(BV)
|
||||||
{{'订单业绩'}}(BV)
|
<view class="disFlex atm just mbt10">
|
||||||
</view>
|
<view class="tit1">订单业绩(BV)</view>
|
||||||
<view class="tit6">
|
<view class="tit6">
|
||||||
{{ details.orderAssAchieve |toThousandthAndKeepDecimal}}
|
{{ formatCurrency(details.orderAssAchieve) }}
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view>
|
||||||
|
-->
|
||||||
|
|
||||||
<view class="xian"></view>
|
<view class="xian"></view>
|
||||||
<view class="pop_t mbt10">
|
|
||||||
{{'收货人信息'}}
|
<view class="pop_t mbt10">收货人信息</view>
|
||||||
</view>
|
|
||||||
<view class="disFlex atm mbt10 tit6">
|
<view class="disFlex atm mbt10 tit6">
|
||||||
<view>
|
<view>{{ details.recName }}</view>
|
||||||
{{ details.recName }}
|
<view>{{ details.recPhone }}</view>
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
{{ details.recPhone }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="mbt10 tit1">
|
<view class="mbt10 tit1">
|
||||||
{{ details.recProvince }} {{ details.recCity }} {{ details.recCounty }} {{ details.address }}
|
{{ details.recProvince }} {{ details.recCity }}
|
||||||
|
{{ details.recCounty }} {{ details.address }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
|
@ -138,7 +146,9 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as api from '@/config/order.js'
|
import * as api from '@/config/order.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
name: 'CancelOrder',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
orderTypes: [],
|
orderTypes: [],
|
||||||
|
@ -147,7 +157,7 @@ export default {
|
||||||
content: '确认取消订单?',
|
content: '确认取消订单?',
|
||||||
isRemark: false,
|
isRemark: false,
|
||||||
cancelCode: '',
|
cancelCode: '',
|
||||||
details: '',
|
details: {},
|
||||||
orderStatusList: [],
|
orderStatusList: [],
|
||||||
detailsShow: false,
|
detailsShow: false,
|
||||||
isTab: -1,
|
isTab: -1,
|
||||||
|
@ -166,22 +176,76 @@ export default {
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
|
|
||||||
onShow() {},
|
onShow() {},
|
||||||
|
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
this.queryParams.pageNum++
|
this.queryParams.pageNum++
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
/**
|
||||||
|
* 格式化价格显示
|
||||||
|
*/
|
||||||
|
formatPrice(price) {
|
||||||
|
if (!price && price !== 0) return ''
|
||||||
|
// 这里可以根据需要调用相应的格式化方法
|
||||||
|
return this.numberToCurrency(this.isLocal(price))
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化货币显示
|
||||||
|
*/
|
||||||
|
formatCurrency(amount) {
|
||||||
|
if (!amount && amount !== 0) return ''
|
||||||
|
return this.toThousandthAndKeepDecimal(amount)
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数字转货币格式 - 替代原来的filter
|
||||||
|
*/
|
||||||
|
numberToCurrency(num) {
|
||||||
|
// 这里实现原来filter的逻辑
|
||||||
|
if (!num && num !== 0) return ''
|
||||||
|
return parseFloat(num).toFixed(2)
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 本地化处理 - 替代原来的filter
|
||||||
|
*/
|
||||||
|
isLocal(value) {
|
||||||
|
// 这里实现原来filter的逻辑
|
||||||
|
return value
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 千分位格式化 - 替代原来的filter
|
||||||
|
*/
|
||||||
|
toThousandthAndKeepDecimal(num) {
|
||||||
|
if (!num && num !== 0) return '0.00'
|
||||||
|
return parseFloat(num)
|
||||||
|
.toFixed(2)
|
||||||
|
.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 撤销订单
|
||||||
|
*/
|
||||||
cancleOrder(item) {
|
cancleOrder(item) {
|
||||||
let that = this
|
const that = this
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '确定撤销订单?',
|
title: '确定撤销订单?',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
if (response.confirm) {
|
if (response.confirm) {
|
||||||
api.selfRevokeListCheck(item).then((res) => {
|
api
|
||||||
if (res.code == 200) {
|
.selfRevokeListCheck(item)
|
||||||
api.selfRevokeOrder(item).then((res) => {
|
.then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code === 200) {
|
||||||
|
api
|
||||||
|
.selfRevokeOrder(item)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code === 200) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.msg,
|
title: res.msg,
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
|
@ -197,6 +261,14 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('撤销订单失败:', error)
|
||||||
|
uni.showToast({
|
||||||
|
title: '撤销订单失败',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.msg,
|
title: res.msg,
|
||||||
|
@ -205,30 +277,75 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('检查撤销条件失败:', error)
|
||||||
|
uni.showToast({
|
||||||
|
title: '操作失败,请重试',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取订单详情
|
||||||
|
*/
|
||||||
getDetails(item) {
|
getDetails(item) {
|
||||||
api.orderDetails(item.orderCode).then((res) => {
|
api
|
||||||
this.details = res.data
|
.orderDetails(item.orderCode)
|
||||||
|
.then(res => {
|
||||||
|
this.details = res.data || {}
|
||||||
this.detailsShow = true
|
this.detailsShow = true
|
||||||
})
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('获取订单详情失败:', error)
|
||||||
|
uni.showToast({
|
||||||
|
title: '获取订单详情失败',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取订单状态列表
|
||||||
|
*/
|
||||||
getOrderStatus() {
|
getOrderStatus() {
|
||||||
api.orderStatus().then((res) => {
|
api
|
||||||
|
.orderStatus()
|
||||||
|
.then(res => {
|
||||||
res.data.unshift({
|
res.data.unshift({
|
||||||
label: '全部',
|
label: '全部',
|
||||||
value: '',
|
value: '',
|
||||||
})
|
})
|
||||||
this.orderStatusList = res.data
|
this.orderStatusList = res.data
|
||||||
})
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('获取订单状态失败:', error)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
getDataList(index) {
|
|
||||||
api.selfRevokeList(Object.assign({}, this.queryParams)).then((res) => {
|
/**
|
||||||
this.orderLists = this.orderLists.concat(res.rows)
|
* 获取数据列表
|
||||||
|
*/
|
||||||
|
getDataList() {
|
||||||
|
api
|
||||||
|
.selfRevokeList(Object.assign({}, this.queryParams))
|
||||||
|
.then(res => {
|
||||||
|
this.orderLists = this.orderLists.concat(res.rows || [])
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
})
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('获取订单列表失败:', error)
|
||||||
|
uni.showToast({
|
||||||
|
title: '获取订单列表失败',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -238,7 +355,9 @@ export default {
|
||||||
.index_header {
|
.index_header {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-family: PingFang SC-Semibold, PingFang SC;
|
font-family:
|
||||||
|
PingFang SC-Semibold,
|
||||||
|
PingFang SC;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -254,6 +373,7 @@ export default {
|
||||||
z-index: 1000000000;
|
z-index: 1000000000;
|
||||||
right: 10rpx;
|
right: 10rpx;
|
||||||
top: 10rpx;
|
top: 10rpx;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
|
@ -273,15 +393,16 @@ export default {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
border-bottom: 2rpx solid #eee;
|
border-bottom: 2rpx solid #eee;
|
||||||
|
|
||||||
.seach_i {
|
.seach_i {
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
border-radius: 34rpx;
|
border-radius: 34rpx;
|
||||||
background: #fff;
|
background: #f5f6f8;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
background: #f5f6f8; // margin-right: 40rpx;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.seatch_r {
|
.seatch_r {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
padding: 8rpx;
|
padding: 8rpx;
|
||||||
margin-left: 24rpx;
|
margin-left: 24rpx;
|
||||||
|
@ -292,14 +413,16 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 38rpx 26rpx;
|
padding: 38rpx 26rpx;
|
||||||
|
|
||||||
.timeA {
|
.timeA {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #333;
|
color: #333;
|
||||||
margin-right: 46rpx;
|
margin-right: 46rpx;
|
||||||
border-bottom: 2rpx solid #fff; // padding-bottom: 10rpx;
|
border-bottom: 2rpx solid #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeB {
|
.timeB {
|
||||||
width: 158rpx;
|
width: 158rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
@ -307,7 +430,7 @@ export default {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
margin-right: 46rpx;
|
margin-right: 46rpx;
|
||||||
border-bottom: 2rpx solid #eee; // padding-bottom: 10rpx;
|
border-bottom: 2rpx solid #eee;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -322,12 +445,11 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_i {
|
.tab_i {
|
||||||
// width: 120rpx;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #333333; // margin-right: 28rpx;
|
color: #333333;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -386,6 +508,7 @@ export default {
|
||||||
padding: 25rpx;
|
padding: 25rpx;
|
||||||
border-bottom: 22rpx solid #eee;
|
border-bottom: 22rpx solid #eee;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 124rpx;
|
width: 124rpx;
|
||||||
height: 124rpx;
|
height: 124rpx;
|
||||||
|
@ -439,7 +562,7 @@ export default {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tit5 {
|
.tit5 {
|
||||||
|
@ -482,19 +605,20 @@ export default {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .u-popup__content {
|
:deep(.u-popup__content) {
|
||||||
// width: 90%;
|
// width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pop ::v-deep .u-popup__content {
|
.pop :deep(.u-popup__content) {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rightPopup {
|
.rightPopup {
|
||||||
width: 645rpx;
|
width: 645rpx;
|
||||||
|
|
||||||
.popup_top {
|
.popup_top {
|
||||||
padding: 25rpx;
|
padding: 25rpx;
|
||||||
background-color: rgba(176, 196, 222, .45);
|
background-color: rgba(176, 196, 222, 0.45);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -503,12 +627,15 @@ export default {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
border-bottom: 2rpx solid #eeeeee;
|
border-bottom: 2rpx solid #eeeeee;
|
||||||
|
|
||||||
.top_red {
|
.top_red {
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.typesBox {
|
.typesBox {
|
||||||
margin-top: 40rpx;
|
margin-top: 40rpx;
|
||||||
|
|
||||||
.typeTitle {
|
.typeTitle {
|
||||||
padding: 0 24rpx;
|
padding: 0 24rpx;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
|
@ -516,11 +643,13 @@ export default {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.choiceBox {
|
.choiceBox {
|
||||||
padding: 0 12rpx;
|
padding: 0 12rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 17rpx;
|
margin-top: 17rpx;
|
||||||
align-items: center; // flex-wrap: wrap;
|
align-items: center;
|
||||||
|
|
||||||
.flex_btn {
|
.flex_btn {
|
||||||
background-color: #f4f4f4;
|
background-color: #f4f4f4;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -535,19 +664,22 @@ export default {
|
||||||
margin: 17rpx 5rpx;
|
margin: 17rpx 5rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectbtn {
|
.selectbtn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.choiceBox1 {
|
.choiceBox1 {
|
||||||
padding: 0 12rpx;
|
padding: 0 12rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 17rpx;
|
margin-top: 17rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.flex_btn {
|
.flex_btn {
|
||||||
background-color: rgba(176, 196, 222, .45);
|
background-color: rgba(176, 196, 222, 0.45);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -559,18 +691,21 @@ export default {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
margin: 17rpx 5rpx;
|
margin: 17rpx 5rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectbtn {
|
.selectbtn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.footer_l {
|
.footer_l {
|
||||||
width: 327rpx;
|
width: 327rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -578,10 +713,11 @@ export default {
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
line-height: 100rpx;
|
line-height: 100rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer_r {
|
.footer_r {
|
||||||
width: 327rpx;
|
width: 327rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
line-height: 100rpx;
|
line-height: 100rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -589,11 +725,11 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.contain ::v-deep .u-transition {
|
.contain :deep(.u-transition) {
|
||||||
top: 45px !important;
|
top: 45px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timePicker ::v-deep .u-transition {
|
.timePicker :deep(.u-transition) {
|
||||||
z-index: 10076 !important;
|
z-index: 10076 !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view @click="goRouter(item.path)"
|
<view
|
||||||
|
@click="goRouter(item.path)"
|
||||||
class="kuaibox"
|
class="kuaibox"
|
||||||
v-for="(item, index) in theselfHeader"
|
v-for="(item, index) in theselfHeader"
|
||||||
:key="index">
|
:key="index"
|
||||||
|
>
|
||||||
<view class="">
|
<view class="">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</view>
|
</view>
|
||||||
<image class="kuaiimg"
|
<image class="kuaiimg" :src="item.url" mode=""></image>
|
||||||
:src="item.url"
|
|
||||||
mode=""></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as sel from '@/config/selfService.js'
|
import * as sel from '@/config/selfService.js'
|
||||||
import { mapGetters } from "vuex";
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(["user"]),
|
...mapGetters(['user']),
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -43,12 +43,6 @@ export default {
|
||||||
path: '/pages/selfService/updateDomicile/updateDomicile',
|
path: '/pages/selfService/updateDomicile/updateDomicile',
|
||||||
id: '3',
|
id: '3',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: '经销商认证',
|
|
||||||
url: '../../static/images/zz_jxs.png',
|
|
||||||
path: '/pages/delear/index',
|
|
||||||
id: '4',
|
|
||||||
},
|
|
||||||
// {
|
// {
|
||||||
// name: '月度历史累计业绩',
|
// name: '月度历史累计业绩',
|
||||||
// url: '../../static/images/zz_thhdd.png',
|
// url: '../../static/images/zz_thhdd.png',
|
||||||
|
@ -69,97 +63,12 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
theselfHeader: [],
|
theselfHeader: [],
|
||||||
userInfo:''
|
userInfo: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onShow() {
|
||||||
this.userInfo = uni.getStorageSync("User");
|
this.userInfo = uni.getStorageSync('User')
|
||||||
this.checkIfShow()
|
this.checkIfShow()
|
||||||
if(this.userInfo.makerSpaceShow == 1||this.userInfo.makerSpaceShow==undefined) {
|
|
||||||
this.selfServiceList= [
|
|
||||||
{
|
|
||||||
name: '修改地址',
|
|
||||||
url: '../../static/images/zz_dz.png',
|
|
||||||
path: '/pages/selfService/updateAdress/updateAdress',
|
|
||||||
id: '1',
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// name: '订单自提',
|
|
||||||
// url: '../../static/images/zz_tjbb.png',
|
|
||||||
// path: '/pages/selfService/orderPick/orderPick',
|
|
||||||
// id: '2',
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
name: '户籍变更',
|
|
||||||
url: '../../static/images/zz_gxbg.png',
|
|
||||||
path: '/pages/selfService/updateDomicile/updateDomicile',
|
|
||||||
id: '3',
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// name: '月度历史累计业绩',
|
|
||||||
// url: '../../static/images/zz_thhdd.png',
|
|
||||||
// path: '/pages/selfService/monthlyHistory/monthlyHistory',
|
|
||||||
// id: '7',
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
name: '自助撤单',
|
|
||||||
url: '../../static/images/zz_gzs.png',
|
|
||||||
path: '/pages/selfService/cancleOrder/index',
|
|
||||||
id: '8',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '实名认证',
|
|
||||||
url: '../../static/images/zz_jxs.png',
|
|
||||||
path: '/pages/selfService/realName/realName',
|
|
||||||
id: '9',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}else{
|
|
||||||
this.selfServiceList= [
|
|
||||||
{
|
|
||||||
name: '修改地址',
|
|
||||||
url: '../../static/images/zz_dz.png',
|
|
||||||
path: '/pages/selfService/updateAdress/updateAdress',
|
|
||||||
id: '1',
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// name: '订单自提',
|
|
||||||
// url: '../../static/images/zz_tjbb.png',
|
|
||||||
// path: '/pages/selfService/orderPick/orderPick',
|
|
||||||
// id: '2',
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
name: '户籍变更',
|
|
||||||
url: '../../static/images/zz_gxbg.png',
|
|
||||||
path: '/pages/selfService/updateDomicile/updateDomicile',
|
|
||||||
id: '3',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '体验中心发起人认证',
|
|
||||||
url: '../../static/images/zz_cxlj.png',
|
|
||||||
path: '/pages/makerspace/index',
|
|
||||||
id: '6',
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// name: '月度历史累计业绩',
|
|
||||||
// url: '../../static/images/zz_thhdd.png',
|
|
||||||
// path: '/pages/selfService/monthlyHistory/monthlyHistory',
|
|
||||||
// id: '7',
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
name: '自助撤单',
|
|
||||||
url: '../../static/images/zz_gzs.png',
|
|
||||||
path: '/pages/selfService/cancleOrder/index',
|
|
||||||
id: '8',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '实名认证',
|
|
||||||
url: '../../static/images/zz_jxs.png',
|
|
||||||
path: '/pages/selfService/realName/realName',
|
|
||||||
id: '9',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goRouter(path) {
|
goRouter(path) {
|
||||||
|
@ -168,8 +77,8 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
checkIfShow() {
|
checkIfShow() {
|
||||||
sel.checkIfShow().then((res) => {
|
sel.checkIfShow().then(res => {
|
||||||
this.selfServiceList.forEach((ele) => {
|
this.selfServiceList.forEach(ele => {
|
||||||
if (ele.id == 1) {
|
if (ele.id == 1) {
|
||||||
ele.ifshow = res.data.existAddress
|
ele.ifshow = res.data.existAddress
|
||||||
} else if (ele.id == 2) {
|
} else if (ele.id == 2) {
|
||||||
|
@ -192,8 +101,7 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const theselfHeader = []
|
const theselfHeader = []
|
||||||
this.selfServiceList.forEach((element) => {
|
this.selfServiceList.forEach(element => {
|
||||||
|
|
||||||
if (element.ifshow == 0) {
|
if (element.ifshow == 0) {
|
||||||
theselfHeader.push(element)
|
theselfHeader.push(element)
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,29 +13,27 @@
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
ref="uForm"
|
ref="uForm"
|
||||||
>
|
>
|
||||||
<u-form-item required
|
<u-form-item required label-width="180rpx" :label="'证件(正面)'">
|
||||||
label-width="180rpx"
|
<uploadImg
|
||||||
:label="'证件(正面)'">
|
:ifsfz="true"
|
||||||
<uploadImg :ifsfz='true'
|
@imageUploaded="imageUploaded1"
|
||||||
@imageUploaded='imageUploaded1'
|
|
||||||
prop="idFront"
|
prop="idFront"
|
||||||
ref="uploadImg1"
|
ref="uploadImg1"
|
||||||
style="margin-right: 30rpx;"
|
style="margin-right: 30rpx"
|
||||||
:bgimg="`../../../static/images/idCard1.png`"
|
:bgimg="`../../../static/images/idCard1.png`"
|
||||||
v-model="dataForm.idFront"></uploadImg>
|
v-model="dataForm.idFront"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item required
|
<u-form-item required label-width="180rpx" :label="'证件(反面)'">
|
||||||
label-width="180rpx"
|
<uploadImg
|
||||||
:label="'证件(反面)'">
|
:ifsfz="true"
|
||||||
<uploadImg :ifsfz='true'
|
@imageUploaded="imageUploaded2"
|
||||||
@imageUploaded='imageUploaded2'
|
|
||||||
prop="idBack"
|
prop="idBack"
|
||||||
ref="uploadImg2"
|
ref="uploadImg2"
|
||||||
style="margin-right: 30rpx;"
|
style="margin-right: 30rpx"
|
||||||
:bgimg="`../../../static/images/idCard2.png`"
|
:bgimg="`../../../static/images/idCard2.png`"
|
||||||
v-model="dataForm.idBack"></uploadImg>
|
v-model="dataForm.idBack"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item
|
<u-form-item
|
||||||
required
|
required
|
||||||
|
@ -197,7 +195,6 @@
|
||||||
</u--input>
|
</u--input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
|
|
||||||
|
|
||||||
<u-code
|
<u-code
|
||||||
:seconds="seconds"
|
:seconds="seconds"
|
||||||
@end="end"
|
@end="end"
|
||||||
|
@ -228,7 +225,7 @@
|
||||||
<view class="tit2"
|
<view class="tit2"
|
||||||
@click="toAgree"> 《推广人员服务协议》</view>
|
@click="toAgree"> 《推广人员服务协议》</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="btnbox" style="padding-bottom: 180rpx;">
|
<view class="btnbox" style="padding-bottom: 180rpx">
|
||||||
<u-button class="subbtn" @click="submit">{{ '确定' }}</u-button>
|
<u-button class="subbtn" @click="submit">{{ '确定' }}</u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -517,7 +514,7 @@ export default {
|
||||||
this.tips = text
|
this.tips = text
|
||||||
},
|
},
|
||||||
getCode() {
|
getCode() {
|
||||||
if (this.dataForm.phone) {
|
if (this.dataForm.phone && this.$u.test.mobile(this.dataForm.phone)) {
|
||||||
if (this.$refs.uCode.canGetCode) {
|
if (this.$refs.uCode.canGetCode) {
|
||||||
// 模拟向后端请求验证码
|
// 模拟向后端请求验证码
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
|
@ -538,7 +535,9 @@ export default {
|
||||||
uni.$u.toast('倒计时结束后再发送')
|
uni.$u.toast('倒计时结束后再发送')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.$u.toast('请先输入手机号')
|
uni.$u.toast(
|
||||||
|
this.dataForm.phone ? '手机号格式不正确' : '请先输入手机号'
|
||||||
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -624,7 +623,7 @@ export default {
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
|
|
||||||
.subbtn {
|
.subbtn {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 46rpx;
|
border-radius: 46rpx;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
|
@ -656,7 +655,7 @@ export default {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tit3 {
|
.tit3 {
|
||||||
|
|
|
@ -4,52 +4,62 @@
|
||||||
<!-- <view class="top_text">
|
<!-- <view class="top_text">
|
||||||
{{'注:修改地址后,若涉及运费问题,系统将自动扣除请在原订单基础上填写新的收货人信息'}}
|
{{'注:修改地址后,若涉及运费问题,系统将自动扣除请在原订单基础上填写新的收货人信息'}}
|
||||||
</view> -->
|
</view> -->
|
||||||
<u-form :model="addressForm"
|
<u-form :model="addressForm" labelWidth="auto" ref="uForm">
|
||||||
labelWidth="auto"
|
|
||||||
ref="uForm">
|
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'订单编号'"
|
<u-form-item
|
||||||
|
:label="'订单编号'"
|
||||||
label-width="150rpx"
|
label-width="150rpx"
|
||||||
prop="orderCode">
|
prop="orderCode"
|
||||||
<u--input v-model="addressForm.orderCode"
|
>
|
||||||
|
<u--input
|
||||||
|
v-model="addressForm.orderCode"
|
||||||
disabled
|
disabled
|
||||||
disabledColor="#ffffff"
|
disabledColor="#ffffff"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
border="none"></u--input>
|
border="none"
|
||||||
|
></u--input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'收货人'"
|
<u-form-item :label="'收货人'" label-width="150rpx" prop="newRecName">
|
||||||
label-width="150rpx"
|
<u-input
|
||||||
prop="newRecName">
|
v-model="addressForm.newRecName"
|
||||||
<u-input v-model="addressForm.newRecName"
|
|
||||||
placeholder-class="place-class"
|
placeholder-class="place-class"
|
||||||
class="border-color"
|
class="border-color"
|
||||||
:placeholder="'请输入'" />
|
:placeholder="'请输入'"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'联系方式'"
|
<u-form-item
|
||||||
|
:label="'联系方式'"
|
||||||
label-width="150rpx"
|
label-width="150rpx"
|
||||||
prop="newRecPhone">
|
prop="newRecPhone"
|
||||||
<u-input v-model="addressForm.newRecPhone"
|
>
|
||||||
|
<u-input
|
||||||
|
v-model="addressForm.newRecPhone"
|
||||||
placeholder-class="place-class"
|
placeholder-class="place-class"
|
||||||
:maxlength="userInfo.pkSettleCountry == 1 ? 11 : 20"
|
:maxlength="userInfo.pkSettleCountry == 1 ? 11 : 20"
|
||||||
class="border-color"
|
class="border-color"
|
||||||
:placeholder="'请输入'" />
|
:placeholder="'请输入'"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class"
|
<view class="view-class" @click="getDiqu">
|
||||||
@click="getDiqu">
|
<u-form-item :label="'收货地址'" label-width="150rpx" prop="address">
|
||||||
<u-form-item :label="'收货地址'"
|
<view
|
||||||
label-width="150rpx"
|
v-if="address"
|
||||||
prop="address">
|
style="font-size: 28rpx; color: #333; margin-left: 20rpx"
|
||||||
<view v-if="address"
|
>{{ address }}</view
|
||||||
style="font-size: 28rpx;color: #333;margin-left: 20rpx;">{{address}}</view>
|
>
|
||||||
<view style="margin-left: 20rpx;font-size: 28rpx;color: rgb(192, 196, 204);"
|
<view
|
||||||
v-else>请选择收货地址
|
style="
|
||||||
|
margin-left: 20rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: rgb(192, 196, 204);
|
||||||
|
"
|
||||||
|
v-else
|
||||||
|
>请选择收货地址
|
||||||
</view>
|
</view>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<view class="drop">
|
<view class="drop">
|
||||||
|
@ -57,106 +67,81 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'详细地址'"
|
<u-form-item
|
||||||
|
:label="'详细地址'"
|
||||||
class="label-style"
|
class="label-style"
|
||||||
label-width="150rpx"
|
label-width="150rpx"
|
||||||
prop="newRecAddress">
|
prop="newRecAddress"
|
||||||
<u-textarea v-model="addressForm.newRecAddress"
|
>
|
||||||
|
<u-textarea
|
||||||
|
v-model="addressForm.newRecAddress"
|
||||||
placeholder-class="place-class"
|
placeholder-class="place-class"
|
||||||
maxlength="200"
|
maxlength="200"
|
||||||
class="border-color"
|
class="border-color"
|
||||||
:placeholder="'请输入详细地址'" />
|
:placeholder="'请输入详细地址'"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<view class="lis_address"
|
<view class="lis_address" v-if="addressList.length > 0">
|
||||||
v-if="addressList.length>0">
|
|
||||||
<view class="lis_title">{{ '历史地址' }}</view>
|
<view class="lis_title">{{ '历史地址' }}</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<u-radio-group @change="groupChange"
|
<u-radio-group
|
||||||
|
@change="groupChange"
|
||||||
placement="column"
|
placement="column"
|
||||||
v-model="choiceValue"
|
v-model="choiceValue"
|
||||||
iconPlacement="left">
|
iconPlacement="left"
|
||||||
<div v-for="(item, index) in addressList"
|
>
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in addressList"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="custom-radio-label">
|
class="custom-radio-label"
|
||||||
<u-radio :name="item.pkId"
|
>
|
||||||
activeColor="#005BAC"></u-radio>
|
<u-radio :name="item.pkId" activeColor="#005BAC"></u-radio>
|
||||||
<div class="custom-label-content">
|
<div class="custom-label-content">
|
||||||
<view class="label_name">{{ item.recName }}</view>
|
<view class="label_name">{{ item.recName }}</view>
|
||||||
<view class="label_phone">{{ item.recPhone }}</view>
|
<view class="label_phone">{{ item.recPhone }}</view>
|
||||||
<view class="label_address">{{ item.recArea }}</view>
|
<view class="label_address">{{ item.recArea }}</view>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</u-radio-group>
|
</u-radio-group>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'邮费扣除'"
|
<u-form-item
|
||||||
|
:label="'邮费扣除'"
|
||||||
label-width="150rpx"
|
label-width="150rpx"
|
||||||
prop="newPostage">
|
prop="newPostage"
|
||||||
<u--input v-model="addressForm.newPostage"
|
>
|
||||||
|
<u--input
|
||||||
|
v-model="addressForm.newPostage"
|
||||||
disabled
|
disabled
|
||||||
disabledColor="#ffffff"
|
disabledColor="#ffffff"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
border="none"></u--input>
|
border="none"
|
||||||
|
></u--input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'备注'"
|
<u-form-item :label="'备注'" label-width="150rpx" prop="selfRemark">
|
||||||
label-width="150rpx"
|
<u-input
|
||||||
prop="selfRemark">
|
v-model="addressForm.selfRemark"
|
||||||
<u-input v-model="addressForm.selfRemark"
|
|
||||||
placeholder-class="place-class"
|
placeholder-class="place-class"
|
||||||
class="border-color"
|
class="border-color"
|
||||||
:placeholder="'请输入'" />
|
:placeholder="'请输入'"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</u-form>
|
</u-form>
|
||||||
</view>
|
</view>
|
||||||
<v-address ref="address"
|
<v-address
|
||||||
|
ref="address"
|
||||||
@getAddressData="AddressData"
|
@getAddressData="AddressData"
|
||||||
:defaultCode="defaultCode"
|
:defaultCode="defaultCode"
|
||||||
@addressData="addressData"></v-address>
|
@addressData="addressData"
|
||||||
<u-button type="success"
|
></v-address>
|
||||||
shape="circle"
|
<u-button type="success" shape="circle" class="btn" @click="submit">{{
|
||||||
class="btn"
|
'确定'
|
||||||
@click="submit">{{'确定'}}</u-button>
|
}}</u-button>
|
||||||
<u-popup class="thePopup"
|
|
||||||
:show="successShow"
|
|
||||||
mode="center"
|
|
||||||
@close="successShow = false">
|
|
||||||
<view class="successPopup">
|
|
||||||
|
|
||||||
<view class="poupTop">
|
|
||||||
<view class="theiconbox">
|
|
||||||
<u-icon name="checkbox-mark"
|
|
||||||
color="#ffffff"
|
|
||||||
size="26"></u-icon>
|
|
||||||
</view>
|
|
||||||
<view class="theicontitle">
|
|
||||||
{{'提交成功'}}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="poupContent">
|
|
||||||
{{'我们将在24小时内完成业务受理!具体进度将会以通知形式发送给您,请注意查收!'}}
|
|
||||||
<!-- <view>
|
|
||||||
{{'售后电话'}}:400-111-2818
|
|
||||||
</view> -->
|
|
||||||
</view>
|
|
||||||
<!-- <view class="poupContent">
|
|
||||||
{{'我们将在24小时内完成业务受理!具体进度将会以通知形式发送给您,请注意查收!'}}</br>
|
|
||||||
{{'售后电话'}}:400-111-2818
|
|
||||||
</view> -->
|
|
||||||
<view class="poupBtn"
|
|
||||||
@click="sureBtn">
|
|
||||||
{{'确定'}}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</u-popup>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -217,14 +202,14 @@ export default {
|
||||||
newRecPhone: [
|
newRecPhone: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入',
|
message: '请输入手机号',
|
||||||
trigger: ['blur'],
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
return this.$u.test.mobile(value)
|
return this.$u.test.mobile(value)
|
||||||
},
|
},
|
||||||
message: '请先输入手机号',
|
message: '手机号格式不正确',
|
||||||
trigger: ['blur'],
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -243,7 +228,7 @@ export default {
|
||||||
this.address = query.recProvinceVal + query.recCityVal
|
this.address = query.recProvinceVal + query.recCityVal
|
||||||
}
|
}
|
||||||
this.addressForm.newRecName = query.recName
|
this.addressForm.newRecName = query.recName
|
||||||
this.addressForm.newRecPhone = query.recPhone
|
this.$set(this.addressForm, 'newRecPhone', query.recPhone)
|
||||||
this.addressForm.newRecAddress = query.recAddress
|
this.addressForm.newRecAddress = query.recAddress
|
||||||
this.addressForm.newRecProvince = query.recProvince
|
this.addressForm.newRecProvince = query.recProvince
|
||||||
this.addressForm.newRecCity = query.recCity
|
this.addressForm.newRecCity = query.recCity
|
||||||
|
@ -261,7 +246,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
groupChange(value) {
|
groupChange(value) {
|
||||||
this.addressList.forEach((ele) => {
|
this.addressList.forEach(ele => {
|
||||||
if (value == ele.pkId) {
|
if (value == ele.pkId) {
|
||||||
this.$set(this.addressForm, 'newRecName', ele.recName)
|
this.$set(this.addressForm, 'newRecName', ele.recName)
|
||||||
this.$set(this.addressForm, 'newRecPhone', ele.recPhone)
|
this.$set(this.addressForm, 'newRecPhone', ele.recPhone)
|
||||||
|
@ -290,13 +275,13 @@ export default {
|
||||||
tranType: this.addressForm.tranType,
|
tranType: this.addressForm.tranType,
|
||||||
orderItemsParams: this.addressForm.orderItemsParams,
|
orderItemsParams: this.addressForm.orderItemsParams,
|
||||||
}
|
}
|
||||||
sel.queryAdressPostage(postageData).then((res) => {
|
sel.queryAdressPostage(postageData).then(res => {
|
||||||
this.$set(this.addressForm, 'newPostage', res.data.postage)
|
this.$set(this.addressForm, 'newPostage', res.data.postage)
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getAddressList() {
|
getAddressList() {
|
||||||
sel.addressList({}).then((res) => {
|
sel.addressList({}).then(res => {
|
||||||
this.addressList = res.data
|
this.addressList = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -304,17 +289,20 @@ export default {
|
||||||
this.address = name
|
this.address = name
|
||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
this.$refs.uForm.validate().then((res) => {
|
this.$refs.uForm.validate().then(res => {
|
||||||
sel.saveSelfAddress(this.addressForm).then((res) => {
|
sel.saveSelfAddress(this.addressForm).then(res => {
|
||||||
if (res.code == '200') {
|
if (res.code == '200') {
|
||||||
// uni.showToast({
|
uni.showToast({
|
||||||
// title: res.msg,
|
title: '修改成功',
|
||||||
// icon: 'none',
|
icon: 'none',
|
||||||
// success() {
|
success() {
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 600)
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
// }
|
// this.successShow = true
|
||||||
// })
|
|
||||||
this.successShow = true
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -438,7 +426,7 @@ export default {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -482,7 +470,7 @@ page {
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
border: none;
|
border: none;
|
||||||
height: 92rpx;
|
height: 92rpx;
|
||||||
line-height: 92rpx;
|
line-height: 92rpx;
|
||||||
|
@ -528,7 +516,7 @@ page {
|
||||||
}
|
}
|
||||||
|
|
||||||
.poupBtn {
|
.poupBtn {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 39rpx;
|
border-radius: 39rpx;
|
||||||
padding: 26rpx 0;
|
padding: 26rpx 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -3,9 +3,14 @@
|
||||||
<view class="con_top">
|
<view class="con_top">
|
||||||
<view class="seach">
|
<view class="seach">
|
||||||
<view class="seach_i">
|
<view class="seach_i">
|
||||||
<u--input prefixIcon="search" v-model="queryParams.orderCode"
|
<u--input
|
||||||
prefixIconStyle="font-size: 22px;color: #909399;height:32px" border="none" placeholder="请输入订单编号"
|
prefixIcon="search"
|
||||||
suffixIconStyle="color: #909399"></u--input>
|
v-model="queryParams.orderCode"
|
||||||
|
prefixIconStyle="font-size: 22px;color: #909399;height:32px"
|
||||||
|
border="none"
|
||||||
|
placeholder="请输入订单编号"
|
||||||
|
suffixIconStyle="color: #909399"
|
||||||
|
></u--input>
|
||||||
</view>
|
</view>
|
||||||
<view class="seatch_r" @click="getDataList">
|
<view class="seatch_r" @click="getDataList">
|
||||||
<u-icon name="search" size="22" color="#fff"></u-icon>
|
<u-icon name="search" size="22" color="#fff"></u-icon>
|
||||||
|
@ -18,7 +23,9 @@
|
||||||
<view class="list_flex">
|
<view class="list_flex">
|
||||||
<view class="top_flex">
|
<view class="top_flex">
|
||||||
<view class="zc_btn">{{ item.orderTypeVal }}</view>
|
<view class="zc_btn">{{ item.orderTypeVal }}</view>
|
||||||
<view class="code_text">{{'订单编号'}}:{{item.orderCode}}</view>
|
<view class="code_text"
|
||||||
|
>{{ '订单编号' }}:{{ item.orderCode }}</view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view class="top_status">
|
<view class="top_status">
|
||||||
{{ item.orderStatusVal }}
|
{{ item.orderStatusVal }}
|
||||||
|
@ -27,14 +34,20 @@
|
||||||
<view class="list_flex">
|
<view class="list_flex">
|
||||||
<view class="center_price">¥{{ item.orderAmount }}</view>
|
<view class="center_price">¥{{ item.orderAmount }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list_flex" style="margin-top: 10rpx;">
|
<!-- <view class="list_flex" style="margin-top: 10rpx">
|
||||||
<view class="top_flex">
|
<view class="top_flex">
|
||||||
<view class="code_text">{{'审核状态'}}:{{item.approveStatusVal}}</view>
|
<view class="code_text"
|
||||||
|
>{{ '审核状态' }}:{{ item.approveStatusVal }}</view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="item.approveStatus==3" class="top_status" @click="findWhy(item)">
|
<view
|
||||||
|
v-if="item.approveStatus == 3"
|
||||||
|
class="top_status"
|
||||||
|
@click="findWhy(item)"
|
||||||
|
>
|
||||||
{{ '驳回原因' }}
|
{{ '驳回原因' }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="btm_time">
|
<view class="btm_time">
|
||||||
{{ '创建时间' }}:{{ item.creationTime }}
|
{{ '创建时间' }}:{{ item.creationTime }}
|
||||||
</view>
|
</view>
|
||||||
|
@ -54,27 +67,32 @@
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<view class="theListbox" style="background-color: #f2f2f2;">
|
<view class="theListbox" style="background-color: #f2f2f2">
|
||||||
<u-empty mode="list">
|
<u-empty mode="list"> </u-empty>
|
||||||
</u-empty>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<u-popup :show="rejectShow" closeable mode="center" round='10' @close="rejectShow=false">\
|
<u-popup
|
||||||
|
:show="rejectShow"
|
||||||
|
closeable
|
||||||
|
mode="center"
|
||||||
|
round="10"
|
||||||
|
@close="rejectShow = false"
|
||||||
|
>\
|
||||||
<view class="popview">
|
<view class="popview">
|
||||||
<view class="email_neir " @click="clickhtml(rejectContent)" v-html="rejectContent">
|
<view
|
||||||
|
class="email_neir"
|
||||||
|
@click="clickhtml(rejectContent)"
|
||||||
|
v-html="rejectContent"
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</u-popup>
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as sel from '@/config/selfService.js'
|
import * as sel from '@/config/selfService.js'
|
||||||
import {
|
import { formatMsToDate } from '@/util/index'
|
||||||
formatMsToDate
|
|
||||||
} from '@/util/index'
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -85,21 +103,18 @@
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 50,
|
pageSize: 50,
|
||||||
orderCode: "",
|
orderCode: '',
|
||||||
},
|
},
|
||||||
orderLists: [],
|
orderLists: [],
|
||||||
timeIndex: 0,
|
timeIndex: 0,
|
||||||
rejectShow: false,
|
rejectShow: false,
|
||||||
rejectContent: ""
|
rejectContent: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {},
|
||||||
|
onShow() {
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
onShow() {},
|
|
||||||
methods: {
|
methods: {
|
||||||
findWhy(item) {
|
findWhy(item) {
|
||||||
this.rejectContent = item.rejectMsg
|
this.rejectContent = item.rejectMsg
|
||||||
|
@ -108,55 +123,77 @@
|
||||||
clickhtml(content) {
|
clickhtml(content) {
|
||||||
this.rejectShow = false
|
this.rejectShow = false
|
||||||
// 在组件挂载后,调用handleImageClick方法预览第一张图片
|
// 在组件挂载后,调用handleImageClick方法预览第一张图片
|
||||||
const parser = new DOMParser();
|
const parser = new DOMParser()
|
||||||
const doc = parser.parseFromString(content, "text/html");
|
const doc = parser.parseFromString(content, 'text/html')
|
||||||
const imgElements = doc.getElementsByTagName("img");
|
const imgElements = doc.getElementsByTagName('img')
|
||||||
if (imgElements.length > 0) {
|
if (imgElements.length > 0) {
|
||||||
const firstImageUrl = imgElements[0].src;
|
const firstImageUrl = imgElements[0].src
|
||||||
this.handleImageClick(firstImageUrl, content);
|
this.handleImageClick(firstImageUrl, content)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleImageClick(url, content) {
|
handleImageClick(url, content) {
|
||||||
uni.previewImage({
|
uni.previewImage({
|
||||||
urls: this.getUrls(content),
|
urls: this.getUrls(content),
|
||||||
current: url
|
current: url,
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
getUrls(content) {
|
getUrls(content) {
|
||||||
const parser = new DOMParser();
|
const parser = new DOMParser()
|
||||||
const doc = parser.parseFromString(content, "text/html");
|
const doc = parser.parseFromString(content, 'text/html')
|
||||||
const imgElements = doc.getElementsByTagName("img");
|
const imgElements = doc.getElementsByTagName('img')
|
||||||
const urls = [];
|
const urls = []
|
||||||
for (let i = 0; i < imgElements.length; i++) {
|
for (let i = 0; i < imgElements.length; i++) {
|
||||||
urls.push(imgElements[i].src);
|
urls.push(imgElements[i].src)
|
||||||
}
|
}
|
||||||
return urls;
|
return urls
|
||||||
},
|
},
|
||||||
getDataList() {
|
getDataList() {
|
||||||
|
// 显示全局loading
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask: true,
|
||||||
|
})
|
||||||
|
|
||||||
sel
|
sel
|
||||||
.getOderSelfList(this.queryParams)
|
.getOderSelfList(this.queryParams)
|
||||||
.then((res) => {
|
.then(res => {
|
||||||
this.orderLists = res.rows
|
this.orderLists = res.rows
|
||||||
})
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.error('获取订单列表失败:', err)
|
||||||
|
// 可以添加错误提示
|
||||||
|
uni.showToast({
|
||||||
|
title: '获取数据失败',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
// 确保无论成功还是失败都隐藏loading
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
updateAdress(item) {
|
updateAdress(item) {
|
||||||
let params = item
|
let params = item
|
||||||
console.log('%c [ params ]-144', 'font-size:13px; background:#f37aa1; color:#ffbee5;', params)
|
console.log(
|
||||||
|
'%c [ params ]-144',
|
||||||
|
'font-size:13px; background:#f37aa1; color:#ffbee5;',
|
||||||
|
params
|
||||||
|
)
|
||||||
// let queryString = Object.keys(params).map(key =>
|
// let queryString = Object.keys(params).map(key =>
|
||||||
// `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`).join('&')
|
// `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`).join('&')
|
||||||
// let paramsString = encodeURIComponent(JSON.stringify(params))
|
// let paramsString = encodeURIComponent(JSON.stringify(params))
|
||||||
|
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/selfService/updateAdress/addAdress?obj=' + JSON.stringify(params),
|
url:
|
||||||
|
'/pages/selfService/updateAdress/addAdress?obj=' +
|
||||||
|
JSON.stringify(params),
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
::v-deep img {
|
::v-deep img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
|
@ -172,8 +209,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.con_top {
|
.con_top {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
@ -202,7 +237,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.seatch_r {
|
.seatch_r {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
padding: 8rpx;
|
padding: 8rpx;
|
||||||
margin-left: 24rpx;
|
margin-left: 24rpx;
|
||||||
|
@ -212,9 +247,8 @@
|
||||||
.theListbox {
|
.theListbox {
|
||||||
padding-top: 90rpx;
|
padding-top: 90rpx;
|
||||||
|
|
||||||
|
|
||||||
.orderList_i {
|
.orderList_i {
|
||||||
background-color: #FFFFFF;
|
background-color: #ffffff;
|
||||||
padding: 22rpx;
|
padding: 22rpx;
|
||||||
margin-top: 22rpx;
|
margin-top: 22rpx;
|
||||||
|
|
||||||
|
@ -231,8 +265,8 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: #3D3D3D;
|
background: #3d3d3d;
|
||||||
color: #FFFFFF;
|
color: #ffffff;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
padding: 7rpx 23rpx;
|
padding: 7rpx 23rpx;
|
||||||
margin-right: 8rpx;
|
margin-right: 8rpx;
|
||||||
|
@ -253,7 +287,7 @@
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #69A35B;
|
color: #69a35b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.center_left {
|
.center_left {
|
||||||
|
@ -291,11 +325,8 @@
|
||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.center_price {
|
.center_price {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
|
@ -310,7 +341,7 @@
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
border-bottom: 1rpx solid #EEEEEE;
|
border-bottom: 1rpx solid #eeeeee;
|
||||||
}
|
}
|
||||||
|
|
||||||
.list_btn {
|
.list_btn {
|
||||||
|
@ -324,7 +355,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
padding: 15rpx 28rpx;
|
padding: 15rpx 28rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
@ -333,8 +364,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.list_top {
|
.list_top {
|
||||||
// background-color: pink;
|
// background-color: pink;
|
||||||
padding: 30rpx 0;
|
padding: 30rpx 0;
|
||||||
|
@ -354,7 +383,6 @@
|
||||||
color: #999999;
|
color: #999999;
|
||||||
margin: 18rpx 0;
|
margin: 18rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,144 +1,227 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="main">
|
<view class="main">
|
||||||
<view class="contents">
|
<view class="contents">
|
||||||
|
|
||||||
<u-form :model="dataForm" labelWidth="auto" ref="uForm">
|
<u-form :model="dataForm" labelWidth="auto" ref="uForm">
|
||||||
|
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'会员姓名'" label-width="200rpx" prop="memberName">
|
<u-form-item
|
||||||
<u-input v-model="dataForm.memberName" disabled placeholder-class="place-class"
|
:label="'会员姓名'"
|
||||||
class="border-color" placeholder="请输入收货人姓名" />
|
label-width="200rpx"
|
||||||
|
prop="memberName"
|
||||||
|
>
|
||||||
|
<u-input
|
||||||
|
v-model="dataForm.memberName"
|
||||||
|
disabled
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入收货人姓名"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'联系方式'" label-width="200rpx" prop="phone">
|
<u-form-item :label="'联系方式'" label-width="200rpx" prop="phone">
|
||||||
<u-input v-model="dataForm.phone" disabled placeholder-class="place-class" class="border-color"
|
<u-input
|
||||||
placeholder="请输入联系方式" />
|
v-model="dataForm.phone"
|
||||||
|
disabled
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入联系方式"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item label="新会员姓名" label-width="200rpx" prop="changeMemberName">
|
<u-form-item
|
||||||
<u-input v-model="dataForm.changeMemberName" placeholder-class="place-class"
|
label="新会员姓名"
|
||||||
class="border-color" placeholder="请输入收货人姓名" />
|
label-width="200rpx"
|
||||||
|
prop="changeMemberName"
|
||||||
|
>
|
||||||
|
<u-input
|
||||||
|
v-model="dataForm.changeMemberName"
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入收货人姓名"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item label="新联系方式" label-width="200rpx" prop="changePhone">
|
<u-form-item
|
||||||
<u-input v-model="dataForm.changePhone" placeholder-class="place-class" class="border-color"
|
label="新联系方式"
|
||||||
placeholder="请输入联系方式" />
|
label-width="200rpx"
|
||||||
|
prop="changePhone"
|
||||||
|
>
|
||||||
|
<u-input
|
||||||
|
v-model="dataForm.changePhone"
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入联系方式"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item label-width="200rpx" :label="'验证码'" prop="verificationCode" borderBottom ref="item1">
|
<u-form-item
|
||||||
<u--input v-model="dataForm.verificationCode" placeholder="请输入" border="none"></u--input>
|
label-width="200rpx"
|
||||||
<u-button @tap='getCode' class="getcodes" type="primary" shape="circle" :text="tips"
|
:label="'验证码'"
|
||||||
color="#2FBC42"></u-button>
|
prop="verificationCode"
|
||||||
|
borderBottom
|
||||||
|
ref="item1"
|
||||||
|
>
|
||||||
|
<u--input
|
||||||
|
v-model="dataForm.verificationCode"
|
||||||
|
placeholder="请输入"
|
||||||
|
border="none"
|
||||||
|
></u--input>
|
||||||
|
<u-button
|
||||||
|
@tap="getCode"
|
||||||
|
class="getcodes"
|
||||||
|
type="primary"
|
||||||
|
shape="circle"
|
||||||
|
:text="tips"
|
||||||
|
color="#2FBC42"
|
||||||
|
></u-button>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item label="情况说明" class="label-style" label-width="200rpx" prop="description">
|
<u-form-item
|
||||||
<u-textarea v-model="dataForm.description" placeholder-class="place-class" class="border-color"
|
label="情况说明"
|
||||||
placeholder="请输入情况说明" />
|
class="label-style"
|
||||||
|
label-width="200rpx"
|
||||||
|
prop="description"
|
||||||
|
>
|
||||||
|
<u-textarea
|
||||||
|
v-model="dataForm.description"
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入情况说明"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class" style="display: flex; align-items: center;justify-content: space-between;">
|
<view
|
||||||
<u-form-item labelPosition='top' required label-width="200rpx" label="原证件(正面)">
|
class="view-class"
|
||||||
<uploadImg :ifsfz='true' @imageUploaded='imageUploaded3' prop="idFront"
|
style="
|
||||||
style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard1.png`"
|
display: flex;
|
||||||
v-model="dataForm.idFront"></uploadImg>
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<u-form-item
|
||||||
|
labelPosition="top"
|
||||||
|
required
|
||||||
|
label-width="200rpx"
|
||||||
|
label="原证件(正面)"
|
||||||
|
>
|
||||||
|
<uploadImg
|
||||||
|
:ifsfz="true"
|
||||||
|
@imageUploaded="imageUploaded3"
|
||||||
|
prop="idFront"
|
||||||
|
style="margin-right: 30rpx"
|
||||||
|
:bgimg="`../../../static/images/idCard1.png`"
|
||||||
|
v-model="dataForm.idFront"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item labelPosition='top' required label-width="200rpx" label="原证件(反面)">
|
<u-form-item
|
||||||
<uploadImg :ifsfz='true' @imageUploaded='imageUploaded4' prop="idBack"
|
labelPosition="top"
|
||||||
style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard2.png`"
|
required
|
||||||
v-model="dataForm.idBack"></uploadImg>
|
label-width="200rpx"
|
||||||
|
label="原证件(反面)"
|
||||||
|
>
|
||||||
|
<uploadImg
|
||||||
|
:ifsfz="true"
|
||||||
|
@imageUploaded="imageUploaded4"
|
||||||
|
prop="idBack"
|
||||||
|
style="margin-right: 30rpx"
|
||||||
|
:bgimg="`../../../static/images/idCard2.png`"
|
||||||
|
v-model="dataForm.idBack"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<!-- <u-form-item labelPosition='top' label="原会员证件照片" prop="remark">
|
<!-- <u-form-item labelPosition='top' label="原会员证件照片" prop="remark">
|
||||||
<image class="idImages" style="margin-right: 20rpx;" :src="dataForm.idFront" mode=""></image>
|
<image class="idImages" style="margin-right: 20rpx;" :src="dataForm.idFront" mode=""></image>
|
||||||
<image class="idImages" :src="dataForm.idBack" mode=""></image>
|
<image class="idImages" :src="dataForm.idBack" mode=""></image>
|
||||||
</u-form-item> -->
|
</u-form-item> -->
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class" style="display: flex; align-items: center;justify-content: space-between;">
|
<view
|
||||||
|
class="view-class"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- <u-form-item labelPosition='top' label="新会员证件照片" prop="changeIdFront">
|
<!-- <u-form-item labelPosition='top' label="新会员证件照片" prop="changeIdFront">
|
||||||
<uploadImg style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard1.png`"
|
<uploadImg style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard1.png`"
|
||||||
v-model="dataForm.changeIdFront"></uploadImg>
|
v-model="dataForm.changeIdFront"></uploadImg>
|
||||||
<uploadImg :bgimg="`../../../static/images/idCard2.png`" v-model="dataForm.changeIdBack">
|
<uploadImg :bgimg="`../../../static/images/idCard2.png`" v-model="dataForm.changeIdBack">
|
||||||
</uploadImg>
|
</uploadImg>
|
||||||
</u-form-item> -->
|
</u-form-item> -->
|
||||||
<u-form-item labelPosition='top' required label-width="180rpx" label="证件(正面)">
|
<u-form-item
|
||||||
<uploadImg :ifsfz='true' @imageUploaded='imageUploaded1' prop="changeIdFront"
|
labelPosition="top"
|
||||||
style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard1.png`"
|
required
|
||||||
v-model="dataForm.changeIdFront"></uploadImg>
|
label-width="180rpx"
|
||||||
|
label="证件(正面)"
|
||||||
|
>
|
||||||
|
<uploadImg
|
||||||
|
:ifsfz="true"
|
||||||
|
@imageUploaded="imageUploaded1"
|
||||||
|
prop="changeIdFront"
|
||||||
|
style="margin-right: 30rpx"
|
||||||
|
:bgimg="`../../../static/images/idCard1.png`"
|
||||||
|
v-model="dataForm.changeIdFront"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item labelPosition='top' required label-width="180rpx" label="证件(反面)">
|
<u-form-item
|
||||||
<uploadImg :ifsfz='true' @imageUploaded='imageUploaded2' prop="changeIdBack"
|
labelPosition="top"
|
||||||
style="margin-right: 30rpx;" :bgimg="`../../../static/images/idCard2.png`"
|
required
|
||||||
v-model="dataForm.changeIdBack"></uploadImg>
|
label-width="180rpx"
|
||||||
|
label="证件(反面)"
|
||||||
|
>
|
||||||
|
<uploadImg
|
||||||
|
:ifsfz="true"
|
||||||
|
@imageUploaded="imageUploaded2"
|
||||||
|
prop="changeIdBack"
|
||||||
|
style="margin-right: 30rpx"
|
||||||
|
:bgimg="`../../../static/images/idCard2.png`"
|
||||||
|
v-model="dataForm.changeIdBack"
|
||||||
|
></uploadImg>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<view class="view-class">
|
<!-- <view class="view-class">
|
||||||
<u-form-item label="业务扣费(¥)" label-width="200rpx" prop="amount">
|
<u-form-item label="业务扣费(¥)" label-width="200rpx" prop="amount">
|
||||||
<u-input v-model="dataForm.amount" disabled placeholder-class="place-class" class="border-color"
|
<u-input v-model="dataForm.amount" disabled placeholder-class="place-class" class="border-color"
|
||||||
placeholder="请输入" />
|
placeholder="请输入" />
|
||||||
|
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="view-class">
|
<view class="view-class">
|
||||||
<u-form-item :label="'备注'" label-width="200rpx" prop="remark">
|
<u-form-item :label="'备注'" label-width="200rpx" prop="remark">
|
||||||
<u-input v-model="dataForm.remark" placeholder-class="place-class" class="border-color"
|
<u-input
|
||||||
placeholder="请输入" />
|
v-model="dataForm.remark"
|
||||||
|
placeholder-class="place-class"
|
||||||
|
class="border-color"
|
||||||
|
placeholder="请输入"
|
||||||
|
/>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</view>
|
</view>
|
||||||
<u-code :seconds="seconds" @end="end" @start="start" ref="uCode" @change="codeChange"></u-code>
|
<u-code
|
||||||
|
:seconds="seconds"
|
||||||
|
@end="end"
|
||||||
|
@start="start"
|
||||||
|
ref="uCode"
|
||||||
|
@change="codeChange"
|
||||||
|
></u-code>
|
||||||
</u-form>
|
</u-form>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<u-button type="success" shape="circle" class="btn" @click="submit">{{'确定'}}</u-button>
|
<u-button type="success" shape="circle" class="btn" @click="submit">{{
|
||||||
<u-popup class="thePopup" :show="successShow" mode="center" @close="successShow = false">
|
'确定'
|
||||||
<view class="successPopup">
|
}}</u-button>
|
||||||
|
|
||||||
<view class="poupTop">
|
|
||||||
<view class="theiconbox">
|
|
||||||
<u-icon name="checkbox-mark" color="#ffffff" size="26"></u-icon>
|
|
||||||
</view>
|
|
||||||
<view class="theicontitle">
|
|
||||||
提交成功
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="poupContent">
|
|
||||||
我们将在24小时内完成业务受理!具体进度将会以
|
|
||||||
短信通知形式发送您,请注意查收!</br>
|
|
||||||
<!-- 售后电话:400-111-2818 -->
|
|
||||||
</view>
|
|
||||||
<view class="poupBtn" @click="sureBtn">
|
|
||||||
确定
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</u-popup>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as sel from '@/config/selfService.js'
|
import * as sel from '@/config/selfService.js'
|
||||||
import * as ban from "@/config/balance.js"
|
import * as ban from '@/config/balance.js'
|
||||||
import uploadImg from '@/components/uploadImg.vue'
|
import uploadImg from '@/components/uploadImg.vue'
|
||||||
import {
|
import { setToken } from '@/config/auth.js'
|
||||||
setToken
|
|
||||||
} from '@/config/auth.js'
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
uploadImg
|
uploadImg,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -148,75 +231,85 @@
|
||||||
defaultCode: [],
|
defaultCode: [],
|
||||||
urls: '/member/api/maker-space/update-file',
|
urls: '/member/api/maker-space/update-file',
|
||||||
dataForm: {
|
dataForm: {
|
||||||
memberName: "",
|
memberName: '',
|
||||||
phone: "",
|
phone: '',
|
||||||
changeMemberName: "",
|
changeMemberName: '',
|
||||||
changePhone: "",
|
changePhone: '',
|
||||||
description: "",
|
description: '',
|
||||||
amount: "",
|
amount: '',
|
||||||
remark: "",
|
remark: '',
|
||||||
idFront:"",
|
idFront: '',
|
||||||
idBack:"",
|
idBack: '',
|
||||||
changeIdFront: "",
|
changeIdFront: '',
|
||||||
changeIdBack: ""
|
changeIdBack: '',
|
||||||
|
|
||||||
},
|
},
|
||||||
choiceValue: "",
|
choiceValue: '',
|
||||||
successShow: false,
|
successShow: false,
|
||||||
addressList: [],
|
addressList: [],
|
||||||
rules: {
|
rules: {
|
||||||
changeMemberName: [{
|
changeMemberName: [
|
||||||
|
{
|
||||||
// 必填项
|
// 必填项
|
||||||
required: true,
|
required: true,
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
// 提示内容(会出现在u-form-item内的底部)
|
||||||
message: "姓名不能为空",
|
message: '姓名不能为空',
|
||||||
}],
|
|
||||||
|
|
||||||
changeIdFront: [{
|
|
||||||
// 必填项
|
|
||||||
required: true,
|
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
|
||||||
message: "证件照片不能为空",
|
|
||||||
}],
|
|
||||||
changeIdBack: [{
|
|
||||||
// 必填项
|
|
||||||
required: true,
|
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
|
||||||
message: "证件照片不能为空",
|
|
||||||
}],
|
|
||||||
description: [{
|
|
||||||
// 必填项
|
|
||||||
required: true,
|
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
|
||||||
message: "情况说明不能为空",
|
|
||||||
|
|
||||||
trigger: ["change"],
|
|
||||||
}],
|
|
||||||
changePhone: [{
|
|
||||||
required: true,
|
|
||||||
message: "请输入手机号",
|
|
||||||
trigger: ["blur"],
|
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// validator: (rule, value, callback) => {
|
|
||||||
// return this.$u.test.mobile(value);
|
|
||||||
// },
|
|
||||||
// message: "手机号格式不正确",
|
|
||||||
// trigger: ["blur"],
|
|
||||||
// },
|
|
||||||
],
|
],
|
||||||
idFront: [{
|
|
||||||
|
changeIdFront: [
|
||||||
|
{
|
||||||
// 必填项
|
// 必填项
|
||||||
required: true,
|
required: true,
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
// 提示内容(会出现在u-form-item内的底部)
|
||||||
message: "原证件照片不能为空",
|
message: '证件照片不能为空',
|
||||||
}],
|
},
|
||||||
idBack: [{
|
],
|
||||||
|
changeIdBack: [
|
||||||
|
{
|
||||||
// 必填项
|
// 必填项
|
||||||
required: true,
|
required: true,
|
||||||
// 提示内容(会出现在u-form-item内的底部)
|
// 提示内容(会出现在u-form-item内的底部)
|
||||||
message: "原证件照片不能为空",
|
message: '证件照片不能为空',
|
||||||
}],
|
},
|
||||||
|
],
|
||||||
|
// description: [{
|
||||||
|
// // 必填项
|
||||||
|
// required: true,
|
||||||
|
// // 提示内容(会出现在u-form-item内的底部)
|
||||||
|
// message: "情况说明不能为空",
|
||||||
|
|
||||||
|
// trigger: ["change"],
|
||||||
|
// }],
|
||||||
|
changePhone: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入手机号',
|
||||||
|
trigger: ['blur'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
return this.$u.test.mobile(value)
|
||||||
|
},
|
||||||
|
message: '手机号格式不正确',
|
||||||
|
trigger: ['blur'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
idFront: [
|
||||||
|
{
|
||||||
|
// 必填项
|
||||||
|
required: true,
|
||||||
|
// 提示内容(会出现在u-form-item内的底部)
|
||||||
|
message: '原证件照片不能为空',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
idBack: [
|
||||||
|
{
|
||||||
|
// 必填项
|
||||||
|
required: true,
|
||||||
|
// 提示内容(会出现在u-form-item内的底部)
|
||||||
|
message: '原证件照片不能为空',
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
tips: '',
|
tips: '',
|
||||||
seconds: 60,
|
seconds: 60,
|
||||||
|
@ -224,12 +317,10 @@
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.applyChange()
|
this.applyChange()
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onReady() {
|
onReady() {
|
||||||
this.$refs.uForm.setRules(this.rules);
|
this.$refs.uForm.setRules(this.rules)
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -246,35 +337,36 @@
|
||||||
this.dataForm.idBack = url
|
this.dataForm.idBack = url
|
||||||
},
|
},
|
||||||
applyChange() {
|
applyChange() {
|
||||||
sel.showChangeDomicile().then((res) => {
|
sel.showChangeDomicile().then(res => {
|
||||||
this.dataForm = res.data;
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
});
|
|
||||||
},
|
},
|
||||||
codeChange(text) {
|
codeChange(text) {
|
||||||
this.tips = text;
|
this.tips = text
|
||||||
},
|
},
|
||||||
getCode() {
|
getCode() {
|
||||||
if (this.dataForm.changePhone) {
|
if (this.dataForm.changePhone) {
|
||||||
if (this.$refs.uCode.canGetCode) {
|
if (this.$refs.uCode.canGetCode) {
|
||||||
// 模拟向后端请求验证码
|
// 模拟向后端请求验证码
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '正在获取验证码'
|
title: '正在获取验证码',
|
||||||
})
|
})
|
||||||
ban.getVerification({
|
ban
|
||||||
phone: this.dataForm.changePhone
|
.getVerification({
|
||||||
}).then((res) => {
|
phone: this.dataForm.changePhone,
|
||||||
uni.hideLoading();
|
})
|
||||||
|
.then(res => {
|
||||||
|
uni.hideLoading()
|
||||||
// 这里此提示会被this.start()方法中的提示覆盖
|
// 这里此提示会被this.start()方法中的提示覆盖
|
||||||
uni.$u.toast('验证码已发送');
|
uni.$u.toast('验证码已发送')
|
||||||
// 通知验证码组件内部开始倒计时
|
// 通知验证码组件内部开始倒计时
|
||||||
this.$refs.uCode.start();
|
this.$refs.uCode.start()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
uni.$u.toast('倒计时结束后再发送');
|
uni.$u.toast('倒计时结束后再发送')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.$u.toast("请先输入手机号")
|
uni.$u.toast('请先输入手机号')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -286,17 +378,19 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
submit() {
|
submit() {
|
||||||
this.$refs.uForm.validate().then((res) => {
|
this.$refs.uForm.validate().then(res => {
|
||||||
sel.saveChangeDomicile(this.dataForm).then((res) => {
|
sel.saveChangeDomicile(this.dataForm).then(res => {
|
||||||
if (res.code == '200') {
|
if (res.code == '200') {
|
||||||
// uni.showToast({
|
uni.showToast({
|
||||||
// title: res.msg,
|
title: '修改成功',
|
||||||
// icon: 'none',
|
icon: 'none',
|
||||||
// success() {
|
success() {
|
||||||
|
setTimeout(() => {
|
||||||
// }
|
uni.navigateBack()
|
||||||
// })
|
}, 600)
|
||||||
this.successShow = true
|
},
|
||||||
|
})
|
||||||
|
// this.successShow = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -304,9 +398,6 @@
|
||||||
sureBtn() {
|
sureBtn() {
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -363,7 +454,7 @@
|
||||||
view {
|
view {
|
||||||
width: 36rpx;
|
width: 36rpx;
|
||||||
height: 36rpx;
|
height: 36rpx;
|
||||||
border: 1rpx solid #DDDDDD;
|
border: 1rpx solid #dddddd;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
margin-top: 25rpx;
|
margin-top: 25rpx;
|
||||||
}
|
}
|
||||||
|
@ -387,7 +478,7 @@
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -412,7 +503,6 @@
|
||||||
|
|
||||||
.border-color {
|
.border-color {
|
||||||
border: none;
|
border: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
page {
|
page {
|
||||||
|
@ -426,11 +516,10 @@
|
||||||
width: 316rpx;
|
width: 316rpx;
|
||||||
height: 192rpx;
|
height: 192rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
background-color: #005BAC;
|
background-color: #005bac;
|
||||||
border: none;
|
border: none;
|
||||||
height: 92rpx;
|
height: 92rpx;
|
||||||
line-height: 92rpx;
|
line-height: 92rpx;
|
||||||
|
@ -441,7 +530,7 @@
|
||||||
|
|
||||||
.successPopup {
|
.successPopup {
|
||||||
width: 560rpx;
|
width: 560rpx;
|
||||||
background: #FFFFFF;
|
background: #ffffff;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
padding: 26rpx 60rpx;
|
padding: 26rpx 60rpx;
|
||||||
|
|
||||||
|
@ -476,13 +565,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.poupBtn {
|
.poupBtn {
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
border-radius: 39rpx;
|
border-radius: 39rpx;
|
||||||
padding: 26rpx 0;
|
padding: 26rpx 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: #FFFFFF;
|
color: #ffffff;
|
||||||
margin-top: 70rpx;
|
margin-top: 70rpx;
|
||||||
margin-bottom: 40rpx;
|
margin-bottom: 40rpx;
|
||||||
}
|
}
|
||||||
|
@ -495,7 +584,7 @@
|
||||||
.getcodes {
|
.getcodes {
|
||||||
width: 197rpx;
|
width: 197rpx;
|
||||||
// height: 76rpx;
|
// height: 76rpx;
|
||||||
background: #2FBC42;
|
background: #2fbc42;
|
||||||
border-radius: 38rpx;
|
border-radius: 38rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,107 +1,127 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view class="tab">
|
<!-- <view class="tab">
|
||||||
<view v-for="(item, index) in tabList" :key="index" @click="isTab = item.value" class="tab_i"
|
<view
|
||||||
:class="[isTab===item.value?'heng':'heng1']">
|
v-for="(item, index) in tabList"
|
||||||
|
:key="index"
|
||||||
|
@click="isTab = item.value"
|
||||||
|
class="tab_i"
|
||||||
|
:class="[isTab === item.value ? 'heng' : 'heng1']"
|
||||||
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
|
|
||||||
<template v-if="tableData.length > 0">
|
<template v-if="tableData.length > 0">
|
||||||
<view class="thecontent" v-for='(item,index) in tableData' :key="index">
|
<view class="thecontent" v-for="(item, index) in tableData" :key="index">
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'会员编号'}}</view>
|
<view class="line1">{{ '会员编号' }}</view>
|
||||||
<view class='line2'>{{item.memberCode}}</view>
|
<view class="line2">{{ item.memberCode }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'变更前会员姓名'}}</view>
|
<view class="line1">{{ '变更前会员姓名' }}</view>
|
||||||
<view class='line2'>{{item.memberName}}</view>
|
<view class="line2">{{ item.memberName }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'变更前联系方式'}}</view>
|
<view class="line1">{{ '变更前联系方式' }}</view>
|
||||||
<view class='line2'>{{item.phone}}</view>
|
<view class="line2">{{ item.phone }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box bgrightBox" v-if="queryParams.assessType == 0">
|
<view class="line_box bgrightBox" v-if="queryParams.assessType == 0">
|
||||||
|
<view class=""> </view>
|
||||||
<view class="">
|
<view class="">
|
||||||
|
<u-button
|
||||||
</view>
|
shape="circle"
|
||||||
<view class="">
|
color="#005BAC"
|
||||||
<u-button shape="circle" color="#005BAC" size="small" :text="'申请变更'"
|
size="small"
|
||||||
@click="updateDomicile(item)"></u-button>
|
:text="'申请变更'"
|
||||||
|
@click="updateDomicile(item)"
|
||||||
|
></u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<template v-if="queryParams.assessType == 1">
|
<template v-if="queryParams.assessType == 1">
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'变更后会员姓名'}}</view>
|
<view class="line1">{{ '变更后会员姓名' }}</view>
|
||||||
<view class='line3'>{{item.changeMemberName}}</view>
|
<view class="line3">{{ item.changeMemberName }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'变更后联系方式'}}</view>
|
<view class="line1">{{ '变更后联系方式' }}</view>
|
||||||
<view class='line3'>{{item.changePhone}}</view>
|
<view class="line3">{{ item.changePhone }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<!-- <view class="line_box">
|
||||||
<view class='line1'>{{'业务扣费'}}(¥)</view>
|
<view class='line1'>{{'业务扣费'}}(¥)</view>
|
||||||
<view class='line3'>{{item.amount}}</view>
|
<view class='line3'>{{item.amount}}</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="line_box">
|
||||||
|
<view class="line1">{{ '申请时间' }}</view>
|
||||||
|
<view class="line3">{{ item.creationTime }}</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="line_box">
|
||||||
|
<view class="line1">{{ '审核时间' }}</view>
|
||||||
|
<view class="line3">{{ item.approveTime }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'申请时间'}}</view>
|
<view class="line1">{{ '审核状态' }}</view>
|
||||||
<view class='line3'>{{item.creationTime}}</view>
|
<view class="line3">{{ item.approveStatusVal }}</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="line_box">
|
<view class="line_box">
|
||||||
<view class='line1'>{{'审核时间'}}</view>
|
<view class="line1">{{ '备注' }}</view>
|
||||||
<view class='line3'>{{item.approveTime}}</view>
|
<view class="line3">{{ item.remark }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line_box">
|
<!-- <view class="list_btn" v-if="item.approveStatus == 3">
|
||||||
<view class='line1'>{{'审核状态'}}</view>
|
|
||||||
<view class='line3'>{{item.approveStatusVal}}</view>
|
|
||||||
</view>
|
|
||||||
<view class="line_box">
|
|
||||||
<view class='line1'>{{'备注'}}</view>
|
|
||||||
<view class='line3'>{{item.remark}}</view>
|
|
||||||
</view>
|
|
||||||
<view class="list_btn" v-if="item.approveStatus==3">
|
|
||||||
<view class="sub_btn" @click="findWhy(item)">
|
<view class="sub_btn" @click="findWhy(item)">
|
||||||
{{ '驳回原因' }}
|
{{ '驳回原因' }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<u-empty v-else mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
|
<u-empty
|
||||||
|
v-else
|
||||||
|
mode="list"
|
||||||
|
icon="http://cdn.uviewui.com/uview/empty/list.png"
|
||||||
|
>
|
||||||
</u-empty>
|
</u-empty>
|
||||||
<u-popup :show="rejectShow" closeable mode="center" round='10' @close="rejectShow=false">\
|
<u-popup
|
||||||
|
:show="rejectShow"
|
||||||
|
closeable
|
||||||
|
mode="center"
|
||||||
|
round="10"
|
||||||
|
@close="rejectShow = false"
|
||||||
|
>\
|
||||||
<view class="popview">
|
<view class="popview">
|
||||||
<view class="email_neir " @click="clickhtml(rejectContent)" v-html="rejectContent">
|
<view
|
||||||
|
class="email_neir"
|
||||||
|
@click="clickhtml(rejectContent)"
|
||||||
|
v-html="rejectContent"
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</u-popup>
|
</u-popup>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as sel from "@/config/selfService.js"
|
import * as sel from '@/config/selfService.js'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tabList: [{
|
tabList: [
|
||||||
|
{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: '可申请信息'
|
label: '可变更信息',
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: '已申请信息'
|
label: '变更记录',
|
||||||
}],
|
},
|
||||||
|
],
|
||||||
isTab: 0,
|
isTab: 0,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
assessType: 0,
|
assessType: 0,
|
||||||
},
|
},
|
||||||
tableData: [],
|
tableData: [],
|
||||||
rejectShow: false,
|
rejectShow: false,
|
||||||
rejectContent: ""
|
rejectContent: '',
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -111,9 +131,7 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
findWhy(item) {
|
findWhy(item) {
|
||||||
|
@ -123,49 +141,49 @@
|
||||||
clickhtml(content) {
|
clickhtml(content) {
|
||||||
this.rejectShow = false
|
this.rejectShow = false
|
||||||
// 在组件挂载后,调用handleImageClick方法预览第一张图片
|
// 在组件挂载后,调用handleImageClick方法预览第一张图片
|
||||||
const parser = new DOMParser();
|
const parser = new DOMParser()
|
||||||
const doc = parser.parseFromString(content, "text/html");
|
const doc = parser.parseFromString(content, 'text/html')
|
||||||
const imgElements = doc.getElementsByTagName("img");
|
const imgElements = doc.getElementsByTagName('img')
|
||||||
if (imgElements.length > 0) {
|
if (imgElements.length > 0) {
|
||||||
const firstImageUrl = imgElements[0].src;
|
const firstImageUrl = imgElements[0].src
|
||||||
this.handleImageClick(firstImageUrl, content);
|
this.handleImageClick(firstImageUrl, content)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleImageClick(url, content) {
|
handleImageClick(url, content) {
|
||||||
uni.previewImage({
|
uni.previewImage({
|
||||||
urls: this.getUrls(content),
|
urls: this.getUrls(content),
|
||||||
current: url
|
current: url,
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
getUrls(content) {
|
getUrls(content) {
|
||||||
const parser = new DOMParser();
|
const parser = new DOMParser()
|
||||||
const doc = parser.parseFromString(content, "text/html");
|
const doc = parser.parseFromString(content, 'text/html')
|
||||||
const imgElements = doc.getElementsByTagName("img");
|
const imgElements = doc.getElementsByTagName('img')
|
||||||
const urls = [];
|
const urls = []
|
||||||
for (let i = 0; i < imgElements.length; i++) {
|
for (let i = 0; i < imgElements.length; i++) {
|
||||||
urls.push(imgElements[i].src);
|
urls.push(imgElements[i].src)
|
||||||
}
|
}
|
||||||
return urls;
|
return urls
|
||||||
},
|
},
|
||||||
updateDomicile(item) {
|
updateDomicile(item) {
|
||||||
if (this.queryParams.assessType == 0) {
|
if (this.queryParams.assessType == 0) {
|
||||||
item.assessType = this.queryParams.assessType
|
item.assessType = this.queryParams.assessType
|
||||||
let params = item
|
let params = item
|
||||||
let queryString = Object.keys(params).map(key =>
|
let queryString = Object.keys(params)
|
||||||
`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`).join('&')
|
.map(
|
||||||
|
key =>
|
||||||
|
`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`
|
||||||
|
)
|
||||||
|
.join('&')
|
||||||
// let paramsString = encodeURIComponent(JSON.stringify(params))
|
// let paramsString = encodeURIComponent(JSON.stringify(params))
|
||||||
|
|
||||||
uni.navigateTo({
|
uni.redirectTo({
|
||||||
url: '/pages/selfService/updateDomicile/addDomicile?' + queryString,
|
url: '/pages/selfService/updateDomicile/addDomicile?' + queryString,
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
getDataList() {
|
getDataList() {
|
||||||
|
|
||||||
if (this.queryParams.assessType == 0) {
|
if (this.queryParams.assessType == 0) {
|
||||||
//可申请
|
//可申请
|
||||||
sel.getApplicationInfoList(this.queryParams).then(res => {
|
sel.getApplicationInfoList(this.queryParams).then(res => {
|
||||||
|
@ -177,10 +195,8 @@
|
||||||
this.tableData = res.data
|
this.tableData = res.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -200,7 +216,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.list_btn {
|
.list_btn {
|
||||||
border-top: 1rpx solid #EEEEEE;
|
border-top: 1rpx solid #eeeeee;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
|
@ -211,7 +227,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
background: #005BAC;
|
background: #005bac;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
padding: 15rpx 28rpx;
|
padding: 15rpx 28rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
@ -220,7 +236,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
background: #F2F2F2;
|
background: #f2f2f2;
|
||||||
padding-bottom: 20rpx;
|
padding-bottom: 20rpx;
|
||||||
|
|
||||||
.tab {
|
.tab {
|
||||||
|
@ -228,7 +244,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
margin-bottom: 6rpx;
|
margin-bottom: 6rpx;
|
||||||
background-color: #FFFFFF;
|
background-color: #ffffff;
|
||||||
|
|
||||||
.tab_i {
|
.tab_i {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -242,26 +258,20 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 24rpx 0;
|
padding: 24rpx 0;
|
||||||
// background-color: pink;
|
// background-color: pink;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.heng {
|
.heng {
|
||||||
border-bottom: 6rpx solid #005BAC;
|
border-bottom: 6rpx solid #005bac;
|
||||||
color: #005BAC;
|
color: #005bac;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.heng {
|
.heng {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.thecontent {
|
.thecontent {
|
||||||
background-color: #FFFFFF;
|
background-color: #ffffff;
|
||||||
// margin-bottom: 21rpx;
|
// margin-bottom: 21rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
padding: 10rpx 23rpx 30rpx 23rpx;
|
padding: 10rpx 23rpx 30rpx 23rpx;
|
||||||
|
@ -300,9 +310,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
border-top: 1rpx solid #eeeeee;
|
border-top: 1rpx solid #eeeeee;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -683,11 +683,16 @@ export default {
|
||||||
storePhone: [
|
storePhone: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入',
|
message: '请输入手机号',
|
||||||
|
trigger: ['blur'],
|
||||||
trigger: 'blur',
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
return this.$u.test.mobile(value)
|
||||||
|
},
|
||||||
|
message: '手机号格式不正确',
|
||||||
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
{ min: 11, message: '请输入正确的手机号',trigger: 'blur', },
|
|
||||||
],
|
],
|
||||||
storeSign: [
|
storeSign: [
|
||||||
{ required: true, message: " ", trigger: "blur" },
|
{ required: true, message: " ", trigger: "blur" },
|
||||||
|
|
|
@ -215,13 +215,13 @@ export default {
|
||||||
message: '请输入手机号',
|
message: '请输入手机号',
|
||||||
trigger: ['blur'],
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
// return this.$u.test.mobile(value);
|
return this.$u.test.mobile(value);
|
||||||
// },
|
},
|
||||||
// message: "手机号格式不正确",
|
message: "手机号格式不正确",
|
||||||
// trigger: ["blur"],
|
trigger: ["blur"],
|
||||||
// },
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
allData: [],
|
allData: [],
|
||||||
|
|
|
@ -9,7 +9,7 @@ function email(value) {
|
||||||
* 验证手机格式
|
* 验证手机格式
|
||||||
*/
|
*/
|
||||||
function mobile(value) {
|
function mobile(value) {
|
||||||
return /^1([3589]\d|4[5-9]|6[1-2,4-7]|7[0-8])\d{8}$/.test(value)
|
return /^1\d{10}$/.test(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue