Bläddra i källkod

商家端 设置迁移

743180155@qq.com 11 månader sedan
förälder
incheckning
4373ef764d

+ 293 - 0
src/pageMerchant/mineModule/certification/corporateInformation.vue

@@ -0,0 +1,293 @@
+<template>
+  <view class="container">
+    <u-form :model="legalInfo" ref="uForm" labelPosition="left" labelWidth="80" :rules="rules">
+      <view class="content-box">
+        <view class="content-item">
+          <u-form-item prop="legalRepresentativeName" required label="法人名称" right>
+            <view class="item-r">
+              <u--input
+                placeholder="请输入法人名称"
+                border="surround"
+                v-model="legalInfo.legalRepresentativeName"
+              ></u--input>
+            </view>
+          </u-form-item>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="sexName" required label="性别" right @click="showSex = true">
+            <view class="item-r">
+              <u--input placeholder="请选择性别" border="surround" v-model="legalInfo.sexName" />
+            </view>
+          </u-form-item>
+          <view class="icon-right-box">
+            <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
+          </view>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="documentType" required label="证件类型" right>
+            <view class="item-r">
+              <u--input
+                placeholder="居民身份证"
+                border="surround"
+                v-model="legalInfo.documentType"
+                disabled
+              ></u--input>
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item prop="idCardNumber" required label="证件号" right>
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件号"
+                border="surround"
+                v-model="legalInfo.idCardNumber"
+              ></u--input>
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item
+            prop="idCardExpirationDate"
+            required
+            label="有效期"
+            right
+            @click="showPicker = true"
+          >
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件有效期"
+                border="surround"
+                v-model="legalInfo.idCardExpirationDate"
+              ></u--input>
+            </view>
+          </u-form-item>
+          <view class="icon-right-box">
+            <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
+          </view>
+        </view>
+      </view>
+
+      <view class="content-box">
+        <u-form-item prop="idCardFrontPhoto">
+          <imgs-upload @update="fileList" :value="1"></imgs-upload>
+          <p class="upload-text">证件正面图(国徽图)</p>
+        </u-form-item>
+      </view>
+
+      <view class="content-box">
+        <u-form-item prop="idCardBackPhoto">
+          <imgs-upload @update="fileList" :value="2"></imgs-upload>
+          <p class="upload-text">证件反面图(人像图)</p>
+        </u-form-item>
+      </view>
+    </u-form>
+
+    <button class="btn" @click="handlerSkipNext">下一步</button>
+
+    <!-- 性别 -->
+    <u-action-sheet
+      :show="showSex"
+      :actions="actions"
+      title="请选择性别"
+      description="如果选择保密会报错"
+      @close="showSex = false"
+      @select="sexSelect"
+    >
+    </u-action-sheet>
+
+    <!-- 时间 -->
+    <u-datetime-picker
+      :show="showPicker"
+      v-model="valueDate"
+      mode="date"
+      @cancel="showPicker = false"
+      @confirm="handleConfirm"
+    ></u-datetime-picker>
+  </view>
+</template>
+
+<script>
+import ImgsUpload from './components/ImgsUpload.vue';
+import { formatTime } from '@/utils/date';
+
+export default {
+  components: {
+    ImgsUpload,
+  },
+  data() {
+    return {
+      showSex: false,
+      showPicker: false,
+      valueDate: Number(new Date()),
+      actions: [
+        {
+          index: '1',
+          name: '男',
+        },
+        {
+          index: '2',
+          name: '女',
+        },
+        {
+          index: '0',
+          name: '保密',
+        },
+      ],
+      legalInfo: {
+        legalRepresentativeName: '',
+        legalRepresenativeGender: '',
+        idCardExpirationDate: '',
+        idCardNumber: '',
+        idCardFrontPhoto: '',
+        idCardBackPhoto: '',
+        sexName: '',
+      },
+      rules: {
+        legalRepresentativeName: {
+          type: 'string',
+          required: true,
+          message: '请输入法人名称',
+          trigger: ['blur', 'change'],
+        },
+        sexName: {
+          type: 'string',
+          required: true,
+          message: '请选择性别',
+          trigger: ['blur', 'change'],
+        },
+        idCardNumber: [
+          {
+            required: true,
+            message: '请输入证件号',
+            trigger: ['blur', 'change'],
+          },
+          {
+            validator: (rule, value, callback) => {
+              return uni.$u.test.idCard(value);
+            },
+            message: '您输入的证件号不正确',
+            trigger: ['change', 'blur'],
+          },
+        ],
+        idCardExpirationDate: {
+          type: 'string',
+          required: true,
+          message: '请输入证件有效期',
+          trigger: ['change'],
+        },
+      },
+    };
+  },
+  onReady() {
+    //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+    this.$refs.uForm.setRules(this.rules);
+  },
+  methods: {
+    // 跳转到4/4资质信息
+    handlerSkipNext() {
+      this.$refs.uForm.validate().then(res => {
+        this.$store.commit('SET_LEGALINFO', this.legalInfo);
+        setTimeout(() => {
+          uni.navigateTo({
+            url: '/pageMerchant/mineModule/certification/qualificationInformation',
+          });
+        }, 1500);
+      });
+    },
+    sexSelect(e) {
+      this.legalInfo.sexName = e.name; // 数据渲染
+      this.legalInfo.legalRepresenativeGender = e.index; //后端接收
+      this.$refs.uForm.validateField('userInfo.sex');
+    },
+    handleConfirm(data) {
+      this.legalInfo.idCardExpirationDate = formatTime(data.value, 'YYYY-MM-DD');
+      this.showPicker = false;
+    },
+    // 处理图片
+    fileList(val, data) {
+      if (data == 1) {
+        this.legalInfo.idCardFrontPhoto = val[0];
+      } else if (data == 2) {
+        this.legalInfo.idCardBackPhoto = val[0];
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+  background-color: #f7f7f7 !important;
+  padding-bottom: 40rpx;
+
+  .top-box {
+    color: #666666;
+    font-size: 26rpx;
+    text-align: center;
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+  }
+
+  .content-box {
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+    margin: 10rpx 0;
+
+    .content-item {
+      position: relative;
+
+      .item-r {
+        background-color: #f7f7f7;
+        border-radius: 20rpx;
+
+        .data_select {
+          width: 90%;
+        }
+
+        ::v-deep .u-form-item {
+          width: 100%;
+        }
+
+        ::v-deep .u-form-item__body {
+          padding: 0;
+        }
+      }
+
+      .icon-right-box {
+        position: absolute;
+        right: 15rpx;
+        top: 40rpx;
+      }
+    }
+
+    .upload-text {
+      text-align: center;
+      color: #666666;
+      font-size: 28rpx;
+      margin-top: 20rpx;
+    }
+  }
+
+  .btn {
+    background-color: #5992bb !important;
+    color: #fff;
+    font-size: 32rpx;
+    border-radius: 40rpx;
+    margin-top: 100rpx;
+    margin-bottom: 100rpx;
+    width: 95%;
+  }
+}
+
+::v-deep .uni-select {
+  border: none !important;
+}
+
+::v-deep .uni-select__input-placeholder {
+  font-size: 28rpx !important;
+  color: #cbced4 !important;
+}
+</style>

+ 1 - 1
src/pageMerchant/mineModule/certification/index.vue

@@ -58,7 +58,7 @@ export default {
     handlerSkipOpenShop() {
       if (this.checked.length != 0) {
         uni.navigateTo({
-          url: 'pages/merchant/mine/openStore/storeInformation',
+          url: '/pageMerchant/mineModule/certification/storeInformation',
         });
       } else {
         uni.showToast({

+ 116 - 0
src/pageMerchant/mineModule/certification/messageSubmit.vue

@@ -0,0 +1,116 @@
+<template>
+	<view class="container">
+		<view class="top-box">
+			<img class="img" src="@/static/mine/icon_mine_success.png" alt="" />
+			<p class="top-text">提交成功</p>
+		</view>
+
+		<view class="content-box">
+			<view class="content-item">
+				<view class="item-l">店铺名称</view>
+				<view class="item-r">{{ listInfo.storeName }}</view>
+			</view>
+			<view class="content-item">
+				<view class="item-l">法人名称</view>
+				<view class="item-r">{{ listInfo.legalRepresentativeName }}</view>
+			</view>
+			<view class="content-item">
+				<view class="item-l">详情地址</view>
+				<view class="item-r">{{ listInfo.storeAddressDetail }}</view>
+			</view>
+		</view>
+
+		<button class="btn" @click="handlerBackHome">返回首页</button>
+		<button class="btn" @click="handlerViewDetail">查看详情</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				listInfo: {},
+			};
+		},
+		onShow() {
+			let legalInfo = this.$store.state.data.legalInfo;
+			let storeInfo = this.$store.state.data.storeInfo;
+			let aptitudeInfo = this.$store.state.data.aptitudeInfo;
+
+			this.listInfo = Object.assign({}, {
+				...legalInfo,
+				...storeInfo,
+				...aptitudeInfo,
+			}, );
+			console.log(this.listInfo);
+		},
+		methods: {
+			// 点击跳转到开店详情页面
+			handlerViewDetail() {
+				uni.redirectTo({
+					url: '/pageMerchant/mineModule/certification/openStoreAppealDetail',
+				});
+			},
+			// 点击跳转到首页
+			handlerBackHome() {
+				uni.redirectTo({
+					url: '/pageMerchant/tabbar/mine',
+				});
+			}
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		.top-box {
+			text-align: center;
+			margin-top: 100rpx;
+
+			.img {
+				width: 200rpx;
+				height: 200rpx;
+			}
+
+			.top-text {
+				font-size: 40rpx;
+				font-weight: bold;
+				margin-top: 20rpx;
+			}
+		}
+
+		.content-box {
+			margin: 200rpx auto 50rpx;
+			width: 80%;
+			border-top: 2rpx solid #f3f3f3;
+			border-bottom: 2rpx solid #f3f3f3;
+			padding: 20rpx;
+
+			.content-item {
+				display: flex;
+				justify-content: space-between;
+				margin: 20rpx 0;
+				font-size: 28rpx;
+
+				.item-l {
+					color: #000;
+				}
+
+				.item-r {
+					color: #9a9a9a;
+				}
+			}
+		}
+
+		.btn {
+			background-color: #5992bb !important;
+			color: #fff;
+			font-size: 32rpx;
+			border-radius: 40rpx;
+			margin-top: 100rpx;
+			margin-bottom: 100rpx;
+			width: 90%;
+		}
+	}
+</style>
+s

+ 158 - 0
src/pageMerchant/mineModule/certification/openStoreAppealDetail.vue

@@ -0,0 +1,158 @@
+<template>
+  <view class="container">
+    <view class="top-box">
+      <p>您的开店申请已经提交成功。</p>
+      <p>我们将在1-3个工作日内完成线上审核工作,请您耐心等候,并留意审核进程。</p>
+    </view>
+
+    <view class="content-item">
+      <view class="item-l">
+        <p>负责人 : {{ list.legalRepresentativeName || '--' }}</p>
+        <p>手机号 : {{ list.mobileNumber || '--' }}</p>
+      </view>
+      <img class="img" src="@/static/mine/icon_mine_underReview.png" alt="" />
+    </view>
+
+    <view class="content-item">
+      <view class="item-l">
+        <p>店名 : {{ list.merchant.name || '--' }}</p>
+        <p>店铺类型 : {{ list.storeType || '--' }}</p>
+        <p>手机号 : {{ list.mobileNumber || '--' }}</p>
+        <p>所在地 : {{ list.storeAddress || '--' }}</p>
+        <p>详细地址 : {{ list.merchant.address || '--' }}</p>
+      </view>
+    </view>
+
+    <view class="content-item2">
+      <view class="item2-box">
+        <image :src="list.storeImage" mode="" v-if="list.storeImage"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">店铺门面图(需包含完整牌匾)</view>
+      </view>
+      <view class="item2-box">
+        <image :src="list.storeInnerImage" mode="" v-if="list.storeInnerImage"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">店内真实环境</view>
+      </view>
+    </view>
+
+    <view class="content-item2">
+      <view class="item-l">
+        <p>法人姓名 : {{ list.legalRepresentativeName || '--' }}</p>
+        <p>
+          性别 :
+          {{
+            list.legalRepresentativeGender == 1
+              ? '男'
+              : list.legalRepresentativeGender == 2
+              ? '女'
+              : '保密'
+          }}
+        </p>
+        <p>证件号码 : {{ list.idCardNumber || '--' }}</p>
+        <p>有效期 : {{ $u.timeFormat(list.idCardExpirationDate) || '--' }}</p>
+      </view>
+      <view class="item2-box">
+        <image :src="list.idCardFrontPhoto" mode="" v-if="list.idCardFrontPhoto"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">证件正面图(国徽图)</view>
+      </view>
+      <view class="item2-box">
+        <image :src="list.idCardBackPhoto" mode="" v-if="list.idCardBackPhoto"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">证件反面图(人像图)</view>
+      </view>
+    </view>
+
+    <view class="content-item2">
+      <view class="item-l">
+        <p>证件名称 : 营业执照</p>
+        <p>证件编号 : {{ list.businessLicenseId || '--' }}</p>
+        <p>有效期 : {{ $u.timeFormat(list.businessLicenseExpirationDate) || '--' }}</p>
+      </view>
+      <view class="item2-box">
+        <image :src="list.businessPhoto" mode="" v-if="list.businessPhoto"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">证件正面图</view>
+      </view>
+    </view>
+
+    <view class="content-item2">
+      <view class="item-l">
+        <p>证件名称 : 经营许可证</p>
+        <p>证件编号 : {{ list.businessLicenseNumberValid || '--' }}</p>
+        <p>有效期 : {{ $u.timeFormat(list.businessLicenseExpirationDateValid) || '--' }}</p>
+      </view>
+      <view class="item2-box">
+        <image :src="list.businessLicensePhoto" mode="" v-if="list.businessLicensePhoto"></image>
+        <img class="img2" src="@/static/logo.png" alt="" v-else />
+        <view class="img-text">证件正面图</view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      list: {},
+    };
+  },
+  methods: {},
+  onShow() {
+    this.list = this.$store.state.data.merchantInfo;
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+  padding: 20rpx;
+  background-color: #f5f5f5 !important;
+  .top-box {
+    color: #8b8b8b;
+    padding: 0 20rpx;
+    background-color: #fff;
+  }
+  .content-item {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    border-radius: 20rpx;
+    padding: 20rpx;
+    margin: 20rpx 0;
+    .item-l {
+      p {
+        margin: 20rpx 0;
+        line-height: 50rpx;
+      }
+    }
+    .img {
+      width: 130rpx;
+      height: 100rpx;
+    }
+  }
+  .content-item2 {
+    background-color: #fff;
+    border-radius: 20rpx;
+    padding: 20rpx;
+    margin: 20rpx 0;
+    .item-l {
+      p {
+        margin: 20rpx 0;
+        line-height: 50rpx;
+      }
+    }
+    .item2-box {
+      text-align: center;
+      margin-bottom: 20rpx;
+      .img2 {
+        width: 100%;
+        height: 400rpx;
+      }
+    }
+  }
+}
+</style>

+ 303 - 0
src/pageMerchant/mineModule/certification/qualificationInformation.vue

@@ -0,0 +1,303 @@
+<template>
+  <view class="container">
+    <u-form :model="aptitudeInfo" ref="uForm" labelPosition="left" labelWidth="80" :rules="rules">
+      <!-- =====================证件类型===================== -->
+      <view class="content-box">
+        <view class="content-item">
+          <u-form-item required label="证件类型" right>
+            <view> 营业执照 </view>
+          </u-form-item>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="businessLicenseId" required label="证件编号" right>
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件编号"
+                border="surround"
+                v-model="aptitudeInfo.businessLicenseId"
+              />
+            </view>
+          </u-form-item>
+        </view>
+
+        <view class="content-item">
+          <u-form-item
+            prop="businessLicenseExpirationDate"
+            required
+            label="有效期"
+            right
+            @click="handelShowPicker(1)"
+          >
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件有效期"
+                border="surround"
+                v-model="aptitudeInfo.businessLicenseExpirationDate"
+              />
+            </view>
+          </u-form-item>
+
+          <view class="icon-right-box">
+            <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
+          </view>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="businessPhoto">
+            <imgs-upload @update="fileList" :value="1"></imgs-upload>
+            <p class="upload-text">证件正面图</p>
+          </u-form-item>
+        </view>
+      </view>
+
+      <!-- =====================证件类型===================== -->
+      <view class="content-box">
+        <view class="content-item">
+          <u-form-item required label="证件类型" right>
+            <view> 经营许可证 </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item prop="businessLicenseNumberValid" required label="证件编号" right>
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件编号"
+                border="surround"
+                v-model="aptitudeInfo.businessLicenseNumberValid"
+              />
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item
+            prop="businessLicenseExpirationDateValid"
+            required
+            label="有效期"
+            right
+            @click="handelShowPicker(2)"
+          >
+            <view class="item-r">
+              <u--input
+                placeholder="请输入证件有效期"
+                border="surround"
+                v-model="aptitudeInfo.businessLicenseExpirationDateValid"
+              />
+            </view>
+          </u-form-item>
+
+          <view class="icon-right-box">
+            <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
+          </view>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="businessLicensePhoto">
+            <imgs-upload @update="fileList" :value="2"></imgs-upload>
+
+            <p class="upload-text">证件正面图</p>
+          </u-form-item>
+        </view>
+      </view>
+    </u-form>
+
+    <button class="btn" @click="handlerSkipNext">提交审核</button>
+
+    <!-- 时间 -->
+    <u-datetime-picker
+      :show="showPicker"
+      v-model="valueDate"
+      mode="date"
+      @cancel="showPicker = false"
+      @confirm="handleConfirm"
+    ></u-datetime-picker>
+  </view>
+</template>
+
+<script>
+import ImgsUpload from './components/ImgsUpload.vue';
+import { addMerchantAuth } from '@/api/merchant/merchantAuth';
+import { formatTime } from '@/utils/date';
+
+export default {
+  components: {
+    ImgsUpload,
+  },
+  data() {
+    return {
+      type: 1, // 1表示营业执照  2表示经营许可
+      aptitudeInfo: {
+        businessLicenseId: '',
+        businessLicenseExpirationDate: '',
+        businessPhoto: '',
+        businessLicenseNumberValid: '',
+        businessLicenseExpirationDateValid: '',
+        businessLicensePhoto: '',
+      },
+      showPicker: false,
+      valueDate: Number(new Date()),
+      rules: {
+        businessLicenseId: {
+          type: 'string',
+          required: true,
+          message: '请输入证件编号',
+          trigger: ['blur', 'change'],
+        },
+        businessLicenseExpirationDate: {
+          type: 'string',
+          required: true,
+          message: '请输入证件有效期',
+          trigger: ['change'],
+        },
+        businessLicenseNumberValid: {
+          type: 'string',
+          required: true,
+          message: '请输入证件编号',
+          trigger: ['blur', 'change'],
+        },
+        businessLicenseExpirationDateValid: {
+          type: 'string',
+          required: true,
+          message: '请输入证件有效期',
+          trigger: ['change'],
+        },
+      },
+      merchantInfo: {},
+      storeInfo: {},
+    };
+  },
+  onReady() {
+    //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+    this.$refs.uForm.setRules(this.rules);
+  },
+  onShow() {
+    this.legalInfo = this.$store.state.data.legalInfo;
+    this.storeInfo = this.$store.state.data.storeInfo;
+  },
+  methods: {
+    // 图片
+    fileList(val, data) {
+      if (data == 1) {
+        this.aptitudeInfo.businessPhoto = val[0];
+      } else if (data == 2) {
+        this.aptitudeInfo.businessLicensePhoto = val[0];
+      }
+    },
+    handelShowPicker(data) {
+      this.type = data;
+      this.showPicker = true;
+    },
+
+    // 跳转到提交成功页面
+    handlerSkipNext() {
+      this.$refs.uForm.validate().then(res => {
+        /* 发起认证 */
+        let params = Object.assign({
+          ...this.legalInfo,
+          ...this.storeInfo,
+          ...this.aptitudeInfo,
+        });
+
+        addMerchantAuth({
+          ...params,
+        }).then(res => {
+          console.log(res);
+
+          /* 将数据存储 */
+          this.$store.commit('SET_APTITUDEINFO', this.aptitudeInfo);
+
+          /* 路由跳转 */
+          setTimeout(() => {
+            uni.navigateTo({
+              url: '/pageMerchant/mineModule/certification/messageSubmit',
+            });
+          }, 2000);
+        });
+      });
+    },
+
+    handleConfirm(data) {
+      if (this.type === 1) {
+        this.aptitudeInfo.businessLicenseExpirationDate = formatTime(data.value, 'YYYY-MM-DD');
+      } else if (this.type === 2) {
+        this.aptitudeInfo.businessLicenseExpirationDateValid = formatTime(data.value, 'YYYY-MM-DD');
+      }
+      this.showPicker = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+  background-color: #f7f7f7 !important;
+  padding-bottom: 40rpx;
+
+  .top-box {
+    color: #666666;
+    font-size: 26rpx;
+    text-align: center;
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+  }
+
+  .content-box {
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+    margin: 10rpx 0;
+
+    .content-item {
+      position: relative;
+
+      .item-r {
+        background-color: #f7f7f7;
+        border-radius: 20rpx;
+
+        .data_select {
+          width: 90%;
+        }
+
+        ::v-deep .u-form-item {
+          width: 100%;
+        }
+
+        ::v-deep .u-form-item__body {
+          padding: 0;
+        }
+      }
+
+      .icon-right-box {
+        position: absolute;
+        right: 15rpx;
+        top: 40rpx;
+      }
+    }
+
+    .upload-text {
+      text-align: center;
+      color: #666666;
+      font-size: 28rpx;
+      margin-top: 20rpx;
+    }
+  }
+
+  .btn {
+    background-color: #5992bb !important;
+    color: #fff;
+    font-size: 32rpx;
+    border-radius: 40rpx;
+    margin-top: 100rpx;
+    margin-bottom: 100rpx;
+    width: 95%;
+  }
+}
+
+::v-deep .uni-select {
+  border: none !important;
+}
+
+::v-deep .uni-select__input-placeholder {
+  font-size: 28rpx !important;
+  color: #cbced4 !important;
+}
+</style>

+ 319 - 0
src/pageMerchant/mineModule/certification/storeInformation.vue

@@ -0,0 +1,319 @@
+<template>
+  <view class="container">
+    <view class="top-box">
+      为了方便我们与您尽快联系达成合作,请如实填写以下资料,谢谢您的支持与配合
+    </view>
+
+    <u-form :model="storeInfo" ref="uForm" labelPosition="left" :rules="rules" labelWidth="80">
+      <view class="content-box">
+        <view class="content-item">
+          <u-form-item prop="legalRepresentativeName" required label="姓名" right>
+            <view class="item-r">
+              <u--input placeholder="请输入负责人名称" border="surround" v-model="storeInfo.legalRepresentativeName"></u--input>
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item prop="mobileNumber" required label="手机号码" right>
+            <view class="item-r">
+              <u--input placeholder="请输入手机号码" border="surround" v-model="storeInfo.mobileNumber"></u--input>
+            </view>
+          </u-form-item>
+        </view>
+
+        <view class="content-item">
+          <u-form-item prop="email" required label="电子邮箱" right>
+            <view class="item-r">
+              <u--input placeholder="请输入您的邮箱" border="surround" v-model="storeInfo.email"></u--input>
+            </view>
+          </u-form-item>
+        </view>
+      </view>
+      <view class="content-box">
+        <view class="content-item">
+          <u-form-item prop="storeName" required label="店铺名称" right>
+            <view class="item-r">
+              <u--input placeholder="请输入店铺名称" border="surround" v-model="storeInfo.storeName"></u--input>
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item prop="storeAddress" required label="所在地区" right>
+            <view class="item-r">
+              <u--input placeholder="请选择所在地区" border="surround" v-model="storeInfo.storeAddress"
+                @focus="handlerChange"></u--input>
+            </view>
+            <view class="icon-right-box">
+              <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
+            </view>
+          </u-form-item>
+        </view>
+        <view class="content-item">
+          <u-form-item prop="storeAddressDetail" required label="详细地址" right>
+            <view class="item-r">
+              <u--input placeholder="请输入门店详细地址" border="surround" v-model="storeInfo.storeAddressDetail"></u--input>
+            </view>
+          </u-form-item>
+        </view>
+      </view>
+
+      <view class="content-box">
+        <u-form-item prop="storeImage">
+          <imgs-upload @update="fileList" :value="1"></imgs-upload>
+          <p class="upload-text">店铺门面图(需要包含完整牌匾)</p>
+        </u-form-item>
+      </view>
+
+      <view class="content-box">
+        <u-form-item prop="storeInnerImage">
+          <imgs-upload @update="fileList" :value="2"></imgs-upload>
+          <p class="upload-text">店内真实环境图</p>
+        </u-form-item>
+      </view>
+    </u-form>
+    <button class="btn" @click="handlerSkipNext">下一步</button>
+
+    <!-- 地区 -->
+    <u-picker :show="show" ref="uPicker" :columns="cityList" @confirm="confirm" @change="changeHandler"
+      @cancel="show = false"></u-picker>
+  </view>
+</template>
+
+<script>
+  import ImgsUpload from './components/ImgsUpload.vue';
+  // 导入城市js文件
+  import cityData from '@/utils/city';
+
+  export default {
+    components: {
+      ImgsUpload,
+    },
+    data() {
+      return {
+        storeInfo: {
+          storeAddress: '',
+          storeAddressDetail: '',
+          legalRepresentativeName: '',
+          mobileNumber: '',
+          storeName: '',
+          storeImage: '',
+          storeInnerImage: '',
+          email: ""
+        },
+        rules: {
+          legalRepresentativeName: {
+            type: 'string',
+            required: true,
+            message: '请输入负责人名称',
+            trigger: ['blur', 'change'],
+          },
+          storeName: {
+            type: 'string',
+            required: true,
+            message: '请输入店铺名',
+            trigger: ['blur', 'change'],
+          },
+          storeAddressDetail: {
+            type: 'string',
+            required: true,
+            message: '请输入详细地址',
+            trigger: ['blur', 'change'],
+          },
+          mobileNumber: [{
+              required: true,
+              message: '请输入手机号码',
+              trigger: ['blur', 'change'],
+            },
+            {
+              validator: (rule, value, callback) => {
+                return uni.$u.test.mobile(value);
+              },
+              message: '手机号码不正确',
+              trigger: ['change', 'blur'],
+            },
+          ],
+          email: [{
+              required: true,
+              message: '请输入您的邮箱',
+              trigger: ['blur', 'change'],
+            },
+            {
+              validator: (rule, value, callback) => {
+                return uni.$u.test.email(value);
+              },
+              message: '您输入的邮箱不正确',
+              trigger: ['change', 'blur'],
+            },
+          ],
+          storeAddress: [{
+            required: true,
+            message: '请选择所在地区',
+            trigger: ['change'],
+          }, ],
+        },
+        show: false, //显示选择器
+        // 打开选择器显示默认城市
+        cityList: [],
+        cityLevel1: [],
+        cityLevel2: [],
+        cityLevel3: [],
+      };
+    },
+    onReady() {
+      //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+      this.$refs.uForm.setRules(this.rules);
+    },
+    onShow() {
+      this.initCityData();
+    },
+    methods: {
+      initCityData() {
+        // 遍历城市js
+        cityData.forEach((item1, index1) => {
+          let temp2 = [];
+          this.cityLevel1.push(item1.provinceName);
+
+          let temp4 = [];
+          let temp3 = [];
+          // 遍历市
+          item1.cities.forEach((item2, index2) => {
+            temp2.push(item2.cityName);
+            // 遍历区
+            item2.counties.forEach((item3, index3) => {
+              temp3.push(item3.countyName);
+            });
+            temp4[index2] = temp3;
+            temp3 = [];
+          });
+          this.cityLevel3[index1] = temp4;
+          this.cityLevel2[index1] = temp2;
+        });
+        // 选择器默认城市
+        this.cityList.push(this.cityLevel1, this.cityLevel2[0], this.cityLevel3[0][0]);
+      },
+      // 选中时执行
+      changeHandler(e) {
+        const {
+          columnIndex,
+          index,
+          indexs,
+          value,
+          values,
+          // 微信小程序无法将picker实例传出来,只能通过ref操作
+          picker = this.$refs.uPicker,
+        } = e;
+        if (columnIndex === 0) {
+          // 选择第一列数据时 设置第二列关联数据
+          picker.setColumnValues(1, this.cityLevel2[index]);
+          // 设置第三列关联数据
+          picker.setColumnValues(2, this.cityLevel3[index][columnIndex]);
+        } else if (columnIndex === 1) {
+          // 选择第二列数据时 设置第三列关联数据
+          picker.setColumnValues(2, this.cityLevel3[indexs[0]][index]);
+        }
+      },
+      // 单击确认按钮时执行
+      confirm(e) {
+        this.storeInfo.storeAddress = e.value.join('');
+        // 隐藏城市选择器
+        this.show = false;
+      },
+      handlerChange() {
+        this.show = true;
+      },
+      handlerSkipNext() {
+        this.$refs.uForm.validate().then(res => {
+          this.$store.commit('SET_STOREINFO', this.storeInfo);
+          setTimeout(() => {
+            uni.navigateTo({
+              url: '/pageMerchant/mineModule/certification/corporateInformation',
+            });
+          }, 1500);
+        });
+      },
+      // 图片
+      fileList(val, data) {
+        if (data == 1) {
+          this.storeInfo.storeImage = val[0];
+        } else if (data == 2) {
+          this.storeInfo.storeInnerImage = val[0];
+        }
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  .container {
+    background-color: #f7f7f7 !important;
+    padding-bottom: 40rpx;
+
+    .top-box {
+      color: #666666;
+      font-size: 26rpx;
+      text-align: center;
+      padding: 20rpx 40rpx;
+      background-color: #fff;
+    }
+
+    .content-box {
+      padding: 20rpx 40rpx;
+      background-color: #fff;
+      margin: 10rpx 0;
+
+      .content-item {
+        position: relative;
+
+        .item-r {
+          background-color: #f7f7f7;
+          border-radius: 20rpx;
+          display: flex;
+
+          .data_select {
+            width: 90%;
+          }
+
+          ::v-deep .u-form-item {
+            width: 100%;
+          }
+
+          ::v-deep .u-form-item__body {
+            padding: 0;
+          }
+        }
+
+        .icon-right-box {
+          position: absolute;
+          right: 15rpx;
+          top: 40rpx;
+        }
+      }
+
+      .upload-text {
+        text-align: center;
+        color: #666666;
+        font-size: 28rpx;
+        margin-top: 20rpx;
+      }
+    }
+
+    .btn {
+      background-color: #5992bb !important;
+      color: #fff;
+      font-size: 32rpx;
+      border-radius: 40rpx;
+      margin-top: 100rpx;
+      margin-bottom: 100rpx;
+      width: 95%;
+    }
+  }
+
+  ::v-deep .uni-select {
+    border: none !important;
+  }
+
+  ::v-deep .uni-select__input-placeholder {
+    font-size: 28rpx !important;
+    color: #cbced4 !important;
+  }
+</style>

+ 70 - 0
src/pageMerchant/mineModule/setting/accountSafety.vue

@@ -0,0 +1,70 @@
+<template>
+  <view class="container">
+    <view class="item-content">
+      <view class="item-box" @click="handlerUpdate(0)">
+        <view class="item-l"> 手机号 </view>
+        <view class="item-r">
+          <p>{{ phone.substring(0, 5) + '****' + phone.substring(10) }}</p><u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view>
+      <view class="item-box" @click="handlerUpdate(1)">
+        <view class="item-l"> 邮箱 </view>
+        <view class="item-r">
+          <p>未绑定</p><u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view>
+      <view class="item-box">
+        <view class="item-l"> 注销账号 </view>
+        <view class="item-r">
+          <u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view>
+    </view>
+
+  </view>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        phone:'+8618226537738'
+      }
+    },
+    methods:{
+      //跳转到 修改手机号 修改邮箱
+      handlerUpdate(e){
+        uni.navigateTo({
+          url:`/pages/tabBar/mine/setting/phoneAndEmail?type=${e}`
+        })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .container {
+    background-color: #F5F5F5;
+    min-height: calc(100vh - 40rpx);
+    padding-top: 40rpx;
+
+    .item-content {
+      margin-bottom: 40rpx;
+
+      .item-box {
+        display: flex;
+        justify-content: space-between;
+        background-color: #fff;
+        padding: 20rpx 40rpx;
+        font-size: 30rpx;
+
+        .item-r {
+          display: flex;
+          font-size: 26rpx;
+          color: #B0B0B0;
+        }
+      }
+    }
+  }
+
+</style>

+ 187 - 0
src/pageMerchant/mineModule/setting/bindPhoneAndEmail.vue

@@ -0,0 +1,187 @@
+<template>
+  <view class="container">
+    <view class="top-box">
+      <template v-if="type == 0">
+        <p class="p1">更换手机号</p>
+        <p class="p2">请输入新手机号,作为登陆账号</p>
+      </template>
+      <template v-else>
+        <p class="p1">更换邮箱</p>
+      </template>
+
+
+      <view class="ipt-box">
+        <view class="ipt-item">
+          <p class="ipt-text">{{ type == 0 ? '手机号' : '电子邮箱' }}</p>
+          <u--input v-if="type == 0" placeholder="请输入手机号" v-model="phone_text" type='number' maxlength='11' clearable></u--input>
+          <u--input v-else placeholder="请输入电子邮箱" v-model="email_text" type='text' clearable></u--input>
+        </view>
+        <view class="ipt-item">
+          <p class="ipt-text">验证码 </p>
+          <u--input placeholder="请输入验证码" v-model="code_text"></u--input>
+          <button class="ipt-btn" :disabled="btn_disabled" :class="btn_disabled ? 'act-ipt-btn' : ''"
+            @click="handlerGetCodeBtn">{{ btn_text }}</button>
+        </view>
+      </view>
+    </view>
+    <view class="btn-box">
+      <button class="btn" @click="handlerConfirmBtn"> 确定 </button>
+      <p  class="btn-text" v-if="btn_disabled && type == 0">已向手机{{ phone_text.substring(0, 3) + '****' + phone_text.substring(7) }} 发送验证码 </p>
+      <p  class="btn-text" v-if="btn_disabled && type == 1">已向邮箱{{ email_text.substring(0, 3) + '****' + email_text.substring(6) }} 发送验证码 </p>
+    </view>
+  </view>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        phone_text: '',
+        email_text: '',
+        code_text: '',
+        type: 0,
+        time: 60,
+        btn_text: '发送验证码',
+        btn_disabled: false
+      }
+    },
+    onLoad(option) {
+      this.type = option.type
+      switch (this.type) {
+        case '0':
+          uni.setNavigationBarTitle({
+            title: '绑定手机号'
+          });
+          break;
+        case '1':
+          uni.setNavigationBarTitle({
+            title: '绑定邮箱'
+          });
+          break;
+      }
+    },
+    methods: {
+      // 点击获取验证码按钮
+      handlerGetCodeBtn() {
+        if (this.type == 0) {
+          let ResPhone = /^[1][3,4,5,6.7,8,9][0-9]{9}$/
+          if (!ResPhone.test(this.phone_text)) {
+            uni.showToast({
+              title: '请输入正确的手机号',
+              icon: 'none'
+            })
+            return
+          } else {
+            this.handlerGetCode()
+          }
+        } else {
+          let ResEmail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
+          if (!ResEmail.test(this.email_text)) {
+            uni.showToast({
+              title: '请输入正确的电子邮箱',
+              icon: 'none'
+            })
+            return
+          } else {
+            this.handlerGetCode()
+          }
+        }
+      },
+      // 获取验证码
+      handlerGetCode() {
+        this.timers = setInterval(() => {
+          this.btn_disabled = true
+          this.time--
+          this.btn_text = `${this.time}后重新获取`
+          if (this.time == 0) {
+            clearInterval(this.timers)
+            this.time = 60
+            this.btn_text = `发送验证码`
+            this.btn_disabled = false
+          }
+        }, 1000)
+      },
+      // 确定按钮
+      handlerConfirmBtn() {
+        uni.showToast({
+          title:`${this.type == 0 ? '手机号' : '电子邮箱'}更换成功`,
+          icon:'none'
+        })
+        setTimeout(()=>{
+          uni.navigateBack({
+            delta:2
+          })
+        },1500)
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .container {
+    .top-box {
+      padding: 80rpx 60rpx 0;
+
+      .p1 {
+        font-size: 44rpx;
+        color: #000;
+      }
+
+      .p2 {
+        font-size: 26rpx;
+        color: #A2A2A2;
+        margin-top: 10rpx;
+      }
+
+      .ipt-box {
+        margin-top: 60rpx;
+
+        .ipt-item {
+          display: flex;
+          align-items: center;
+          border-bottom: 2rpx solid #F7F7F7;
+          margin-bottom: 30rpx;
+          padding-bottom: 16rpx;
+
+          .ipt-text {}
+
+          .ipt-btn {
+            width: 30%;
+            background-color: #Fff;
+            border: 2rpx solid #83ADCC;
+            color: #83ADCC;
+            border-radius: 30rpx;
+            font-size: 26rpx;
+            padding: 0;
+            margin: 0;
+          }
+
+          .act-ipt-btn {
+            background-color: #F7F7F7;
+          }
+        }
+      }
+    }
+
+    .btn-box {
+      margin-top: 100rpx;
+      text-align: center;
+
+      .btn {
+        background-color: #83ADCC;
+        color: #fff;
+        border-radius: 40rpx;
+        width: 90%;
+        height: 80rpx;
+        line-height: 80rpx;
+        font-size: 28rpx;
+      }
+
+      .btn-text {
+        font-size: 26rpx;
+        color: #A2A2A2;
+        margin-top: 20rpx;
+      }
+    }
+  }
+</style>

+ 177 - 0
src/pageMerchant/mineModule/setting/index.vue

@@ -0,0 +1,177 @@
+<template>
+  <view class="container">
+    <view class="item-content">
+      <view class="item-box" @click="handlerSkipAccountSafety">
+        <view class="item-l"> 账号与安全 </view>
+        <view class="item-r">
+          <u-icon name="arrow-right" color="#C0C0C0" size="16"></u-icon>
+        </view>
+      </view>
+    </view>
+
+    <view class="item-content">
+      <!-- <view class="item-box">
+        <view class="item-l"> 新消息通知 </view>
+        <view class="item-r">
+          <u-switch v-model="value" activeColor="#5992BB"></u-switch>
+        </view>
+      </view> -->
+      <view class="item-box">
+        <view class="item-l"> 隐私政策 </view>
+        <view class="item-r">
+          <u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view>
+      <!-- <view class="item-box">
+        <view class="item-l"> 选择语言 </view>
+        <view class="item-r">
+          <p>简体中文</p><u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view> -->
+    </view>
+
+    <view class="item-content">
+      <view
+        class="item-box"
+        v-for="(item, index) of privacy_list"
+        :key="item.id"
+        @click="handlerSkipPrivacy(item)"
+      >
+        <view class="item-l"> {{ item.name }} </view>
+        <view class="item-r">
+          <u-icon name="arrow-right" color="#C0C0C0" :size="icon_size"></u-icon>
+        </view>
+      </view>
+    </view>
+
+    <view class="btn-box">
+      <view class="u-m-b-40">
+        <u-button text="切换身份" shape="circle" @click="showSwitchDialog = true"></u-button>
+      </view>
+      <u-button
+        type="primary"
+        text="退出登录"
+        shape="circle"
+        @click="loginOut_show = true"
+      ></u-button>
+    </view>
+    <u-modal
+      :show="showSwitchDialog"
+      :showCancelButton="true"
+      :title="title"
+      :content="content"
+      @confirm="confirmSwitch"
+      @cancel="showSwitchDialog = false"
+    ></u-modal>
+    <u-modal
+      :show="loginOut_show"
+      :content="content1"
+      :title="title"
+      :showCancelButton="true"
+      @confirm="handlerLoginOutConfirm"
+      @cancel="loginOut_show = false"
+    ></u-modal>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      value: true,
+      icon_size: 18,
+      loginOut_show: false,
+      content: '您确定要从商家端切换到用户端吗',
+      content1: '您确定要退出登录?确定将同时退出用户端哦',
+      title: '温馨提示',
+      privacy_list: [
+        {
+          name: '应用权限说明',
+          id: 0,
+        },
+        {
+          name: '个人信息收集清单',
+          id: 1,
+        },
+        {
+          name: '第三方共享个人信息清单',
+          id: 2,
+        },
+        {
+          name: '关于我们',
+          id: 3,
+        },
+      ],
+      showSwitchDialog: false,
+    };
+  },
+  methods: {
+    // 点击切换账号
+    // handlerSwitchAccount(){
+
+    // },
+    confirmSwitch() {
+      // 点击确认切换身份
+      // 处理身份切换逻辑
+      // this.$store.dispatch('SwitchIdentity', 'CUSTOMER');
+      uni.switchTab({
+        url: '/pages/tabbar/mine',
+      });
+      // ... 其他操作
+    },
+    // 跳转到账号与安全
+    handlerSkipAccountSafety() {
+      uni.navigateTo({
+        url: `/pages/tabBar/mine/setting/accountSafety`,
+      });
+    },
+    // 点击跳转到隐私页面
+    handlerSkipPrivacy(item) {
+      uni.navigateTo({
+        url: `/pages/tabBar/mine/setting/privacyPolicy?type=${item.id}`,
+      });
+    },
+    //点击退出登录
+    handlerLoginOutConfirm() {
+      this.loginOut_show = false;
+      this.$store.dispatch('Logout').then(() => {
+        uni.navigateTo({
+          url: `pages/login/index`,
+        });
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+  background-color: #f5f5f5;
+  min-height: calc(100vh - 40rpx);
+  padding-top: 40rpx;
+
+  .item-content {
+    margin-bottom: 40rpx;
+
+    .item-box {
+      display: flex;
+      justify-content: space-between;
+      background-color: #fff;
+      padding: 20rpx 40rpx;
+      font-size: 30rpx;
+
+      .item-r {
+        display: flex;
+        font-size: 26rpx;
+        color: #b0b0b0;
+      }
+    }
+  }
+}
+.btn-box {
+  margin: 140rpx 40rpx;
+}
+::v-deep .u-modal__content__text.data-v-713d0fd3 {
+  text-align: center;
+}
+</style>

+ 77 - 0
src/pageMerchant/mineModule/setting/phoneAndEmail.vue

@@ -0,0 +1,77 @@
+<template>
+  <view class="container">
+    <view class="top-img">
+      <img class="img" :src="type == 0 ? require('@/static/mine/icon_mine_phone.png') : require('@/static/mine/icon_mine_email.png')" alt="">
+    </view>
+
+    <view class="text-box">
+      当前绑定{{  type == 0 ? '手机号' : '邮箱' }} {{  type == 0 ? phone.substring(0, 5) + '****' + phone.substring(10) : email.substring(0, 3) + '**' + email.substring(6)  }}
+    </view>
+    <view class="btn-box">
+      <button class="btn" @click="handlerSkipBindPage"> {{ type == 0 ? '更换手机号' : '更换邮箱号' }} </button>
+    </view>
+  </view>
+</template>
+
+<script>
+  export default{
+    data(){
+      return{
+        type:0,
+        phone:'+8618226537738',
+        email:'743180155@qq.com'
+      }
+    },
+    onLoad(option){
+      this.type = option.type
+      switch (this.type) {
+        case '0':
+          uni.setNavigationBarTitle({
+            title: '绑定手机号'
+          });
+          break;
+        case '1':
+          uni.setNavigationBarTitle({
+            title: '绑定邮箱'
+          });
+          break;
+      }
+    },
+    methods:{
+      // 点击绑定手机号 / 邮箱号
+      handlerSkipBindPage(){
+        uni.navigateTo({
+          url:`/pages/tabBar/mine/setting/bindPhoneAndEmail?type=${this.type}`
+        })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .top-img{
+    margin: 100rpx auto;
+    text-align: center;
+    .img{
+      width: 400rpx;
+      height: 400rpx;
+    }
+  }
+  .text-box{
+    text-align: center;
+    margin: 50rpx 0;
+  }
+  .btn-box{
+    margin-top: 100rpx;
+    .btn{
+      background-color: #fff;
+      border: 2rpx solid #83ADCC;
+      color: #83ADCC;
+      border-radius: 40rpx;
+      width: 80%;
+      height: 80rpx;
+      line-height: 80rpx;
+      font-size:28rpx;
+    }
+  }
+</style>

+ 91 - 0
src/pageMerchant/mineModule/setting/privacyPolicy.vue

@@ -0,0 +1,91 @@
+<template>
+  <view class="container">
+    <u-parse :content="template_text"></u-parse>
+  </view>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        template_text: `<p class="title">
+      概述
+    </p>
+    <p class="text">
+      我们将非常重视您的个人信息保护。在您使用我们的服务前,请您仔细阅读并了解<隐私条款>。我们将严格按照本隐私条款使用和保护您的个人信息
+    </p>
+
+    <p class="title">
+      信息收集
+    </p>
+    <p class="text">
+      我们将非常重视您的个人信息保护。在您使用我们的服务前,请您仔细阅读并了解<隐私条款>。我们将严格按照本隐私条款使用和保护您的个人信息
+    </p>
+
+    <p class="title">
+      信息使用
+    </p>
+    <p class="text">
+      我们将非常重视您的个人信息保护。在您使用我们的服务前,请您仔细阅读并了解<隐私条款>。我们将严格按照本隐私条款使用和保护您的个人信息
+    </p>
+
+    <p class="title">
+      信息保护
+    </p>
+    <view class="text">
+      我们将非常重视您的个人信息保护。在您使用我们的服务前,请您仔细阅读并了解<隐私条款>。我们将严格按照本隐私条款使用和保护您的个人信息
+    </p>
+
+    <p class="title">
+      信息披露
+    </p>
+    <p class="text">
+      我们将非常重视您的个人信息保护。在您使用我们的服务前,请您仔细阅读并了解<隐私条款>。我们将严格按照本隐私条款使用和保护您的个人信息
+    </p>`
+      }
+    },
+    onLoad(option) {
+      let type = option.type
+      switch (type) {
+        case '0':
+          uni.setNavigationBarTitle({
+            title: '应用权限说明'
+          });
+          break;
+        case '1':
+          uni.setNavigationBarTitle({
+            title: '个人信息收集清单'
+          });
+          break;
+        case '2':
+          uni.setNavigationBarTitle({
+            title: '第三方共享个人信息清单'
+          });
+          break;
+        case '3':
+          uni.setNavigationBarTitle({
+            title: '关于我们'
+          });
+          break;
+      }
+
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .container {
+    padding: 40rpx;
+
+    .title {
+      font-size: 28rpx;
+      color: #000;
+      font-weight: bold;
+    }
+
+    .text{
+      margin: 20rpx 0 40rpx;
+      color: #6B7280;
+    }
+  }
+</style>

+ 1 - 1
src/pageMerchant/tabbar/mine.vue

@@ -167,7 +167,7 @@ export default {
         {
           id: '2',
           name: '设置',
-          url: '/pages/merchant/mine/setting/index',
+          url: '/pageMerchant/mineModule/setting/index',
         },
       ],
     };

+ 37 - 1
src/pages.json

@@ -264,7 +264,43 @@
           "style": {
           	"navigationBarTitleText": "我要开店"
           }
-        }
+        },
+		{
+		  "path": "mineModule/certification/storeInformation",
+		  "style": {
+		  	"navigationBarTitleText": "1/3门店信息"
+		  }
+		},
+		{
+		  "path": "mineModule/certification/corporateInformation",
+		  "style": {
+		  	"navigationBarTitleText": "2/3法人信息"
+		  }
+		},
+		{
+		  "path": "mineModule/certification/qualificationInformation",
+		  "style": {
+		  	"navigationBarTitleText": "2/3资质信息"
+		  }
+		},
+		{
+		  "path": "mineModule/certification/messageSubmit",
+		  "style": {
+		  	"navigationBarTitleText": "审核信息"
+		  }
+		},
+		{
+		  "path": "mineModule/certification/openStoreAppealDetail",
+		  "style": {
+		  	"navigationBarTitleText": "资质信息"
+		  }
+		},
+		{
+		  "path": "mineModule/setting/index",
+		  "style": {
+		  	"navigationBarTitleText": "设置"
+		  }
+		}
       ]
     }
 	],