Kaynağa Gözat

style(client):优化意见反馈的样式

yizhiyang 1 yıl önce
ebeveyn
işleme
e78cbe346e

+ 13 - 31
README.md

@@ -1,39 +1,44 @@
 # 推荐版本
+
 node v14.16.0
 pnpm 7.33.6
 
 ## 跑起来
-安装依赖  pnpm i 
+
+安装依赖 pnpm i
 运行 pnpm run serve
 
 ### 微信小程序打包认证
-1.安装依赖后执行命令 pnpm run dev:mp-weixin
-2.打开微信小程序开发软件 导入dist目录下dev目录下的mp-weixin编译运行
-注:mp-weixin下必须有node-module文件 若无 运行pnpm run build:mp-weixin
+
+1.安装依赖后执行命令 pnpm run dev:mp-weixin 2.打开微信小程序开发软件 导入 dist 目录下 dev 目录下的 mp-weixin 编译运行
+注:mp-weixin 下必须有 node-module 文件 若无 运行 pnpm run build:mp-weixin
 
 pnpm run build
 
 #### 命令行提交代码步骤
+
 git add .
-git commit -m "XXXX"   //XXXX是备注修改的内容
+git commit -m "XXXX" //XXXX 是备注修改的内容
 git push
 
 ##### Customize configuration
+
 See [Configuration Reference](https://cli.vuejs.org/config/).
 
 ### 地址
 
-http://apidoc.chelvc.com   // 接口地址
+http://apidoc.chelvc.com // 接口地址
 http://apidoc.chelvc.com/admin // 后台接口地址
 http://apidoc.chelvc.com/maintain // 小程序接口地址
 https://chelvchengzentao.cpolar.top/zentao/user-login-L3plbnRhby8=.html // 禅道地址
 
 wangzhongqing 564342
 
-http://gogs.chelvc.com/  git
-https://js.design/ti?c=fMpU7uE9B48CA8a/ // ui图
+http://gogs.chelvc.com/ git
+https://js.design/ti?c=fMpU7uE9B48CA8a/ // ui 
 
 ### 结构
+
 ```javascript
 | |   |--------------C端--------------|   | |
 | |----pages(主包)
@@ -117,26 +122,3 @@ https://js.design/ti?c=fMpU7uE9B48CA8a/ // ui图
 | |		|
 | |		|
 ```
-
-
-用户端的 2天
-
-消息详情 调  (参数定不下来) 
-
-分销 我的团队 推广 (一天)
-
-我的钱包 
-
-支付(银行卡)-> 订单状态 去掉(代发货和已发货)售后服务 (暂未开发)
-
-积分(暂未开发)
-
-优惠券(暂未开发)
-
-
-商家端
-
-认证 订单 钱包 意见反馈
-
-店铺↓
-店铺管理 顾客评价 订单核销(扫码)  我的团队

+ 4 - 4
src/PageMine/feedback.vue → src/PageMine/feedback/feedback copy.vue

@@ -49,10 +49,10 @@
           channel: 0
         }
       }
-    },
-	onLoad(options) {
-		console.log(options)
-		this.queryParams.channel = options.channelType
+    },
+	onLoad(options) {
+		console.log(options)
+		this.queryParams.channel = options.channelType
 	},
     methods: {
       // 提交反馈意见

+ 120 - 0
src/PageMine/feedback/index.vue

@@ -0,0 +1,120 @@
+<template>
+  <view>
+    <page-navbar :hasBack="true" bgColor="#fff" title="意见反馈"></page-navbar>
+
+    <view class="feedback">
+      <u--form labelPosition="top" ref="uForm" labelWidth="auto">
+        <base-card marginBottom="24rpx" padding="24rpx">
+          <u-form-item label="姓名" prop="userInfo.name" ref="item1">
+            <u--textarea
+              v-model="model1.userInfo.name"
+              placeholder="请输入内容"
+              count
+              height="105"
+              maxlength="200"
+            />
+          </u-form-item>
+          <u-form-item>
+            <u-upload> </u-upload>
+          </u-form-item>
+        </base-card>
+        <base-card>
+          <u-form-item label="联系方式" prop="userInfo.name" ref="item1">
+            <u--input placeholder="请输入内容" border="surround"></u--input>
+          </u-form-item>
+        </base-card>
+      </u--form>
+    </view>
+    <view class="feedback-bottom">
+      <base-button text="提交"></base-button>
+    </view>
+  </view>
+</template>
+
+<script>
+import { getFeedback } from '@/api/client/mine.js';
+export default {
+  data() {
+    return {
+      model1: {
+        userInfo: {
+          name: '',
+          sex: '',
+        },
+      },
+      value1: '',
+      value: '',
+      queryParams: {
+        title: '',
+        content: '',
+        type: 0,
+        phone: '',
+        channel: 0,
+      },
+    };
+  },
+  onLoad(options) {
+    console.log(options);
+    this.queryParams.channel = options.channelType;
+  },
+  methods: {
+    // 提交反馈意见
+    handlerSubmitFeedback() {
+      if (this.queryParams.title == '') {
+        uni.showToast({
+          title: '请输入标题',
+          icon: 'none',
+        });
+        return;
+      } else if (this.queryParams.content == '') {
+        uni.showToast({
+          title: '评论内容',
+          icon: 'none',
+        });
+        return;
+      } else {
+        getFeedback(this.queryParams).then(res => {
+          if (res.code === 'OK') {
+            uni.showToast({
+              title: '反馈成功',
+              icon: 'none',
+            });
+            setTimeout(() => {
+              uni.navigateBack(-1);
+            }, 1500);
+          } else {
+            uni.showToast({
+              title: res.msg,
+              icon: 'none',
+            });
+            return;
+          }
+        });
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.feedback {
+  padding: 20rpx 32rpx;
+}
+.feedback-bottom {
+  width: 100%;
+  height: 180rpx;
+  bottom: 0;
+  position: fixed;
+  padding: 33rpx 32rpx 0 32rpx;
+  background-color: #fff;
+  box-sizing: border-box;
+}
+::v-deep .u-textarea {
+  background-color: #f9f9f9 !important;
+  border: none !important;
+}
+
+::v-deep .u-textarea__count {
+  background-color: #f9f9f9 !important;
+}
+</style>

+ 1 - 1
src/PageMine/setting/index.vue

@@ -55,7 +55,7 @@ export default {
       LinkList3: [
         {
           title: '意见反馈',
-          url: '/PageMine/feedback?channelType',
+          url: '/PageMine/feedback/index',
         },
         {
           title: '关于车旅程',

+ 399 - 362
src/pageMerchant/tabbar/mine.vue

@@ -1,55 +1,66 @@
 <template>
-	<view class="mine">
-		<!-- 状态栏占位 -->
-		<view class="mine__nav" :style="{ height: 77 + 'px' }" />
-		<view class="mine__person">
-			<view class="mine__person--info">
-				<view @click="$Router.push('/pageMerchant/mineModule/personalInfo')">
-					<image :src="merchantInfo.merchant.logo" style="width: 140rpx; height: 140rpx; border-radius: 50%"
-						v-if="merchantInfo.merchant.logo" />
-					<image src="@/static/QR57a.jpg" style="width: 140rpx; height: 140rpx; border-radius: 50%" v-else />
-				</view>
-				<view class="userName">
-					<view>
-						<view v-if="merchantInfo.storeName"> {{ merchantInfo.storeName }}</view>
-						<view v-else> 微信用户</view>
-					</view>
-					<view>
-						<view v-if=" merchantInfo.mobileNumber" class="text">
-							+86 {{ merchantInfo.mobileNumber }}
-						</view>
-						<!-- <view v-else class="text">
+  <view class="mine">
+    <!-- 状态栏占位 -->
+    <view class="mine__nav" :style="{ height: 77 + 'px' }" />
+    <view class="mine__person">
+      <view class="mine__person--info">
+        <view @click="$Router.push('/pageMerchant/mineModule/personalInfo')">
+          <image
+            :src="merchantInfo.merchant.logo"
+            style="width: 140rpx; height: 140rpx; border-radius: 50%"
+            v-if="merchantInfo.merchant.logo"
+          />
+          <image
+            src="@/static/QR57a.jpg"
+            style="width: 140rpx; height: 140rpx; border-radius: 50%"
+            v-else
+          />
+        </view>
+        <view class="userName">
+          <view>
+            <view v-if="merchantInfo.storeName"> {{ merchantInfo.storeName }}</view>
+            <view v-else> 微信用户</view>
+          </view>
+          <view>
+            <view v-if="merchantInfo.mobileNumber" class="text">
+              +86 {{ merchantInfo.mobileNumber }}
+            </view>
+            <!-- <view v-else class="text">
 							<text style="color: #f6bf3f"> 您当前还未认证,</text>
 							<text @click="$Router.push('/pageMerchant/mineModule/certification/index')">
 								去认证>
 							</text>
 						</view> -->
-					</view>
-				</view>
-				<view class="status" :style="{ 'background-color': getStatusColor(state) }" @click="show = true">
-					<view style="margin-right: 6rpx">{{ stateName }}</view>
-					<u-icon name="play-right-fill" color="#fff" size="12" />
-				</view>
-			</view>
-		</view>
-
-		<view class="mine__main">
-			<view class="mine__main--purse" @click="toMyPurse">
-				<view class="wallet">
-					<view class="wallet--title">我的钱包</view>
-					<view class="wallet--more">
-						<text>查看钱包余额</text>
-						<u-icon name="arrow-right" color="#333" size="14" />
-					</view>
-				</view>
-				<view class="walletInfo">
-					<view v-for="item,index in incomeList" :key="index">
-						<view class="text-title">{{item.title}}</view>
-						<view class="text-data">¥{{item.num}}</view>
-						<!-- <view class="text-info">最高可用</view> -->
-					</view>
-				</view>
-				<!--        <view class="shortcut">
+          </view>
+        </view>
+        <view
+          class="status"
+          :style="{ 'background-color': getStatusColor(state) }"
+          @click="show = true"
+        >
+          <view style="margin-right: 6rpx">{{ stateName }}</view>
+          <u-icon name="play-right-fill" color="#fff" size="12" />
+        </view>
+      </view>
+    </view>
+
+    <view class="mine__main">
+      <view class="mine__main--purse" @click="toMyPurse">
+        <view class="wallet">
+          <view class="wallet--title">我的钱包</view>
+          <view class="wallet--more">
+            <text>查看钱包余额</text>
+            <u-icon name="arrow-right" color="#333" size="14" />
+          </view>
+        </view>
+        <view class="walletInfo">
+          <view v-for="(item, index) in incomeList" :key="index">
+            <view class="text-title">{{ item.title }}</view>
+            <view class="text-data">¥{{ item.num }}</view>
+            <!-- <view class="text-info">最高可用</view> -->
+          </view>
+        </view>
+        <!--        <view class="shortcut">
           <view style="display: flex">
             <view>快捷支付</view>
             <view style="margin: 0 20rpx">|</view>
@@ -57,326 +68,352 @@
           </view>
           <u-icon name="arrow-right" color="#fff" size="14" />
         </view> -->
-			</view>
-
-			<view class="mine__main--setting">
-				<template v-for="item in list1">
-					<u-cell size="large" :border="false" :key="item.name" :title="item.name" isLink :url="item.url">
-						<image slot="icon" src="@/static/tools.jpg" style="width: 60rpx; height: 60rpx" />
-					</u-cell>
-				</template>
-			</view>
-
-			<view class="mine__main--setting">
-				<template v-for="item in list2">
-					<u-cell size="large" :border="false" :key="item.name" :title="item.name" isLink :url="item.url">
-						<image slot="icon" src="@/static/tools.jpg" style="width: 60rpx; height: 60rpx" />
-					</u-cell>
-				</template>
-			</view>
-		</view>
-
-		<!-- 营业状态选择弹框 -->
-		<u-picker :show="show" :columns="columns" @cancel="cancel" @confirm="confirm" keyName="label"></u-picker>
-
-		<!-- 商家认证的弹框 -->
-		<u-modal :show="showAut" :title="title" :content="content" :confirmText="'开始认证'" :cancelText="'返回用户端'"
-			:showCancelButton="true" @confirm="confirmSwitch" @cancel="showAut = false"></u-modal>
-
-		<tabbar currentTab="merchantMine" />
-	</view>
+      </view>
+
+      <view class="mine__main--setting">
+        <template v-for="item in list1">
+          <u-cell
+            size="large"
+            :border="false"
+            :key="item.name"
+            :title="item.name"
+            isLink
+            :url="item.url"
+          >
+            <image slot="icon" src="@/static/tools.jpg" style="width: 60rpx; height: 60rpx" />
+          </u-cell>
+        </template>
+      </view>
+
+      <view class="mine__main--setting">
+        <template v-for="item in list2">
+          <u-cell
+            size="large"
+            :border="false"
+            :key="item.name"
+            :title="item.name"
+            isLink
+            :url="item.url"
+          >
+            <image slot="icon" src="@/static/tools.jpg" style="width: 60rpx; height: 60rpx" />
+          </u-cell>
+        </template>
+      </view>
+    </view>
+
+    <!-- 营业状态选择弹框 -->
+    <u-picker
+      :show="show"
+      :columns="columns"
+      @cancel="cancel"
+      @confirm="confirm"
+      keyName="label"
+    ></u-picker>
+
+    <!-- 商家认证的弹框 -->
+    <u-modal
+      :show="showAut"
+      :title="title"
+      :content="content"
+      :confirmText="'开始认证'"
+      :cancelText="'返回用户端'"
+      :showCancelButton="true"
+      @confirm="confirmSwitch"
+      @cancel="showAut = false"
+    ></u-modal>
+
+    <tabbar currentTab="merchantMine" />
+  </view>
 </template>
 
 <script>
-	import {
-		getMerchantAuthData,
-		getMerchantPures
-	} from '@/api/merchant/merchantAuth';
-	import {
-		updateBusinessStatus
-	} from '@/api/merchant/mine';
-	import {
-		phoneEncryption
-	} from '@/utils/tools';
-
-
-	export default {
-		data() {
-			return {
-				state: 0,
-				stateName: '营业中',
-				show: false,
-				showAut: false,
-				title: '商家认证',
-				content: '进入商家端前,我们需要一定的认证',
-				merchantInfo: {},
-				// purse:{}, // 钱包信息
-				incomeList: [{
-						num: '0.00',
-						title: '总收益',
-					},
-					{
-						num: '0.00',
-						title: '今日收益',
-					},
-					{
-						num: '0.00',
-						title: '昨日收益',
-					},
-					{
-						num: '0.00',
-						title: '可提现',
-					},
-				],
-				columns: [
-					// 营业状态 0-营业中,1-休息中
-					[{
-							label: '营业中',
-							id: '0',
-						},
-						{
-							label: '休息中',
-							id: '1',
-						},
-					],
-				],
-				list1: [{
-						id: '1',
-						name: '门店环境',
-						url: '/pageMerchant/mineModule/storeEnviron',
-					},
-					// {
-					//   id: '2',
-					//   name: '我要开店',
-					//   url: '/pages/merchant/mine/openStore/index',
-					// },
-					{
-						id: '3',
-						name: '资质信息',
-						url: '/pageMerchant/mineModule/openStoreAppealDetail',
-						// url: '/pageMerchant/mineModule/certification/storeInformation',
-					},
-				],
-
-				list2: [{
-						id: '1',
-						name: '意见反馈',
-						url: 'PageMine/feedback?channelType=1',
-					},
-					{
-						id: '2',
-						name: '设置',
-						url: '/pageMerchant/mineModule/setting/index',
-					},
-				],
-			};
-		},
-
-		created() {
-			this.getMerchantAuth();
-			this.request()
-		},
-
-		mounted() {
-			if (this.merchantInfo) {
-				this.showAut = false;
-			} else {
-				this.showAut = true;
-			}
-		},
-
-		methods: {
-			/*===========================================================*/
-			// 获取商家信息
-			async getMerchantAuth() {
-				let res = await getMerchantAuthData();
-				if (res.code === 'OK') {
-					// 将数据存储到vuex中
-					console.log(res.data, "存储到vuex的数据")
-					this.merchantInfo = Object.assign({}, {
-						...res.data,
-						mobileNumber: phoneEncryption(res.data && res.data.mobileNumber),
-					}, );
-
-					this.$store.commit('SET_MERCHANTINFO', res.data);
-				}
-			},
-			// 获取钱包信息
-			async request() {
-				const res = await getMerchantPures(this.$store.state.data.merchantInfo.merchant.id)
-				this.purse = res.data
-				if (res.data) {
-					this.incomeList[0].num = res.data.walletDTO.totalEarnings ? res.data.walletDTO.totalEarnings :
-						'0.00'
-					this.incomeList[1].num = res.data.walletDTO.todayEarnings ? res.data.walletDTO.todayEarnings :
-						'0.00'
-					this.incomeList[2].num = res.data.walletDTO.yesterdayEarnings ? res.data.walletDTO
-						.yesterdayEarnings : '0.00'
-					this.incomeList[3].num = res.data.walletDTO.withdraw ? res.data.walletDTO.withdraw : '0.00'
-				}
-			},
-
-			/*===========================================================*/
-			// 开始认证
-			confirmSwitch() {
-				uni.navigateTo({
-					url: '/pageMerchant/mineModule/certification/index'
-				});
-			},
-
-			/*===========================================================*/
-
-			// 修改商家状态
-			confirm(val) {
-				this.state = val.value[0].id;
-				this.stateName = val.value[0].label;
-				this.show = false;
-
-				updateBusinessStatus(this.merchantInfo.merchant.id, {
-					businessStatus: this.state
-				}).then(
-					res => {
-						if (res.code === 'OK') {
-							this.$u.toast('修改成功');
-						}
-					},
-				);
-			},
-
-			getStatusColor(state) {
-				if (state === 0) {
-					return '#19be6b';
-				} else if (state === 1) {
-					return '#ff9900';
-				}
-			},
-			toMyPurse() {
-				uni.navigateTo({
-					url: "/pageMerchant/mineModule/myPurse/purse"
-				})
-			}
-
-
-		},
-	};
+import { getMerchantAuthData, getMerchantPures } from '@/api/merchant/merchantAuth';
+import { updateBusinessStatus } from '@/api/merchant/mine';
+import { phoneEncryption } from '@/utils/tools';
+
+export default {
+  data() {
+    return {
+      state: 0,
+      stateName: '营业中',
+      show: false,
+      showAut: false,
+      title: '商家认证',
+      content: '进入商家端前,我们需要一定的认证',
+      merchantInfo: {},
+      // purse:{}, // 钱包信息
+      incomeList: [
+        {
+          num: '0.00',
+          title: '总收益',
+        },
+        {
+          num: '0.00',
+          title: '今日收益',
+        },
+        {
+          num: '0.00',
+          title: '昨日收益',
+        },
+        {
+          num: '0.00',
+          title: '可提现',
+        },
+      ],
+      columns: [
+        // 营业状态 0-营业中,1-休息中
+        [
+          {
+            label: '营业中',
+            id: '0',
+          },
+          {
+            label: '休息中',
+            id: '1',
+          },
+        ],
+      ],
+      list1: [
+        {
+          id: '1',
+          name: '门店环境',
+          url: '/pageMerchant/mineModule/storeEnviron',
+        },
+        // {
+        //   id: '2',
+        //   name: '我要开店',
+        //   url: '/pages/merchant/mine/openStore/index',
+        // },
+        {
+          id: '3',
+          name: '资质信息',
+          url: '/pageMerchant/mineModule/openStoreAppealDetail',
+          // url: '/pageMerchant/mineModule/certification/storeInformation',
+        },
+      ],
+
+      list2: [
+        {
+          id: '1',
+          name: '意见反馈',
+          url: 'PageMine/feedback?channelType=1',
+        },
+        {
+          id: '2',
+          name: '设置',
+          url: '/pageMerchant/mineModule/setting/index',
+        },
+      ],
+    };
+  },
+
+  created() {
+    this.getMerchantAuth();
+    this.request();
+  },
+
+  mounted() {
+    if (this.merchantInfo) {
+      this.showAut = false;
+    } else {
+      this.showAut = true;
+    }
+  },
+
+  methods: {
+    /*===========================================================*/
+    // 获取商家信息
+    async getMerchantAuth() {
+      let res = await getMerchantAuthData();
+      if (res.code === 'OK') {
+        // 将数据存储到vuex中
+        console.log(res.data, '存储到vuex的数据');
+        this.merchantInfo = Object.assign(
+          {},
+          {
+            ...res.data,
+            mobileNumber: phoneEncryption(res.data && res.data.mobileNumber),
+          },
+        );
+
+        this.$store.commit('SET_MERCHANTINFO', res.data);
+      }
+    },
+    // 获取钱包信息
+    async request() {
+      const res = await getMerchantPures(this.$store.state.data.merchantInfo.merchant.id);
+      this.purse = res.data;
+      if (res.data) {
+        this.incomeList[0].num = res.data.walletDTO.totalEarnings
+          ? res.data.walletDTO.totalEarnings
+          : '0.00';
+        this.incomeList[1].num = res.data.walletDTO.todayEarnings
+          ? res.data.walletDTO.todayEarnings
+          : '0.00';
+        this.incomeList[2].num = res.data.walletDTO.yesterdayEarnings
+          ? res.data.walletDTO.yesterdayEarnings
+          : '0.00';
+        this.incomeList[3].num = res.data.walletDTO.withdraw ? res.data.walletDTO.withdraw : '0.00';
+      }
+    },
+
+    /*===========================================================*/
+    // 开始认证
+    confirmSwitch() {
+      uni.navigateTo({
+        url: '/pageMerchant/mineModule/certification/index',
+      });
+    },
+
+    /*===========================================================*/
+
+    // 修改商家状态
+    confirm(val) {
+      this.state = val.value[0].id;
+      this.stateName = val.value[0].label;
+      this.show = false;
+
+      updateBusinessStatus(this.merchantInfo.merchant.id, {
+        businessStatus: this.state,
+      }).then(res => {
+        if (res.code === 'OK') {
+          this.$u.toast('修改成功');
+        }
+      });
+    },
+
+    getStatusColor(state) {
+      if (state === 0) {
+        return '#19be6b';
+      } else if (state === 1) {
+        return '#ff9900';
+      }
+    },
+    toMyPurse() {
+      uni.navigateTo({
+        url: '/pageMerchant/mineModule/myPurse/purse',
+      });
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	.mine {
-		min-height: calc(100vh - 80rpx);
-		box-sizing: border-box;
-
-		&__nav {
-			background-color: $uni-bg-color-primary;
-		}
-
-		&__person {
-			height: 160rpx;
-			padding: $uni-bg-padding-sm;
-			background-color: $uni-bg-color-primary;
-			position: relative;
-
-			&--info {
-				color: #fff;
-				display: flex;
-
-				.userName {
-					width: 400rpx;
-					font-size: 36rpx;
-					margin: 20rpx 0 0 16rpx;
-
-					.text {
-						margin-top: 15rpx;
-						font-size: 28rpx;
-					}
-				}
-
-				.status {
-					display: flex;
-					position: absolute;
-					bottom: 80rpx;
-					padding-left: 20rpx;
-					right: 0;
-					width: 150rpx;
-					height: 60rpx;
-					font-size: 25rpx;
-					align-items: center;
-					justify-content: center;
-					box-sizing: border-box;
-					border-radius: 30rpx 0 0 30rpx;
-					background-color: rgba(255, 255, 255, 0.3);
-				}
-			}
-		}
-
-		&__main {
-			padding: $uni-bg-padding-sm;
-
-			&--purse {
-				background-color: $uni-bg-color;
-				padding: $uni-bg-padding-sm;
-				border-radius: $uni-border-radius-base;
-
-				.wallet {
-					display: flex;
-					justify-content: space-between;
-					font-size: 28rpx;
-
-					&--title {
-						color: #000;
-						font-size: 36rpx;
-						font-weight: 700;
-					}
-
-					&--more {
-						color: #333;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-					}
-				}
-
-				.walletInfo {
-					margin: 40rpx 0;
-					color: #333;
-					display: flex;
-					text-align: center;
-					justify-content: space-around;
-				}
-
-				// .shortcut {
-				//   height: 70rpx;
-				//   padding: 0 20rpx;
-				//   color: #fff;
-				//   font-size: 28rpx;
-				//   display: flex;
-				//   align-items: center;
-				//   justify-content: space-between;
-				//   background-color: $uni-bg-color-primary;
-				//   border-radius: $uni-border-radius-sm;
-				// }
-			}
-
-			&--setting {
-				margin: 20rpx 0;
-				background-color: $uni-bg-color;
-				padding: $uni-bg-padding-sm;
-				border-radius: $uni-border-radius-base;
-			}
-		}
-	}
-
-	.text-title {
-		font-size: 34rpx;
-	}
-
-	.text-data {
-		font-size: 40rpx;
-		margin: 15rpx 0;
-		font-weight: 700;
-	}
-
-	.text-info {
-		font-size: 24rpx;
-	}
+.mine {
+  min-height: calc(100vh - 80rpx);
+  box-sizing: border-box;
+
+  &__nav {
+    background-color: $uni-bg-color-primary;
+  }
+
+  &__person {
+    height: 160rpx;
+    padding: $uni-bg-padding-sm;
+    background-color: $uni-bg-color-primary;
+    position: relative;
+
+    &--info {
+      color: #fff;
+      display: flex;
+
+      .userName {
+        width: 400rpx;
+        font-size: 36rpx;
+        margin: 20rpx 0 0 16rpx;
+
+        .text {
+          margin-top: 15rpx;
+          font-size: 28rpx;
+        }
+      }
+
+      .status {
+        display: flex;
+        position: absolute;
+        bottom: 80rpx;
+        padding-left: 20rpx;
+        right: 0;
+        width: 150rpx;
+        height: 60rpx;
+        font-size: 25rpx;
+        align-items: center;
+        justify-content: center;
+        box-sizing: border-box;
+        border-radius: 30rpx 0 0 30rpx;
+        background-color: rgba(255, 255, 255, 0.3);
+      }
+    }
+  }
+
+  &__main {
+    padding: $uni-bg-padding-sm;
+
+    &--purse {
+      background-color: $uni-bg-color;
+      padding: $uni-bg-padding-sm;
+      border-radius: $uni-border-radius-base;
+
+      .wallet {
+        display: flex;
+        justify-content: space-between;
+        font-size: 28rpx;
+
+        &--title {
+          color: #000;
+          font-size: 36rpx;
+          font-weight: 700;
+        }
+
+        &--more {
+          color: #333;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+        }
+      }
+
+      .walletInfo {
+        margin: 40rpx 0;
+        color: #333;
+        display: flex;
+        text-align: center;
+        justify-content: space-around;
+      }
+
+      // .shortcut {
+      //   height: 70rpx;
+      //   padding: 0 20rpx;
+      //   color: #fff;
+      //   font-size: 28rpx;
+      //   display: flex;
+      //   align-items: center;
+      //   justify-content: space-between;
+      //   background-color: $uni-bg-color-primary;
+      //   border-radius: $uni-border-radius-sm;
+      // }
+    }
+
+    &--setting {
+      margin: 20rpx 0;
+      background-color: $uni-bg-color;
+      padding: $uni-bg-padding-sm;
+      border-radius: $uni-border-radius-base;
+    }
+  }
+}
+
+.text-title {
+  font-size: 34rpx;
+}
+
+.text-data {
+  font-size: 40rpx;
+  margin: 15rpx 0;
+  font-weight: 700;
+}
+
+.text-info {
+  font-size: 24rpx;
+}
 </style>

+ 2 - 2
src/pages.json

@@ -242,9 +242,9 @@
           }
         },
         {
-          "path": "feedback",
+          "path": "feedback/index",
           "style": {
-            "navigationBarTitleText": "意见反馈"
+            "navigationStyle": "custom"
           }
         },
         {

+ 185 - 165
src/pages/tabbar/components/TapList.vue

@@ -1,179 +1,199 @@
 <template>
-	<view>
-		<!-- 预约列表 -->
-		<view class="appointList">
-			<template>
-				<u-cell v-for="item in isLinkList1" :key="item.id" :border="false" :icon="item.icon" :title="item.title"
-					isLink :url="item.url" />
-			</template>
-		</view>
+  <view>
+    <!-- 预约列表 -->
+    <view class="appointList">
+      <template>
+        <u-cell
+          v-for="item in isLinkList1"
+          :key="item.id"
+          :border="false"
+          :icon="item.icon"
+          :title="item.title"
+          isLink
+          :url="item.url"
+        />
+      </template>
+    </view>
 
-		<view class="other-out-box">
-			<u-cell v-for="item in isLinkList2" :key="item.id" :border="false" :icon="item.icon" :title="item.title"
-				:isLink="item.isLink" :url="item.url" @click="handleCellClick(item)" />
-		</view>
+    <view class="other-out-box">
+      <u-cell
+        v-for="item in isLinkList2"
+        :key="item.id"
+        :border="false"
+        :icon="item.icon"
+        :title="item.title"
+        :isLink="item.isLink"
+        :url="item.url"
+        @click="handleCellClick(item)"
+      />
+    </view>
 
-		<u-modal :show="showSwitchDialog" :showCancelButton="true" :title="title" :content="content"
-			@confirm="confirmSwitch" @cancel="cancelSwitch  "></u-modal>
-	</view>
+    <u-modal
+      :show="showSwitchDialog"
+      :showCancelButton="true"
+      :title="title"
+      :content="content"
+      @confirm="confirmSwitch"
+      @cancel="cancelSwitch"
+    ></u-modal>
+  </view>
 </template>
 
 <script>
-	import {
-		getMerchantAuthData
-	} from '@/api/merchant/merchantAuth';
-	export default {
+import { getMerchantAuthData } from '@/api/merchant/merchantAuth';
+export default {
+  data() {
+    return {
+      isLinkList1: [
+        {
+          id: '0',
+          icon: 'list-dot',
+          title: '预约列表',
+          url: '/PageMine/goodsReserve',
+        },
+        // ,
+        // {
+        //   id: '1',
+        //   icon: 'list',
+        //   title: '询价列表',
+        //   url: '/pages/client/clientUser/inquiryList',
+        // },
+      ],
+      isLinkList2: [
+        {
+          id: '0',
+          icon: 'home-fill',
+          title: '我的店铺',
+          url: '',
+          isLink: true,
+        },
+        {
+          id: '1',
+          icon: 'plus-people-fill',
+          title: '我的团队',
+          url: '/PageMine/myTeam',
+          isLink: true,
+        },
+        {
+          id: '2',
+          icon: 'server-man',
+          title: '客服中心',
+          url: '/PageMine/serviceCenter/index',
+          isLink: true,
+        },
+        {
+          id: '3',
+          icon: 'share-square',
+          title: '意见反馈',
+          url: '/PageMine/feedback/index',
+          isLink: true,
+        },
+        {
+          id: '4',
+          icon: 'thumb-up',
+          title: '关于我们',
+          url: '/PageMine/aboutUs',
+          isLink: true,
+        },
+      ],
 
-		data() {
-			return {
-				isLinkList1: [{
-						id: '0',
-						icon: 'list-dot',
-						title: '预约列表',
-						url: '/PageMine/goodsReserve',
-					}
-					// ,
-					// {
-					//   id: '1',
-					//   icon: 'list',
-					//   title: '询价列表',
-					//   url: '/pages/client/clientUser/inquiryList',
-					// },
-				],
-				isLinkList2: [{
-						id: '0',
-						icon: 'home-fill',
-						title: '我的店铺',
-						url: '',
-						isLink: true,
-					},
-					{
-						id: '1',
-						icon: 'plus-people-fill',
-						title: '我的团队',
-						url: '/PageMine/myTeam',
-						isLink: true,
-					},
-					{
-						id: '2',
-						icon: 'server-man',
-						title: '客服中心',
-						url: '/PageMine/serviceCenter/index',
-						isLink: true,
-					},
-					{
-						id: '3',
-						icon: 'share-square',
-						title: '意见反馈',
-						url: '/PageMine/feedback?channelType=0',
-						isLink: true,
-					},
-					{
-						id: '4',
-						icon: 'thumb-up',
-						title: '关于我们',
-						url: '/PageMine/aboutUs',
-						isLink: true,
-					},
-				],
+      showSwitchDialog: false,
+      title: '提醒',
+      content: '您确定要从用户端切换到商家端吗?',
+    };
+  },
 
-				showSwitchDialog: false,
-				title: '提醒',
-				content: '您确定要从用户端切换到商家端吗?',
-			};
-		},
+  methods: {
+    handleCellClick(item) {
+      console.log('item', item);
+      if (item.id == 0) {
+        this.showSwitchDialog = true;
+      } else {
+        // console.log('点击了非链接项');
+      }
+    },
+    //点击取消时
+    cancelSwitch() {
+      this.showSwitchDialog = false;
+      this.title = '提醒';
+      this.content = '您确定要从用户端切换到商家端吗?';
+    },
+    // 点击确认时
+    confirmSwitch() {
+      if (this.title == '提醒') {
+        this.getMerchantAuth();
+      } else if (this.title == '警告!') {
+        //进入审核未通过详情
+        uni.navigateTo({
+          url: 'pageMerchant/mineModule/openStoreAppealDetail',
+        });
+        this.cancelSwitch();
+      } else {
+        // 进入开店流程页面
+        uni.navigateTo({
+          url: '/pageMerchant/mineModule/certification/index',
+        });
+        this.cancelSwitch();
+      }
+    },
 
-		methods: {
-			handleCellClick(item) {
-				console.log('item', item);
-				if (item.id == 0) {
-					this.showSwitchDialog = true;
-				} else {
-					// console.log('点击了非链接项');
-				}
-			},
-			//点击取消时
-			cancelSwitch() {
-				this.showSwitchDialog = false
-				this.title = "提醒"
-				this.content = "您确定要从用户端切换到商家端吗?"
-			},
-			// 点击确认时
-			confirmSwitch() {
-				if (this.title == "提醒") {
-					this.getMerchantAuth()
-
-				} else if (this.title == "警告!") {
-					//进入审核未通过详情
-					uni.navigateTo({
-						url: 'pageMerchant/mineModule/openStoreAppealDetail'
-					});
-					this.cancelSwitch()
-				} else {
-					// 进入开店流程页面
-					uni.navigateTo({
-						url: '/pageMerchant/mineModule/certification/index'
-					});
-					this.cancelSwitch()
-
-				}
-
-			},
-
-			/*===========================================================*/
-			// 获取商家信息
-			async getMerchantAuth() {
-				 let res = await getMerchantAuthData();
-				if (res.code === 'OK' && res.data) {
-					console.log(res, "获取商家信息")
-					this.$store.dispatch('SwitchIdentity', 'MERCHANT')
-					// 将数据存储到vuex中
-					this.merchantInfo = Object.assign({}, {
-						...res.data,
-						mobileNumber: res.data.mobileNumber,
-					});
-					this.$store.commit('SET_MERCHANTINFO', res.data);
-					if (res.data.reviewStatus == 2) {
-						//跳转认证中页面
-						uni.navigateTo({
-							// url: '/pageMerchant/mineModule/certification/openStoreAppealDetail'
-							url: 'pageMerchant/mineModule/openStoreAppealDetail'
-						});
-						this.cancelSwitch();
-					} else if (res.data.reviewStatus == 1) {
-				 
-						uni.navigateTo({
-							url: '/pageMerchant/index',
-						});
-						this.cancelSwitch();
-					} else {
-						this.title = "警告!"
-						this.content = `认证未通过, ${res.data.message?'审核意见:' +res.data.message : "" }. 点击确认进入查看信息`
-					}
-				} else {
-					this.title = "温馨提示!"
-					this.content = "您还没有自己的店铺,如果您确定要开店,请点击确定进入开店流程"
-				}
-			},
-
-		},
-	};
+    /*===========================================================*/
+    // 获取商家信息
+    async getMerchantAuth() {
+      let res = await getMerchantAuthData();
+      if (res.code === 'OK' && res.data) {
+        console.log(res, '获取商家信息');
+        this.$store.dispatch('SwitchIdentity', 'MERCHANT');
+        // 将数据存储到vuex中
+        this.merchantInfo = Object.assign(
+          {},
+          {
+            ...res.data,
+            mobileNumber: res.data.mobileNumber,
+          },
+        );
+        this.$store.commit('SET_MERCHANTINFO', res.data);
+        if (res.data.reviewStatus == 2) {
+          //跳转认证中页面
+          uni.navigateTo({
+            // url: '/pageMerchant/mineModule/certification/openStoreAppealDetail'
+            url: 'pageMerchant/mineModule/openStoreAppealDetail',
+          });
+          this.cancelSwitch();
+        } else if (res.data.reviewStatus == 1) {
+          uni.navigateTo({
+            url: '/pageMerchant/index',
+          });
+          this.cancelSwitch();
+        } else {
+          this.title = '警告!';
+          this.content = `认证未通过, ${
+            res.data.message ? '审核意见:' + res.data.message : ''
+          }. 点击确认进入查看信息`;
+        }
+      } else {
+        this.title = '温馨提示!';
+        this.content = '您还没有自己的店铺,如果您确定要开店,请点击确定进入开店流程';
+      }
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	.appointList {
-		margin: 20rpx;
-		padding: 20rpx 10rpx;
-		border-radius: 10rpx;
-		background-color: #fff;
-	}
+.appointList {
+  margin: 20rpx;
+  padding: 20rpx 10rpx;
+  border-radius: 10rpx;
+  background-color: #fff;
+}
 
-	.other-out-box {
-		margin: 20rpx;
-		padding: 20rpx 10rpx;
-		border-radius: 10rpx;
-		margin-top: 0;
-		box-sizing: border-box;
-		background-color: $uni-bg-color;
-	}
+.other-out-box {
+  margin: 20rpx;
+  padding: 20rpx 10rpx;
+  border-radius: 10rpx;
+  margin-top: 0;
+  box-sizing: border-box;
+  background-color: $uni-bg-color;
+}
 </style>

+ 1 - 1
src/pages/tabbar/mine/data.js

@@ -48,7 +48,7 @@ export const LinkList = [
   {
     icon: 'feedback',
     title: '意见反馈',
-    url: '/PageMine/feedback?channelType=0',
+    url: '/PageMine/feedback/index',
     isLink: true,
   },
   {