lhl 2 лет назад
Родитель
Сommit
d032bd2c56

+ 336 - 340
src/pages/app/routine/download/index.vue

@@ -1,340 +1,336 @@
-<template>
-<!-- 设置-小程序 -->
-  <div>
-    <Card :bordered="false" dis-hover class="ivu-mt">
-      <div class="flex-wrapper">
-        <!-- :src="iframeUrl" -->
-        <div>
-          <iframe
-            class="iframe-box"
-            :src="iframeUrl"
-            frameborder="0"
-            ref="iframe"
-          ></iframe>
-          <div class="mask"></div>
-        </div>
-
-        <div class="right">
-          <div class="content">
-            <div class="content-box title">
-              <div class="line"></div>
-              <div class="right title">基础配置</div>
-            </div>
-            <div class="content-box">
-              <div class="left">appid:</div>
-              <div class="right">
-                <Input v-model="formData.routine_appId" placeholder="请输入appid" />
-              </div>
-            </div>
-            <div class="content-box">
-              <div class="left">AppSecret:</div>
-              <div class="right">
-                <Input v-model="formData.routine_appsecret" placeholder="请输入AppSecret" />
-              </div>
-            </div>
-            <div class="content-box">
-              <div class="left">小程序名称:</div>
-              <div class="right">
-                <Input v-model="formData.routine_name" placeholder="请输入小程序名称" />
-              </div>
-            </div>
-            <div class="content-box">
-              <div class="left">小程序客服类型:</div>
-              <div class="right">
-                <RadioGroup v-model="formData.routine_contact_type">
-                  <Radio :label="1">
-                    <span>小程序客服</span>
-                  </Radio>
-                  <Radio :label="0">
-                    <span>内置客服系统</span>
-                  </Radio>
-                </RadioGroup>
-              </div>
-            </div>
-          </div>
-          <div class="content" style="margin-bottom: 60px;">
-            <div class="content-box title">
-              <div class="line"></div>
-              <div class="right title">相关下载</div>
-            </div>
-            <Alert v-if="!pageData.appId && !pageData.code" closable>
-              <template slot="desc">
-                您尚未配置小程序信息,请<router-link
-                  :to="{ path: '/admin/setting/system_config?from=download' }"
-                  >立即设置</router-link
-                ></template
-              >
-            </Alert>
-           <!-- <div class="content-box">
-              <div class="left">小程序标题:</div>
-              <div class="right">{{ pageData.routine_name || "未命名" }}</div>
-            </div> -->
-            <div class="content-box">
-              <div class="left">小程序码:</div>
-              <div class="right">
-                <Button type="primary" @click="downLoadCode(pageData.code)"
-                  >下载小程序码</Button
-                >
-              </div>
-            </div>
-            <div class="content-box">
-              <div class="left">小程序源码包:</div>
-              <div class="right">
-                <!-- <span>是否已开通小程序直播</span> -->
-                <RadioGroup size="large" v-model="is_live">
-                  <Radio :label="0">未开通直播</Radio>
-                  <Radio :label="1">已开通直播</Radio>
-                </RadioGroup>
-              </div>
-            </div>
-            <div class="content-box last">
-              <div class="left"></div>
-              <div class="right">
-                <div class="tip">
-                  请谨慎选择是否有开通小程序直播功能,否则将影响小程序的发布
-                  可前往
-                  <a :href="pageData.help" target="_blank">帮助文档</a>
-                  查看如何开通直播功能
-                </div>
-
-                <Button class="mt10" type="primary" @click="downLoad()"
-                  >源码包下载</Button
-                >
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </Card>
-    <Card :bordered="false" dis-hover class="submit-card">
-      <Button type="primary" @click="submitForm">提交</Button>
-    </Card>
-  </div>
-</template>
-
-<script>
-import { routineDownload, routineInfo } from "@/api/app";
-import { saveBasicsApi, getNewFormBuildRuleApi } from "@/api/setting";
-import { mapState } from "vuex";
-export default {
-  name: "routineTemplate",
-  data() {
-    return {
-      grid: {
-        xl: 7,
-        lg: 7,
-        md: 12,
-        sm: 24,
-        xs: 24,
-      },
-      iframeUrl: `${location.origin}/pages/index/index`,
-      is_live: 1,
-      pageData: {
-        code: "",
-        routine_name: "",
-        help: "",
-        appId: "1",
-      },
-      formData: {
-        routine_appId: '',
-        routine_appsecret: '',
-        routine_name: '',
-        routine_contact_type: 1
-      }
-    };
-  },
-  created() {
-    routineInfo().then((res) => {
-      this.pageData = res.data;
-    });
-    getNewFormBuildRuleApi('routine').then(res => {
-        let data = res.data;
-        this.formData.routine_appId = data.routine_appId.value;
-        this.formData.routine_appsecret = data.routine_appsecret.value;
-        this.formData.routine_name = data.routine_name.value;
-        this.formData.routine_contact_type = data.routine_contact_type.value;
-    })
-  },
-  watch: {
-    $route(to, from) {},
-  },
-  computed: {
-    ...mapState("media", ["isMobile"]),
-    labelWidth() {
-      return this.isMobile ? undefined : 80;
-    },
-    labelPosition() {
-      return this.isMobile ? "top" : "left";
-    },
-  },
-  methods: {
-    downLoad() {
-      routineDownload({
-        is_live: this.is_live,
-      })
-        .then((res) => {
-          window.open(res.data.url);
-        })
-        .catch((err) => {
-          this.$Message.warning(err.msg);
-        });
-    },
-    downLoadCode(url) {
-      if (!url) return this.$Message.warning("暂无小程序码");
-      var image = new Image();
-      image.src = url;
-      // 解决跨域 Canvas 污染问题
-      image.setAttribute("crossOrigin", "anonymous");
-      image.onload = function () {
-        var canvas = document.createElement("canvas");
-        canvas.width = image.width;
-        canvas.height = image.height;
-        var context = canvas.getContext("2d");
-        context.drawImage(image, 0, 0, image.width, image.height);
-        var url = canvas.toDataURL(); //得到图片的base64编码数据
-        var a = document.createElement("a"); // 生成一个a元素
-        var event = new MouseEvent("click"); // 创建一个单击事件
-        a.download = name || "photo"; // 设置图片名称
-        a.href = url; // 将生成的URL设置为a.href属性
-        a.dispatchEvent(event); // 触发a的单击事件
-      };
-    },
-    submitForm () {
-      saveBasicsApi(this.formData).then(res => {
-        this.$Message.success(res.msg);
-      }).catch(res => {
-        this.$Message.error(res.msg);
-      });
-    }
-  },
-};
-</script>
-
-<style scoped lang="stylus">
-.template_sp_box {
-  padding: 5px 0;
-  box-sizing: border-box;
-}
-
-.template_sp {
-  display: block;
-  padding: 2px 0;
-  box-sizing: border-box;
-}
-
-.flex-wrapper {
-  display: flex;
-  border-radius: 10px;
-}
-
-.iframe-box {
-  width: 294px;
-  height: 523px;
-  border-radius: 10px;
-  margin-top: 14px;
-  margin-left: 24px;
-}
-
-.ivu-mt {
-  // height: 600px;
-}
-
-.content {
-  padding: 0 0 0 60px;
-  margin-top: 60px;
-
-  &:first-child {
-    margin-top: 40px;
-  }
-
-  .ivu-radio-wrapper {
-    margin-right: 30px;
-  }
-}
-
-.content > .title {
-  padding-bottom: 30px;
-  margin-bottom: 0;
-  font-size: 15px;
-  line-height: 15px;
-  color: #000000;
-}
-
-.content-box {
-  display: flex;
-  align-items: center;
-  margin-bottom: 26px;
-  color: #333;
-
-  .tip {
-    width: 348px;
-    margin-top: -12px;
-    font-size: 12px;
-    line-height: 17px;
-    color: #999999;
-  }
-
-  &.last {
-    .ivu-btn-primary {
-      margin-top: 14px;
-    }
-  }
-}
-
-.content-box:last-child {
-  margin-bottom: 0;
-}
-
-.content-box.last {
-  margin-top: 0;
-  color: #999999;
-}
-
-.line {
-  width: 3px;
-  height: 16px;
-  background-color: #1890FF;
-  margin-right: 11px;
-}
-
-.content-box .title {
-  font-size: 16px;
-  font-weight: bold;
-}
-
-.content-box > span {
-  color: #F5222D;
-  font-size: 20px;
-}
-
-.content-box .left {
-  width: 130px;
-  text-align: right;
-}
-
-.content-box .right {
-  width: 460px;
-}
-
-.rad {
-  margin-left: 20px;
-}
-
-.mask {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 312px;
-  height: 550px;
-  background-color: rgba(0, 0, 0, 0);
-}
-
-.submit-card {
-  margin-top: 14px;
-  text-align: center;
-
-  .ivu-btn {
-    padding: 0 20px;
-  }
-}
-</style>
+<template>
+	<!-- 设置-小程序 -->
+	<div>
+		<Card :bordered="false" dis-hover class="ivu-mt">
+			<div class="flex-wrapper">
+				<!-- :src="iframeUrl" -->
+				<div>
+					<iframe class="iframe-box" :src="iframeUrl" frameborder="0" ref="iframe"></iframe>
+					<div class="mask"></div>
+				</div>
+
+				<div class="right">
+					<div class="content">
+						<div class="content-box title">
+							<div class="line"></div>
+							<div class="right title">基础配置</div>
+						</div>
+						<div class="content-box">
+							<div class="left">appid:</div>
+							<div class="right">
+								<Input v-model="formData.routine_appId" placeholder="请输入appid" />
+							</div>
+						</div>
+						<div class="content-box">
+							<div class="left">AppSecret:</div>
+							<div class="right">
+								<Input v-model="formData.routine_appsecret" placeholder="请输入AppSecret" />
+							</div>
+						</div>
+						<div class="content-box">
+							<div class="left">小程序名称:</div>
+							<div class="right">
+								<Input v-model="formData.routine_name" placeholder="请输入小程序名称" />
+							</div>
+						</div>
+						<!-- <div class="content-box">
+							<div class="left">小程序客服类型:</div>
+							<div class="right">
+								<RadioGroup v-model="formData.routine_contact_type">
+									<Radio :label="1">
+										<span>小程序客服</span>
+									</Radio>
+									<Radio :label="0">
+										<span>内置客服系统</span>
+									</Radio>
+								</RadioGroup>
+							</div>
+						</div> -->
+					</div>
+					<!-- <div class="content" style="margin-bottom: 60px;">
+						<div class="content-box title">
+							<div class="line"></div>
+							<div class="right title">相关下载</div>
+						</div>
+						<Alert v-if="!pageData.appId && !pageData.code" closable>
+							<template slot="desc">
+								您尚未配置小程序信息,请<router-link :to="{ path: '/admin/setting/system_config?from=download' }">
+									立即设置</router-link></template>
+						</Alert>
+						<div class="content-box">
+							<div class="left">小程序标题:</div>
+							<div class="right">{{ pageData.routine_name || "未命名" }}</div>
+						</div>
+						<div class="content-box">
+							<div class="left">小程序码:</div>
+							<div class="right">
+								<Button type="primary" @click="downLoadCode(pageData.code)">下载小程序码</Button>
+							</div>
+						</div>
+						<div class="content-box">
+							<div class="left">小程序源码包:</div>
+							<div class="right">
+								<span>是否已开通小程序直播</span>
+								<RadioGroup size="large" v-model="is_live">
+									<Radio :label="0">未开通直播</Radio>
+									<Radio :label="1">已开通直播</Radio>
+								</RadioGroup>
+							</div>
+						</div>
+						<div class="content-box last">
+							<div class="left"></div>
+							<div class="right">
+								<div class="tip">
+									请谨慎选择是否有开通小程序直播功能,否则将影响小程序的发布
+									可前往
+									<a :href="pageData.help" target="_blank">帮助文档</a>
+									查看如何开通直播功能
+								</div>
+
+								<Button class="mt10" type="primary" @click="downLoad()">源码包下载</Button>
+							</div>
+						</div>
+					</div> -->
+				</div>
+			</div>
+		</Card>
+		<Card :bordered="false" dis-hover class="submit-card">
+			<Button type="primary" @click="submitForm">提交</Button>
+		</Card>
+	</div>
+</template>
+
+<script>
+	import {
+		routineDownload,
+		routineInfo
+	} from "@/api/app";
+	import {
+		saveBasicsApi,
+		getNewFormBuildRuleApi
+	} from "@/api/setting";
+	import {
+		mapState
+	} from "vuex";
+	export default {
+		name: "routineTemplate",
+		data() {
+			return {
+				grid: {
+					xl: 7,
+					lg: 7,
+					md: 12,
+					sm: 24,
+					xs: 24,
+				},
+				iframeUrl: `${location.origin}/pages/index/index`,
+				is_live: 1,
+				pageData: {
+					code: "",
+					routine_name: "",
+					help: "",
+					appId: "1",
+				},
+				formData: {
+					routine_appId: '',
+					routine_appsecret: '',
+					routine_name: '',
+					routine_contact_type: 1
+				}
+			};
+		},
+		created() {
+			routineInfo().then((res) => {
+				this.pageData = res.data;
+			});
+			getNewFormBuildRuleApi('routine').then(res => {
+				let data = res.data;
+				this.formData.routine_appId = data.routine_appId.value;
+				this.formData.routine_appsecret = data.routine_appsecret.value;
+				this.formData.routine_name = data.routine_name.value;
+				this.formData.routine_contact_type = data.routine_contact_type.value;
+			})
+		},
+		watch: {
+			$route(to, from) {},
+		},
+		computed: {
+			...mapState("media", ["isMobile"]),
+			labelWidth() {
+				return this.isMobile ? undefined : 80;
+			},
+			labelPosition() {
+				return this.isMobile ? "top" : "left";
+			},
+		},
+		methods: {
+			downLoad() {
+				routineDownload({
+						is_live: this.is_live,
+					})
+					.then((res) => {
+						window.open(res.data.url);
+					})
+					.catch((err) => {
+						this.$Message.warning(err.msg);
+					});
+			},
+			downLoadCode(url) {
+				if (!url) return this.$Message.warning("暂无小程序码");
+				var image = new Image();
+				image.src = url;
+				// 解决跨域 Canvas 污染问题
+				image.setAttribute("crossOrigin", "anonymous");
+				image.onload = function() {
+					var canvas = document.createElement("canvas");
+					canvas.width = image.width;
+					canvas.height = image.height;
+					var context = canvas.getContext("2d");
+					context.drawImage(image, 0, 0, image.width, image.height);
+					var url = canvas.toDataURL(); //得到图片的base64编码数据
+					var a = document.createElement("a"); // 生成一个a元素
+					var event = new MouseEvent("click"); // 创建一个单击事件
+					a.download = name || "photo"; // 设置图片名称
+					a.href = url; // 将生成的URL设置为a.href属性
+					a.dispatchEvent(event); // 触发a的单击事件
+				};
+			},
+			submitForm() {
+				saveBasicsApi(this.formData).then(res => {
+					this.$Message.success(res.msg);
+				}).catch(res => {
+					this.$Message.error(res.msg);
+				});
+			}
+		},
+	};
+</script>
+
+<style scoped lang="stylus">
+	.template_sp_box {
+		padding: 5px 0;
+		box-sizing: border-box;
+	}
+
+	.template_sp {
+		display: block;
+		padding: 2px 0;
+		box-sizing: border-box;
+	}
+
+	.flex-wrapper {
+		display: flex;
+		border-radius: 10px;
+	}
+
+	.iframe-box {
+		width: 294px;
+		height: 523px;
+		border-radius: 10px;
+		margin-top: 14px;
+		margin-left: 24px;
+	}
+
+	.ivu-mt {
+		// height: 600px;
+	}
+
+	.content {
+		padding: 0 0 0 60px;
+		margin-top: 60px;
+
+		&:first-child {
+			margin-top: 40px;
+		}
+
+		.ivu-radio-wrapper {
+			margin-right: 30px;
+		}
+	}
+
+	.content>.title {
+		padding-bottom: 30px;
+		margin-bottom: 0;
+		font-size: 15px;
+		line-height: 15px;
+		color: #000000;
+	}
+
+	.content-box {
+		display: flex;
+		align-items: center;
+		margin-bottom: 26px;
+		color: #333;
+
+		.tip {
+			width: 348px;
+			margin-top: -12px;
+			font-size: 12px;
+			line-height: 17px;
+			color: #999999;
+		}
+
+		&.last {
+			.ivu-btn-primary {
+				margin-top: 14px;
+			}
+		}
+	}
+
+	.content-box:last-child {
+		margin-bottom: 0;
+	}
+
+	.content-box.last {
+		margin-top: 0;
+		color: #999999;
+	}
+
+	.line {
+		width: 3px;
+		height: 16px;
+		background-color: #1890FF;
+		margin-right: 11px;
+	}
+
+	.content-box .title {
+		font-size: 16px;
+		font-weight: bold;
+	}
+
+	.content-box>span {
+		color: #F5222D;
+		font-size: 20px;
+	}
+
+	.content-box .left {
+		width: 130px;
+		text-align: right;
+	}
+
+	.content-box .right {
+		width: 460px;
+	}
+
+	.rad {
+		margin-left: 20px;
+	}
+
+	.mask {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 312px;
+		height: 550px;
+		background-color: rgba(0, 0, 0, 0);
+	}
+
+	.submit-card {
+		margin-top: 14px;
+		text-align: center;
+
+		.ivu-btn {
+			padding: 0 20px;
+		}
+	}
+</style>

+ 7 - 3
src/pages/setting/devise/index.vue

@@ -669,15 +669,19 @@
                     if (el.type == 0) {
                         basis.list.push(el);
                     }
-                    if (el.type == 1) {
-                        marketing.list.push(el);
+                    if (el.type == 1) {
+						console.log(el.name)
+						if(el.name !='wechat_live' && el.name !='home_short_video') {
+							marketing.list.push(el);
+						}
                     }
                     if (el.type == 2) {
                         tool.list.push(el);
                     }
                 });
                 tempArr.push(basis, marketing, tool);
-                this.leftMenu = tempArr;
+                this.leftMenu = tempArr;
+				console.log('tempArr',tempArr)
             },
             // toImage(val){
             //     html2canvas(this.$refs.imgContainer,{

+ 7 - 4
src/pages/setting/special/index.vue

@@ -39,7 +39,7 @@
             </div>
           </div>
           <div class="wrapper" v-if="tabCur == 0">
-            <div v-for="(item, index) in leftMenu" :key="index">
+            <div v-for="(item, index) in leftMenu" :key="index" >
               <div class="tips" @click="item.isOpen = !item.isOpen">
                 {{ item.title }}
 
@@ -646,15 +646,18 @@
           if (el.type == 0) {
             basis.list.push(el);
           }
-          if (el.type == 1) {
-            marketing.list.push(el);
+          if (el.type == 1) {
+			  if(el.name !='wechat_live' && el.name !='home_short_video') {
+			  	marketing.list.push(el);
+			  }
+            // marketing.list.push(el);
           }
           if (el.type == 2) {
             tool.list.push(el);
           }
         });
         tempArr.push(basis, marketing, tool);
-        this.leftMenu = tempArr;
+        this.leftMenu = tempArr;
       },
       // 保存配置
       saveConfig() {

+ 1544 - 1897
src/pages/user/setupUser/index.vue

@@ -1,1898 +1,1545 @@
-<template>
-  <div>
-    <Card :bordered="false" dis-hover class="ivu-mt">
-      <Tabs v-model="tabVal" @on-click="tabChange">
-        <!-- ---------------------------------基础信息-------------------------------- -->
-        <TabPane label="基础信息" name="basic">
-          <Form :model="basicsForm" :label-width="120">
-            <Row :gutter="24" type="flex">
-              <Col span="24">
-                <div class="basics">用户设置</div>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem label="用户默认头像:">
-                  <div
-                    class="uploadPictrue"
-                    v-if="authorizedPicture"
-                    @click="modalPicTap('单选')"
-                  >
-                    <img v-lazy="authorizedPicture" />
-                  </div>
-                  <div
-                    class="uploadPictrue"
-                    @click="modalPicTap('单选')"
-                    v-else
-                  >
-                    <span class="iconfont iconshangpinshuliang-jia"></span>
-                  </div>
-                  <div class="upload-text">建议尺寸:120*120px</div>
-                </FormItem>
-              </Col>
-              <Col span="14" class="mt10">
-                <FormItem label="用户信息设置:">
-                  <!-- 用户表格 -->
-                  <Table
-                    :data="listOne"
-                    :columns="columns"
-                    ref="table"
-                    class="mt25 goods"
-                    highlight-row
-                    :draggable="true"
-                    @on-drag-drop="onDragDrop"
-                  >
-                    <template slot-scope="{ row, index }" slot="drag">
-                      <div class="iconfont icondrag"></div>
-                    </template>
-                    <!-- 使用 -->
-                    <template slot-scope="{ row, index }" slot="use">
-                      <Checkbox
-                        v-model="listOne[index].use"
-                        :true-value="1"
-                        :false-value="0"
-                      ></Checkbox>
-                    </template>
-                    <!-- 必填 -->
-                    <template slot-scope="{ row, index }" slot="required">
-                      <Checkbox
-                        v-model="listOne[index].required"
-                        :disabled="listOne[index].use == 0"
-                        :true-value="1"
-                        :false-value="0"
-                      ></Checkbox>
-                    </template>
-                    <!-- 用户端展示 -->
-                    <template slot-scope="{ row, index }" slot="user_show">
-                      <Checkbox
-                        v-model="listOne[index].user_show"
-                        :disabled="listOne[index].use == 0"
-                        :true-value="1"
-                        :false-value="0"
-                      ></Checkbox>
-                    </template>
-
-                    <template slot-scope="{ row, index }" slot="action">
-                      <a @click="delInfo(index)" v-if="!listOne[index].param">删除</a>
-                    </template>
-                  </Table>
-                  <div class="upload-text goods">
-                    开启使用后,后台添加用户时可填写此信息;开启必填后,后台添加用户时此信息必须填写;开启用户端展示后,在商城用户个人信息中展示
-                  </div>
-                  <div class="addInfo" @click="addModel = true">新增信息</div>
-                  <div class="subBtn mt20" @click="handleSubmit('basic')">
-                    保存
-                  </div>
-                </FormItem>
-              </Col>
-            </Row>
-          </Form>
-        </TabPane>
-        <!-- ---------------------------------登录注册-------------------------------- -->
-        <TabPane label="登录注册" name="register">
-          <Form :model="loginForm" :label-width="120">
-            <Row :gutter="24" type="flex">
-              <Col span="24">
-                <div class="basics">登录设置</div>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem label="强制手机号绑定:">
-                  <Switch
-                    size="large"
-                    v-model="loginForm.store_user_mobile"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">商城登录时强制手机号登陆/绑定</div>
-                </FormItem>
-              </Col>
-              <Col span="24">
-                <div class="basics">注册有礼</div>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem label="注册有礼启用:">
-                  <Switch
-                    size="large"
-                    v-model="loginForm.newcomer_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">新用户注册后,会给用户赠送礼品</div>
-                </FormItem>
-              </Col>
-              <Col span="24" v-if="loginForm.newcomer_status === 1">
-                <FormItem
-                  label="是否限时:"
-                  v-if="loginForm.newcomer_status === 1"
-                >
-                  <RadioGroup v-model="loginForm.newcomer_limit_status">
-                    <Radio label="0">
-                      <span>不限时</span>
-                    </Radio>
-                    <Radio label="1">
-                      <span>限时</span>
-                    </Radio>
-                  </RadioGroup>
-                  <div class="upload-text">新人注册活动的时间设置</div>
-                  <div
-                    class="mt10"
-                    v-if="loginForm.newcomer_limit_status === '1'"
-                  >
-                    <Input
-                      v-model="loginForm.newcomer_limit_time"
-                      placeholder="请输入限时天数"
-                      class="inputw"
-                    ></Input>
-                    <span
-                      class="span-text"
-                      v-if="loginForm.newcomer_limit_status === '1'"
-                    >
-                      天
-                    </span>
-                  </div>
-                </FormItem>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem
-                  label="赠送积分:"
-                  v-if="loginForm.newcomer_status === 1"
-                >
-                  <Switch
-                    size="large"
-                    v-model="loginForm.register_integral_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">用户注册后即赠送一定数额的积分</div>
-                  <Input
-                    v-model="loginForm.register_give_integral"
-                    placeholder="请输入赠送积分"
-                    class="inputw"
-                    v-if="loginForm.register_integral_status === 1"
-                  ></Input>
-                  <span
-                    class="span-text"
-                    v-if="loginForm.register_integral_status === 1"
-                  >
-                    积分
-                  </span>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="loginForm.newcomer_status === 1"
-              >
-                <FormItem
-                  label="赠送余额:"
-                  v-if="loginForm.newcomer_status === 1"
-                >
-                  <Switch
-                    size="large"
-                    v-model="loginForm.register_money_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    用户注册后即赠送一定数额的储值余额
-                  </div>
-                  <Input
-                    v-model="loginForm.register_give_money"
-                    placeholder="请输入赠送余额"
-                    class="inputw"
-                    v-if="loginForm.register_money_status === 1"
-                  ></Input>
-                  <span
-                    class="span-text"
-                    v-if="loginForm.register_money_status === 1"
-                  >
-                    元
-                  </span>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="loginForm.newcomer_status === 1"
-              >
-                <div
-                  class="item"
-                  v-for="(item, indexw) in promotionsData"
-                  :key="indexw"
-                >
-                  <!-- ----赠送优惠券------ -->
-                  <FormItem
-                    label="赠送优惠券:"
-                    v-if="loginForm.newcomer_status === 1"
-                  >
-                    <Switch
-                      size="large"
-                      v-model="loginForm.register_coupon_status"
-                      :true-value="1"
-                      :false-value="0"
-                    >
-                      <span slot="open">开启</span>
-                      <span slot="close">关闭</span>
-                    </Switch>
-                    <div class="upload-text">用户注册后即赠送优惠券</div>
-                    <Table
-                      border
-                      :columns="columns1"
-                      :data="item.giveCoupon"
-                      ref="table"
-                      class="table"
-                      width="700"
-                      v-if="
-                        loginForm.register_coupon_status === 1 &&
-                        item.giveCoupon.length > 0
-                      "
-                    >
-                      <template slot-scope="{ row }" slot="coupon_price">
-                        <span v-if="row.coupon_type == 1">
-                          {{ row.coupon_price }}元
-                        </span>
-                        <span v-if="row.coupon_type == 2">
-                          {{ parseFloat(row.coupon_price) / 10 }}折({{
-                            row.coupon_price.toString().split('.')[0]
-                          }}%)
-                        </span>
-                      </template>
-                      <template slot-scope="{ row }" slot="coupon_type">
-                        <span v-if="row.coupon_type === 1">满减券</span>
-                        <span v-else>折扣券</span>
-                      </template>
-                      <template slot-scope="{ row, index }" slot="status">
-                        <a @click="delCoupon(index, indexw)">删除</a>
-                      </template>
-                    </Table>
-                    <div
-                      class="add-coupon"
-                      @click="addCoupon(indexw)"
-                      v-if="loginForm.register_coupon_status === 1"
-                    >
-                      + 添加优惠券
-                    </div>
-                  </FormItem>
-                </div>
-              </Col>
-              <!-- ----赠送优惠券------ -->
-              <Col
-                span="24"
-                class="mt10"
-                v-if="loginForm.newcomer_status === 1"
-              >
-                <FormItem label="首单优惠:">
-                  <Switch
-                    size="large"
-                    v-model="loginForm.first_order_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    新用户下单时可享折扣,折扣仅对商品打折,运费无折扣
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="
-                  loginForm.newcomer_status === 1 &&
-                  loginForm.first_order_status === 1
-                "
-              >
-                <FormItem label="折扣力度:">
-                  <Input
-                    v-model="loginForm.first_order_discount"
-                    placeholder="请输入折扣力度"
-                    class="inputw"
-                  >
-                  </Input>
-                  <span class="span-text">%</span>
-                  <div class="upload-text">
-                    折扣力度为:0-100%,1折为10%
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="
-                  loginForm.newcomer_status === 1 &&
-                  loginForm.first_order_status === 1
-                "
-              >
-                <FormItem label="折扣上限:">
-                  <Input
-                    v-model="loginForm.first_order_discount_limit"
-                    placeholder="请输入折扣上限"
-                    class="inputw"
-                  >
-                  </Input>
-                  <span class="span-text">元</span>
-                  <div class="upload-text">
-                    首单优惠最高金额,单位:元
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="loginForm.newcomer_status === 1"
-              >
-                <FormItem label="新人专享价:">
-                  <Switch
-                    size="large"
-                    v-model="loginForm.register_price_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    新用户可购买一件新人商品,购买后移动端不再显示新人专区
-                  </div>
-
-                  <!-- ----添加商品----- -->
-                  <vxe-table
-                    border="inner"
-                    ref="xTree"
-                    :column-config="{ resizable: true }"
-                    row-id="id"
-                    :tree-config="{ children: 'attrValue', reserve: true }"
-                    :data="tableData"
-                    @checkbox-all="selectAll"
-                    @checkbox-change="selectAll"
-                    class="goods"
-                    :header-cell-style="{
-                      background: '#F7F7F7',
-                      height: '40px',
-                    }"
-                    v-if="loginForm.register_price_status === 1"
-                  >
-                    <vxe-column
-                      type="checkbox"
-                      title="多选"
-                      width="90"
-                      tree-node
-                    ></vxe-column>
-                    <vxe-column
-                      field="id"
-                      title="ID"
-                      min-width="80"
-                    ></vxe-column>
-                    <vxe-column field="info" title="商品信息" min-width="200">
-                      <template v-slot="{ row }">
-                        <div class="imgPic acea-row row-middle">
-                          <viewer>
-                            <div class="pictrue">
-                              <img v-lazy="row.image" />
-                            </div>
-                          </viewer>
-                          <div class="info">
-                            <Tooltip
-                              max-width="200"
-                              placement="bottom"
-                              transfer>
-                              <span class="line2">{{ row.store_name }}{{ row.suk }}</span>
-                              <p slot="content">{{ row.store_name }}{{ row.suk }}</p>
-                            </Tooltip>
-                          </div>
-                        </div>
-                      </template>
-                    </vxe-column>
-
-                    <vxe-column
-                      field="price"
-                      title="售价"
-                      min-width="80"
-                    ></vxe-column>
-
-                    <vxe-column
-                      field="stock"
-                      title="库存"
-                      min-width="80"
-                    ></vxe-column>
-
-                    <!-- 活动价 -->
-                    <vxe-column field="date" title="活动价" min-width="200">
-                      <template v-slot="{ row }">
-                        <Input
-                          v-model="row.ativity_price"
-                          :border="false"
-                          placeholder="请输入活动价"
-                          @on-change="inputChange(row)"
-                        />
-                      </template>
-                    </vxe-column>
-                    <!-- 活动价 -->
-                    <vxe-column
-                      field="date"
-                      title="操作"
-                      min-width="50"
-                      fixed="right"
-                      align="center"
-                    >
-                      <template v-slot="{ row }">
-                        <a @click="del(row)">删除</a>
-                      </template>
-                    </vxe-column>
-                  </vxe-table>
-                  <div
-                    class="add-goods"
-                    v-if="loginForm.register_price_status === 1"
-                  >
-                    <Button @click="addGoods">添加商品</Button>
-                    <Button @click="activityShowFn" class="goods-btn">
-                      设置活动价
-                    </Button>
-                    <Button @click="delAll">批量删除</Button>
-                  </div>
-                  <!-- ----添加商品----- -->
-                </FormItem>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem
-                  label="规则详情:"
-                  v-if="loginForm.newcomer_status === 1"
-                >
-                  <WangEditor
-                    class="goods"
-                    :content="loginForm.newcomer_agreement"
-                    @editorContent="getEditorContent"
-                  ></WangEditor>
-                </FormItem>
-              </Col>
-              <Col>
-                <FormItem>
-                  <div
-                    class="subBtn"
-                    style="margin-top: 0px;"
-                    @click="handleSubmit('register')"
-                  >
-                    保存
-                  </div>
-                </FormItem>
-              </Col>
-            </Row>
-          </Form>
-        </TabPane>
-        <!-- ---------------------------------会员等级-------------------------------- -->
-        <TabPane label="会员等级" name="level">
-          <Form :model="vipForm" :label-width="120">
-            <Row :gutter="24" type="flex">
-              <Col span="24">
-                <div class="basics">基础设置</div>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem label="会员等级启用:">
-                  <Switch
-                    size="large"
-                    v-model="vipForm.member_func_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    开启会员等级后,可以获得经验值
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.member_func_status === 1"
-              >
-                <FormItem label="下单获得经验:">
-                  <Input
-                    v-model="vipForm.order_give_exp"
-                    placeholder="请输入获得经验值"
-                    class="inputw"
-                  />
-                  <div class="upload-text">
-                    用户实际支付1元,可以获得多少经验值
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.member_func_status === 1"
-              >
-                <FormItem label="签到获得经验:">
-                  <Input
-                    v-model="vipForm.sign_give_exp"
-                    placeholder="请输入签到获得经验值"
-                    class="inputw"
-                  />
-                  <div class="upload-text">用户签到一次,赠送多少经验值</div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.member_func_status === 1"
-              >
-                <FormItem label="邀请新用户获得经验:">
-                  <Input
-                    v-model="vipForm.invite_user_exp"
-                    placeholder="请输入获取新用户获得经验值"
-                    class="inputw"
-                  />
-                  <div class="upload-text">
-                    邀请一个新用户注册,赠送多少经验值
-                  </div>
-                </FormItem>
-              </Col>
-              <Col span="24">
-                <div class="basics">激活有礼</div>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem label="会员卡激活:">
-                  <Switch
-                    size="large"
-                    v-model="vipForm.level_activate_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    开启后用户等级功能不能直接使用,需要用户填写信息,激活后才能使用用户等级
-                  </div>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.level_activate_status === 1"
-              >
-                <FormItem label="会员卡信息:">
-                  <Table
-                    :columns="columns3"
-                    :data="listVip"
-                    ref="table"
-                    class="mt10 mb10 goods"
-                    :loading="loading"
-                    highlight-row
-                    no-userFrom-text="暂无数据"
-                    no-filtered-userFrom-text="暂无筛选结果"
-                    v-if="listVip.length > 0"
-                  >
-                    <!-- 必填 -->
-                    <template slot-scope="{ row, index }" slot="required">
-                      <Checkbox v-model="listVip[index].required" @on-change="tapCheckbox"></Checkbox>
-                    </template>
-                    <template slot-scope="{ row, index }" slot="action">
-                      <a @click="delVip(row, index)">删除</a>
-                    </template>
-                  </Table>
-                  <Button @click="informationTap">
-                    选择信息
-                  </Button>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.level_activate_status === 1"
-              >
-                <FormItem label="赠送积分:">
-                  <Switch
-                    size="large"
-                    v-model="vipForm.level_integral_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    用户激活会员卡后即赠送一定数额的积分
-                  </div>
-                  <Input
-                    v-model="vipForm.level_give_integral"
-                    placeholder="请输入赠送的积分"
-                    class="inputw"
-                    v-if="vipForm.level_integral_status === 1"
-                  ></Input>
-                  <span
-                    class="span-text"
-                    v-if="vipForm.level_integral_status === 1"
-                  >
-                    积分
-                  </span>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.level_activate_status === 1"
-              >
-                <FormItem label="赠送余额:">
-                  <Switch
-                    size="large"
-                    v-model="vipForm.level_money_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    用户激活会员卡后即赠送一定数额的储值余额
-                  </div>
-                  <Input
-                    v-model="vipForm.level_give_money"
-                    placeholder="请输入赠送的余额"
-                    class="inputw"
-                    v-if="vipForm.level_money_status === 1"
-                  />
-                  <span
-                    class="span-text"
-                    v-if="vipForm.level_money_status === 1"
-                  >
-                    元
-                  </span>
-                </FormItem>
-              </Col>
-              <Col
-                span="24"
-                class="mt10"
-                v-if="vipForm.level_activate_status === 1"
-              >
-                <FormItem label="赠送优惠券:">
-                  <Switch
-                    size="large"
-                    v-model="vipForm.level_coupon_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                  <div class="upload-text">
-                    用户激活会员卡后即赠送优惠券
-                  </div>
-
-                  <div
-                    class="item"
-                    v-for="(item, indexw) in promotionsData"
-                    :key="indexw"
-                  >
-                    <div
-                      class="add-coupon"
-                      @click="addCoupon(indexw)"
-                      v-if="vipForm.level_coupon_status === 1"
-                    >
-                      + 添加优惠券
-                    </div>
-                    <Table
-                      border
-                      :columns="columns1"
-                      :data="vipCopon"
-                      ref="table"
-                      class="table"
-                      width="700"
-                      v-if="
-                        vipCopon.length > 0 && vipForm.level_coupon_status === 1
-                      "
-                    >
-                      <template slot-scope="{ row }" slot="coupon_price">
-                        <span v-if="row.coupon_type == 1">
-                          {{ row.coupon_price }}元
-                        </span>
-                        <span v-if="row.coupon_type == 2">
-                          {{ parseFloat(row.coupon_price) / 10 }}折({{
-                            row.coupon_price.toString().split('.')[0]
-                          }}%)
-                        </span>
-                      </template>
-                      <template slot-scope="{ row }" slot="coupon_type">
-                        <span v-if="row.coupon_type === 1">满减券</span>
-                        <span v-else>折扣券</span>
-                      </template>
-                      <template slot-scope="{ row, index }" slot="status">
-                        <a @click="delCoupon(index, indexw)">删除</a>
-                      </template>
-                    </Table>
-                  </div>
-                </FormItem>
-              </Col>
-              <Col>
-                <FormItem>
-                  <div class="subBtn mt10" @click="handleSubmit('level')">
-                    保存
-                  </div>
-                </FormItem>
-              </Col>
-            </Row>
-          </Form>
-        </TabPane>
-        <!-- ---------------------------------付费会员-------------------------------- -->
-        <TabPane label="付费会员" name="svip">
-          <Form :model="basicsForm" :label-width="120">
-            <Row :gutter="24" type="flex">
-              <Col span="24" class="mt10">
-                <FormItem label="付费会员启用:">
-                  <Switch
-                    size="large"
-                    v-model="member_card_status"
-                    :true-value="1"
-                    :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                </FormItem>
-                <FormItem label="付费会员价展示:" v-if="member_card_status == 1">
-                  <Switch
-                      size="large"
-                      v-model="svip_price_status"
-                      :true-value="1"
-                      :false-value="0"
-                  >
-                    <span slot="open">开启</span>
-                    <span slot="close">关闭</span>
-                  </Switch>
-                </FormItem>
-              </Col>
-              <Col span="24" class="mt10">
-                <FormItem>
-                  <div
-                    style="margin-top: 0px;"
-                    class="subBtn"
-                    @click="handleSubmit('svip')"
-                  >
-                    保存
-                  </div>
-                </FormItem>
-              </Col>
-            </Row>
-          </Form>
-        </TabPane>
-      </Tabs>
-    </Card>
-    <!-- 选择图片弹窗 -->
-    <Modal
-      v-model="modalPic"
-      width="960px"
-      scrollable
-      footer-hide
-      closable
-      title="上传用户图片"
-      :mask-closable="false"
-      :z-index="1"
-    >
-      <uploadPictures
-        :isChoice="isChoice"
-        @getPic="getPic"
-        :gridBtn="gridBtn"
-        :gridPic="gridPic"
-        v-if="modalPic"
-      ></uploadPictures>
-    </Modal>
-    <!-- 新增信息 -->
-    <Modal
-      v-model="addModel"
-      title="新增信息"
-      class-name="vertical-center-modal"
-      scrollable
-      @on-cancel="cancelSubmit"
-    >
-      <Form
-        ref="formValidate"
-        :model="formItem"
-        :rules="ruleValidate"
-        :label-width="90"
-      >
-        <Row>
-          <Col>
-            <FormItem label="信息名称:" prop="info">
-              <Input
-                v-model="formItem.info"
-                placeholder="请输入信息名称"
-                style="width: 300px;"
-              />
-            </FormItem>
-          </Col>
-          <Col>
-            <FormItem label="信息格式 :" prop="format">
-              <Select v-model="formItem.format" style="width: 300px;">
-                <Option
-                  v-for="item in formatList"
-                  :value="item.value"
-                  :key="item.value"
-                >
-                  {{ item.label }}
-                </Option>
-              </Select>
-            </FormItem>
-          </Col>
-          <Col>
-            <FormItem
-              label="单选项 :"
-              prop="singlearr"
-              v-if="formItem.format === 'radio'"
-            >
-              <div class="arrbox">
-                <Tag
-                  @on-close="handleClose"
-                  :name="item"
-                  :closable="true"
-                  v-for="(item, index) in formItem.singlearr"
-                  :key="index"
-                >
-                  {{ item }}
-                </Tag>
-                <input
-                  class="arrbox_ip percentage9"
-                  v-model="formItem.single"
-                  placeholder="请输入选项,回车确认"
-                  @keyup.enter="addlabel"
-                />
-              </div>
-            </FormItem>
-          </Col>
-          <Col>
-            <FormItem label="提示文案:" prop="tip">
-              <Input
-                v-model="formItem.tip"
-                placeholder="请输入提示文案"
-                style="width: 300px;"
-              />
-            </FormItem>
-          </Col>
-        </Row>
-      </Form>
-
-      <div slot="footer" class="acea-row row-right">
-        <Button @click="cancelSubmit">取消</Button>
-        <Button type="primary" @click="addSubmit">提交</Button>
-      </div>
-    </Modal>
-    <!-- 添加优惠券 -->
-    <coupon-list
-      ref="couponTemplates"
-      @getCouponList="getCouponList"
-      :discount="true"
-    ></coupon-list>
-    <!-- 添加商品 -->
-    <Modal
-      v-model="modals"
-      title="商品列表"
-      footerHide
-      class="paymentFooter"
-      scrollable
-      width="900"
-    >
-      <goods-list
-        ref="goodslist"
-        :ischeckbox="true"
-        :isdiy="true"
-        @getProductId="getProductId"
-        v-if="modals"
-      ></goods-list>
-    </Modal>
-    <!-- 选择信息 -->
-
-    <information
-      ref="information"
-      @getInfoList="getInfoList"
-      :listOne="listOne"
-    ></information>
-
-    <!-- 设置活动价 -->
-    <Modal
-      v-model="activityShow"
-      title="设置"
-      class="paymentFooter"
-      width="600"
-      :closable="false"
-      :mask-closable="false"
-      footer-hide
-    >
-      <Form :model="formActive" :rules="ruleActive" ref="activityShow" :label-width="100">
-        <FormItem label="设置活动价:" prop="activeInput">
-          <InputNumber
-            v-model="formActive.activeInput"
-            placeholder="请输入活动价格"
-            class="inputw"
-            :min="0"
-          >
-          </InputNumber>
-        </FormItem>
-        <div class="acea-row row-right">
-          <Button @click="cancel('activityShow')">取消</Button>
-          <Button class="ml15 mr5" type="primary" @click="ok('activityShow')">提交</Button>
-        </div>
-      </Form>
-    </Modal>
-  </div>
-</template>
-<script>
-import uploadPictures from '@/components/uploadPictures'
-import couponList from '@/components/couponList'
-import goodsList from '@/components/goodsList'
-import information from '@/components/information'
-import WangEditor from '@/components/wangEditor/index.vue'
-import { settingUser, setUser } from '@/api/user.js'
-export default {
-  name: 'setupUser',
-  components: {
-    uploadPictures,
-    couponList,
-    goodsList,
-    WangEditor,
-    information,
-  },
-  props: {},
-  data() {
-    const validatorSingle = (rule, value, callback)=>{
-      if(value.length<2){
-        callback(new Error('单选项最少输入2个'));
-      }else{
-        callback();
-      }
-    };
-    const validatorActive = (rule, value, callback)=>{
-      if(value===""||value == null || value<0){
-        callback(new Error('活动价不能为空'));
-      }else{
-        callback();
-      }
-    };
-    return {
-      tabVal: 'basic',
-      paySwitch: 1,
-      phoneSwitch: 1,
-      indexCoupon: 0,
-      val: '',
-      formActive:{
-        activeInput: 0
-      },
-      basicsForm: {},
-      selectArr: [],
-      value: '',
-      formItem: {
-        info: '',
-        format: '',
-        tip: '',
-        single: '',
-        singlearr: [],
-      },
-      activityShow: false,
-      isChoice: '单选',
-      modalPic: false,
-      loading: false,
-      addModel: false,
-      inputShow: false,
-      modals: false, // 添加商品弹窗
-      authorizedPicture: '', // 图片
-      //选中的数组
-      ids: [],
-      // 基础信息表单
-      // basicsForm: {
-      //   h5_avatar: 'jjj',
-      //   format: '',
-      // },
-      avatar: {},
-
-      member_card_status:1,
-      svip_price_status: 0,
-      // 登录注册表单
-      loginForm: {
-        newcomer_status: '1',
-        store_user_mobile: '', // 手机号强制开启
-        newcomer_limit_status: '', // 是否限时
-        newcomer_limit_time: '', // 限时时间
-        register_integral_status: '', // 赠送积分开启或者关闭 1开启0关闭
-        register_give_integral: '', // 赠送积分数量
-        register_money_status: '', // 赠送余额开启
-        register_give_money: '', // 赠送余额数量
-        register_coupon_status: '', // 赠送优惠券开启
-        register_give_coupon: [], // 赠送优惠券数量
-        first_order_status: '', // 首单优惠开启
-        first_order_discount: '', // 首单优惠折扣
-        first_order_discount_limit: '', // 首单优惠折扣上限
-        register_price_status: '', // 新人专享价开启
-        product: [],
-        newcomer_agreement: '',
-      },
-      newcomer_agreement: '',
-      product_list: [],
-      // 会员等级表单
-      vipForm: {
-        member_func_status: 0, // 等级启用
-        sign_give_exp: '', //签到赠送
-        order_give_exp: '', // 下单赠送
-        invite_user_exp: '', // 邀请新用户
-        level_activate_status: 1, // 会员卡激活开启 1开启 0 关闭
-        level_extend_info: [], // 会员卡信息
-        level_integral_status: 1, // 赠送积分开启
-        level_give_integral: 8, // 赠送积分数量
-        level_money_status: 1, // 赠送余额开启
-        level_give_money: 15, // 赠送余额数量
-        level_coupon_status: 1, // 赠送优惠券开启
-        level_give_coupon: [], // 赠送优惠券数量
-      },
-      isShow: false,
-
-      formatList: [
-        {
-          value: 'text',
-          label: '文本',
-        },
-        {
-          value: 'num',
-          label: '数字',
-        },
-        {
-          value: 'date',
-          label: '日期',
-        },
-        {
-          value: 'radio',
-          label: '单选项',
-        },
-        {
-          value: 'id',
-          label: '身份证',
-        },
-        {
-          value: 'mail',
-          label: '邮件',
-        },
-        {
-          value: 'phone',
-          label: '手机号',
-        },
-        {
-          value: 'address',
-          label: '地址',
-        },
-      ],
-      gridBtn: {
-        xl: 4,
-        lg: 8,
-        md: 8,
-        sm: 8,
-        xs: 8,
-      },
-      gridPic: {
-        xl: 6,
-        lg: 8,
-        md: 12,
-        sm: 12,
-        xs: 12,
-      },
-      columns: [
-        {
-          title: '',
-          slot: 'drag',
-          width: 50,
-        },
-        {
-          title: '信息',
-          key: 'info',
-          width: 120,
-        },
-        {
-          title: '使用',
-          slot: 'use',
-          width: 70,
-        },
-        {
-          title: '必填',
-          slot: 'required',
-          width: 70,
-        },
-        {
-          title: '用户端展示',
-          slot: 'user_show',
-          minWidth: 70,
-        },
-        {
-          title: '信息格式',
-          key: 'label',
-          minWidth: 120,
-        },
-        {
-          title: '提示信息',
-          key: 'tip',
-          minWidth: 120,
-        },
-        {
-          title: '操作',
-          slot: 'action',
-          minWidth: 80,
-        },
-      ],
-      columns3: [
-        {
-          title: '信息',
-          key: 'info',
-          width: 120,
-        },
-
-        {
-          title: '必填',
-          slot: 'required',
-          width: 70,
-        },
-
-        {
-          title: '信息格式',
-          key: 'label',
-          minWidth: 120,
-        },
-        {
-          title: '提示信息',
-          key: 'tip',
-          minWidth: 120,
-        },
-        {
-          title: '操作',
-          slot: 'action',
-          minWidth: 80,
-        },
-      ],
-      listOne: [],
-      listVip: [],
-      promotionsData: [
-        {
-          threshold: 0,
-          give_integral: 0,
-          checkIntegral: false,
-          checkCoupon: false,
-          checkGoods: false,
-          giveProducts: [],
-          giveCoupon: [],
-        },
-      ],
-      tableData: [],
-      columns1: [
-        {
-          title: '优惠券名称',
-          key: 'title',
-          minWidth: 150,
-        },
-        {
-          title: '类型',
-          slot: 'coupon_type',
-          minWidth: 80,
-        },
-        {
-          title: '面值',
-          slot: 'coupon_price',
-          minWidth: 100,
-        },
-        {
-          title: '最低消费额',
-          key: 'use_min_price',
-          minWidth: 100,
-        },
-        // {
-        //   title: '限量',
-        //   key: 'limit_num',
-        //   width: 120,
-        //   render: (h, params) => {
-        //     return h('div', [
-        //       h('InputNumber', {
-        //         props: {
-        //           value: params.row.limit_num,
-        //           placeholder: '请输入',
-        //           precision: 0,
-        //           min: 0,
-        //         },
-        //         on: {
-        //           'on-change': (e) => {
-        //             params.row.limit_num = e
-        //             this.promotionsData[params.row.indexCoupon].giveCoupon[
-        //               params.index
-        //             ].limit_num = e
-        //           },
-        //         },
-        //       }),
-        //     ])
-        //   },
-        // },
-        {
-          title: '操作',
-          slot: 'status',
-          align: 'center',
-          minWidth: 80,
-        },
-      ],
-      ruleValidate: {
-        info: [
-          {
-            required: true,
-            message: '信息名称不能为空',
-            trigger: 'blur',
-          },
-        ],
-        format: [
-          {
-            required: true,
-            message: '信息格式不能为空',
-            trigger: 'blur',
-          },
-        ],
-        tip: [
-          {
-            required: true,
-            message: '信息文案不能为空',
-            trigger: 'blur',
-          },
-        ],
-        singlearr: [
-          { required: true, validator:validatorSingle,type: 'array', trigger: 'blur' },
-        ],
-      },
-      ruleActive:{
-        activeInput: [
-          {
-            required: true,
-            validator:validatorActive,
-            trigger: 'blur'
-          },
-        ]
-      },
-      couponType: 0,
-      vipCopon: [],
-    }
-  },
-  computed: {},
-  created() {
-    this.settingUser()
-  },
-  mounted() {},
-
-  methods: {
-    tapCheckbox(e){
-      console.log('sdsdsd',e)
-    },
-    informationTap(){
-      this.$refs.information.isShow = true;
-    },
-    onDragDrop(first, end) {
-      //转成int型,方便后续使用
-      first = parseInt(first)
-      end = parseInt(end)
-
-      let tmp = this.listOne[first]
-
-      if(first < end) {
-        for(var i=first+1; i<=end; i++) {
-          this.listOne.splice(i-1,1,this.listOne[i])
-        }
-        this.listOne.splice(end,1,tmp)
-      }
-
-      if(first > end) {
-        for(var i=first; i>end; i--) {
-          this.listOne.splice(i, 1, this.listOne[i-1])
-        }
-        this.listOne.splice(end, 1, tmp)
-      }
-
-      //重置排序值
-      let index = 1
-      this.listOne.forEach(e => {
-        e.sort = index
-        index++
-      })
-      //排序值重置后,向后台发送请求,更新数据库中数据的排序,这里就不写了
-      //axios
-
-      console.log(JSON.stringify(this.listOne))
-    },
-    // 获取用户配置
-    settingUser() {
-      settingUser(this.tabVal).then((res) => {
-        if (this.tabVal === 'basic') {
-          this.authorizedPicture = res.data.h5_avatar
-          this.listOne = res.data.user_extend_info
-        }
-        if (this.tabVal === 'register') {
-          this.loginForm = res.data
-          this.promotionsData[0].giveCoupon = res.data.register_give_coupon
-
-          // 添加活动价格
-          const addKey = (uni) =>
-            uni.map((item) => ({
-              ...item,
-              ativity_price: item.price,
-              id: item.product_id,
-              attrValue: item.attrValue ? addKey(item.attrValue) : [],
-            }))
-          this.tableData = addKey(res.data.product)
-        }
-        if (this.tabVal === 'level') {
-          this.vipForm = res.data
-          this.vipCopon = res.data.level_give_coupon
-          res.data.level_extend_info.forEach(item=>{
-            if(item.required==1 || item.required==true){
-              item.required = true
-            }else{
-              item.required = false
-            }
-          });
-          this.listVip = res.data.level_extend_info
-        }
-        if (this.tabVal === 'svip') {
-          this.member_card_status = res.data.member_card_status;
-          this.svip_price_status = res.data.svip_price_status
-        }
-      })
-    },
-
-    //全选
-    selectAll(row) {
-      this.selectArr = row.records
-    },
-
-    // 批量设置活动价
-    activityShowFn() {
-      if (this.selectArr.length === 0) {
-        this.$Message.error('请先选择设置活动价的商品!')
-      } else {
-        this.activityShow = true
-      }
-    },
-
-    cancel(name){
-      this.activityShow = false
-      this.$refs[name].resetFields();
-    },
-
-    ok(name) {
-      this.$refs[name].validate((valid)=>{
-        if(valid){
-          this.selectArr.forEach((item) => {
-            item.ativity_price = this.formActive.activeInput
-          });
-          this.activityShow = false
-          this.$refs[name].resetFields();
-        }
-      });
-    },
-
-    // 批量删除商品
-    delAll() {
-      if (this.selectArr.length === 0) {
-        this.$Message.error('请先选择删除的商品!')
-      } else {
-        this.$Modal.confirm({
-          title: '删除确认',
-          content: '您确认要删除这些商品?',
-          onOk: () => {
-            this.selectArr.forEach((row) => {
-              this.tableData.forEach((i, index) => {
-                if (row.id == i.id) {
-                  this.tableData.splice(index, 1)
-                } else {
-                  i.attrValue.forEach((j, indexn) => {
-                    if (row.id == j.id) {
-                      if (i.attrValue.length == 1) {
-                        this.tableData.splice(index, 1)
-                      } else {
-                        i.attrValue.splice(indexn, 1)
-                      }
-                    }
-                  })
-                }
-              })
-            })
-          },
-        })
-      }
-    },
-
-    // 切换tabs
-    tabChange() {
-      this.settingUser()
-    },
-
-    // 选中图片
-    getPic(pc) {
-      this.authorizedPicture = pc.att_dir
-      this.modalPic = false
-    },
-
-    // 选择图片
-    modalPicTap() {
-      this.modalPic = true
-    },
-
-    // 取消新增信息
-    cancelSubmit() {
-      this.formItem = {
-        info: '',
-        format: '',
-        tip: '',
-        single: '',
-        singlearr: [],
-      }
-      this.addModel = false
-      this.$refs.formValidate.resetFields()
-    },
-    // 提交信息
-    addSubmit() {
-      this.$refs.formValidate.validate((valid) => {
-        let obj = {
-          ...this.formItem,
-          required: 0,
-          use: 0,
-          user_show: 0,
-          label: ''
-        };
-        switch (obj.format) {
-          case 'text':
-            obj.label = '文本';
-            break;
-          case 'num':
-            obj.label = '数字';
-            break;
-          case 'date':
-            obj.label = '日期';
-            break;
-          case 'radio':
-            obj.label = '单选项';
-            break;
-          case 'id':
-            obj.label = '身份证';
-            break;
-          case 'mail':
-            obj.label = '邮件';
-            break;
-          case 'phone':
-            obj.label = '手机号';
-            break;
-          case 'address':
-            obj.label = '地址';
-            break;
-        }
-        let labelName = [];
-        this.listOne.forEach(item=>{
-          labelName.push(item.info)
-        });
-        if (valid) {
-          if(labelName.indexOf(obj.info) == -1){
-            this.listOne.push(obj)
-            this.cancelSubmit();
-          }else{
-            this.$Message.error('该信息已经添加过')
-          }
-        }
-      })
-    },
-    // 信息删除
-    delInfo(index) {
-      this.listOne.splice(index, 1)
-    },
-    delVip(row, index) {
-      this.listVip.splice(index, 1)
-    },
-
-    // 输入后回车
-    addlabel() {
-      if (!this.formItem.single) {
-        return
-      }
-      let count = this.formItem.singlearr.indexOf(this.formItem.single)
-      if (count === -1) {
-        this.formItem.singlearr.push(this.formItem.single)
-      }
-      this.formItem.single = ''
-    },
-
-    // 表单提交
-    handleSubmit(val) {
-      switch (val) {
-        case 'basic':
-          let data = {
-            h5_avatar: this.authorizedPicture,
-            user_extend_info: this.listOne,
-          }
-          setUser(val, data).then((res) => {
-            this.$Message.success(res.msg)
-          })
-          break
-        case 'register':
-          this.product_list = []
-          this.tableData.forEach((item) => {
-            let obj = {
-              product_id: item.id,
-              price: item.ativity_price,
-              attr: [],
-            }
-
-            if (item.attrValue.length) {
-              item.attrValue.forEach((j) => {
-                let newAttr = { unique: j.unique, price: j.ativity_price }
-                obj.attr.push(newAttr)
-              })
-            }
-            this.product_list.push(obj)
-          })
-          let ids = this.promotionsData[0].giveCoupon.map((item) => item.id)
-          this.loginForm.register_give_coupon = Array.from(new Set(ids))
-          this.loginForm.product = this.product_list
-          this.loginForm.newcomer_agreement = this.newcomer_agreement
-          setUser(val, this.loginForm).then((res) => {
-            this.$Message.success(res.msg)
-          }).catch(err=>{
-            this.$Message.error(err.msg)
-          })
-          break
-        case 'level':
-          let arrIds = this.vipCopon.map((item) => item.id)
-          this.vipForm.level_give_coupon = Array.from(new Set(arrIds))
-          this.vipForm.level_extend_info = this.listVip
-          setUser(val, this.vipForm).then((res) => {
-            this.$Message.success(res.msg)
-          });
-          break
-        case 'svip':
-          let vipData = {
-            member_card_status: this.member_card_status,
-            svip_price_status: this.svip_price_status,
-          }
-          setUser(val, vipData).then((res) => {
-            this.$Message.success(res.msg)
-          })
-          break
-      }
-    },
-
-    // 添加优惠券
-    addCoupon(index) {
-      this.indexCoupon = index
-      this.$refs.couponTemplates.isTemplate = true
-      this.$refs.couponTemplates.tableList()
-    },
-    handleClose(event, name) {
-      const index = this.formItem.singlearr.indexOf(name)
-      this.formItem.singlearr.splice(index, 1)
-    },
-
-    // 优惠卷表格
-    getCouponList(data) {
-      let indexCoupon = this.indexCoupon
-      this.$refs.couponTemplates.isTemplate = false
-      data.forEach((j) => {
-        j.limit_num = 0
-        j.indexCoupon = indexCoupon
-      })
-      let list = this.promotionsData[indexCoupon].giveCoupon.concat(data)
-      let uni = this.unique(list)
-      if (this.tabVal === 'register') {
-        this.promotionsData[indexCoupon].giveCoupon = uni
-      } else {
-        this.vipCopon = uni
-      }
-    },
-
-    // 删除优惠券
-    delCoupon(index, indexw) {
-      if (this.tabVal === 'level') {
-        this.vipCopon.splice(index, 1)
-      }
-      this.promotionsData[indexw].giveCoupon.splice(index, 1)
-    },
-
-    // 添加商品
-    addGoods(index) {
-      this.modals = true
-    },
-
-    // 设置活动价格
-    inputChange(row) {
-      if (row.attrValue.length > 0) {
-        row.attrValue.forEach((item) => {
-          item.ativity_price = row.ativity_price
-        })
-      }
-    },
-
-    // 删除商品
-    del(row) {
-      this.tableData.forEach((i, index) => {
-        if (row.id == i.id) {
-          return this.tableData.splice(index, 1)
-        } else {
-          i.attrValue.forEach((j, indexn) => {
-            if (row.id == j.id) {
-              if (i.attrValue.length == 1) {
-                return this.tableData.splice(index, 1)
-              } else {
-                return i.attrValue.splice(indexn, 1)
-              }
-            }
-          })
-        }
-      })
-    },
-
-    // 对象数组去重
-    unique(arr) {
-      const res = new Map()
-      return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
-    },
-
-    // 添加商品
-    getProductId(data) {
-      this.modals = false
-      let list = this.tableData.concat(data)
-      let uni = this.unique(list)
-      uni.forEach((i) => {
-        i.attrValue.forEach((j) => {
-          j.cate_name = i.cate_name
-          j.store_label = i.store_label
-        })
-      })
-
-      // 添加活动价格
-      const addKey = (uni) =>
-        uni.map((item) => ({
-          ...item,
-          ativity_price: '',
-          attrValue: item.attrValue ? addKey(item.attrValue) : [], // 这里要判断原数据有没有子级如果没有判断会报错
-        }))
-      this.tableData = addKey(uni)
-    },
-
-    // 选择信息
-    getInfoList(data) {
-      let list = this.listVip.concat(data)
-      let uni = this.uniqueVip(list)
-      uni.forEach(item=>{
-        if(item.required==1 || item.required==true){
-          item.required = true
-        }else{
-          item.required = false
-        }
-      });
-      this.listVip = uni
-      this.$refs.information.isShow = false
-    },
-
-    // 对象数组去重;
-    uniqueVip(arr) {
-      const res = new Map()
-      return arr.filter((arr) => !res.has(arr.info) && res.set(arr.info, 1))
-    },
-
-    // 规则详情
-    getEditorContent(data) {
-      this.newcomer_agreement = data;
-    }
-  },
-}
-</script>
-<style scoped lang="stylus">
-.span-text {
- margin-left:8px;
- font-size: 12px;
-
-}
-.goods /deep/.ivu-table-cell{
-  line-height 21px !important
-}
-.goods{
-  .icondrag{
-    color #ccc
-  }
-}
-/deep/.ivu-form-item-label {
-  font-size: 12px;
-  font-weight: 400;
-  color: #333333;
-}
-/deep/.ivu-input-group-append {
- font-size: 12px;
-}
-/deep/ .vxe-table--render-default .vxe-table--header {
- font-size: 12px;
-}
-
-.inputw {
-  width: 460px;
-}
-
-.pay {
-  width: 100%;
-  height: 100%;
-}
-
-.basics {
-  width: 76px;
-  height: 16px;
-  text-align: center;
-  margin-top: 10px;
-  border-left: 2px solid #2D8CF0;
-  line-height: 16px;
-  font-size: 14px;
-  font-weight: 600;
-  color: #333333;
-}
-.subBtn {
-width: 54px;
-height: 32px;
-background: #2D8CF0;
-border-radius: 4px;
-font-size: 12px;
-font-weight: 500;
-color: #FFFFFF;
-text-align:center;
-line-height 32px;
-  cursor:pointer;
-}
-
-.arrbox {
-  background-color: white;
-  font-size: 12px;
-  border: 1px solid #dcdee2;
-  border-radius: 6px;
-  margin-bottom: 0px;
-  padding: 0 5px;
-  text-align: left;
-  box-sizing: border-box;
-  width: 300px;
-}
-
-.arrbox_ip {
-  font-size: 12px;
-  border: none;
-  box-shadow: none;
-  outline: none;
-  background-color: transparent;
-  padding: 0;
-  margin: 0;
-  width: auto !important;
-  max-width: inherit;
-  min-width: 80px;
-  vertical-align: top;
-  height: 30px;
-  color: #34495e;
-  margin: 2px;
-  line-height: 30px;
-}
-
-.vertical-center-modal {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.uploadPictrue {
-  width: 60px;
-  height: 60px;
-  background: #F5F5F5;
-  border-radius: 4px;
-  border: 1px dashed #DDDDDD;
-  text-align: center;
-  line-height: 60px;
-
-  img {
-    width: 100%;
-    height: 100%;
-  }
-}
-
-.upload-text {
-  font-size: 12px;
-  font-weight: 400;
-  color: #CCCCCC;
-  margin-top: 6px;
-}
-
-.addInfo {
-  width: 78px;
-  height: 32px;
-  border-radius: 4px;
-  border: 1px solid rgba(151, 151, 151, 0.36);
-  text-align: center;
-  line-height: 32rpx;
-  font-size: 12px;
-  font-weight: 400;
-  color: rgba(0, 0, 0, 0.85);
-  margin-top: 20px;
-  cursor:pointer;
-}
-
-.add-coupon {
-  font-size: 12px;
-  font-weight: 400;
-  color: #1890FF;
-  cursor:pointer;
-}
-
-.imgPic {
-  .info {
-    width: 60%;
-    margin-left: 10px;
-  }
-
-  .pictrue {
-    width: 36px;
-    height: 36px;
-    margin: 7px 3px 0 3px;
-
-    img {
-      width: 100%;
-      height: 100%;
-      display: block;
-    }
-  }
-}
-.goods {
- width: 780px !important;
-}
-.add-goods {
-margin-top: 20px;
-display: flex;
-.goods-btn {
- margin:0 20px;
-}
-.paging {
- margin-left: 170px;
-}
-}
-.vxe-header--row {
-background: pink;
-}
-.footer {
-  width: 100%;
-  height: 65px;
-  background: #FFFFFF;
-  position: fixed;
-  right: 0;
-  bottom: 0;
-  left: 200px;
-  z-index: 10;
-
-  .btn {
-    margin-left: 40%;
-  }
-}
+<template>
+	<div>
+		<Card :bordered="false" dis-hover class="ivu-mt">
+			<Tabs v-model="tabVal" @on-click="tabChange">
+				<!-- ---------------------------------基础信息-------------------------------- -->
+				<TabPane label="基础信息" name="basic">
+					<Form :model="basicsForm" :label-width="120">
+						<Row :gutter="24" type="flex">
+							<Col span="24">
+							<div class="basics">用户设置</div>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="用户默认头像:">
+								<div class="uploadPictrue" v-if="authorizedPicture" @click="modalPicTap('单选')">
+									<img v-lazy="authorizedPicture" />
+								</div>
+								<div class="uploadPictrue" @click="modalPicTap('单选')" v-else>
+									<span class="iconfont iconshangpinshuliang-jia"></span>
+								</div>
+								<div class="upload-text">建议尺寸:120*120px</div>
+							</FormItem>
+							</Col>
+							<Col span="14" class="mt10">
+							<FormItem label="用户信息设置:">
+								<!-- 用户表格 -->
+								<Table :data="listOne" :columns="columns" ref="table" class="mt25 goods" highlight-row
+									:draggable="true" @on-drag-drop="onDragDrop">
+									<template slot-scope="{ row, index }" slot="drag">
+										<div class="iconfont icondrag"></div>
+									</template>
+									<!-- 使用 -->
+									<template slot-scope="{ row, index }" slot="use">
+										<Checkbox v-model="listOne[index].use" :true-value="1" :false-value="0">
+										</Checkbox>
+									</template>
+									<!-- 必填 -->
+									<template slot-scope="{ row, index }" slot="required">
+										<Checkbox v-model="listOne[index].required" :disabled="listOne[index].use == 0"
+											:true-value="1" :false-value="0"></Checkbox>
+									</template>
+									<!-- 用户端展示 -->
+									<template slot-scope="{ row, index }" slot="user_show">
+										<Checkbox v-model="listOne[index].user_show" :disabled="listOne[index].use == 0"
+											:true-value="1" :false-value="0"></Checkbox>
+									</template>
+
+									<template slot-scope="{ row, index }" slot="action">
+										<a @click="delInfo(index)" v-if="!listOne[index].param">删除</a>
+									</template>
+								</Table>
+								<div class="upload-text goods">
+									开启使用后,后台添加用户时可填写此信息;开启必填后,后台添加用户时此信息必须填写;开启用户端展示后,在商城用户个人信息中展示
+								</div>
+								<div class="addInfo" @click="addModel = true">新增信息</div>
+								<div class="subBtn mt20" @click="handleSubmit('basic')">
+									保存
+								</div>
+							</FormItem>
+							</Col>
+						</Row>
+					</Form>
+				</TabPane>
+				<!-- ---------------------------------登录注册-------------------------------- -->
+				<TabPane label="登录注册" name="register">
+					<Form :model="loginForm" :label-width="120">
+						<Row :gutter="24" type="flex">
+							<Col span="24">
+							<div class="basics">登录设置</div>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="强制手机号绑定:">
+								<Switch size="large" v-model="loginForm.store_user_mobile" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">商城登录时强制手机号登陆/绑定</div>
+							</FormItem>
+							</Col>
+							<Col span="24">
+							<div class="basics">注册有礼</div>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="注册有礼启用:">
+								<Switch size="large" v-model="loginForm.newcomer_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">新用户注册后,会给用户赠送礼品</div>
+							</FormItem>
+							</Col>
+							<Col span="24" v-if="loginForm.newcomer_status === 1">
+							<FormItem label="是否限时:" v-if="loginForm.newcomer_status === 1">
+								<RadioGroup v-model="loginForm.newcomer_limit_status">
+									<Radio label="0">
+										<span>不限时</span>
+									</Radio>
+									<Radio label="1">
+										<span>限时</span>
+									</Radio>
+								</RadioGroup>
+								<div class="upload-text">新人注册活动的时间设置</div>
+								<div class="mt10" v-if="loginForm.newcomer_limit_status === '1'">
+									<Input v-model="loginForm.newcomer_limit_time" placeholder="请输入限时天数"
+										class="inputw"></Input>
+									<span class="span-text" v-if="loginForm.newcomer_limit_status === '1'">
+										天
+									</span>
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="赠送积分:" v-if="loginForm.newcomer_status === 1">
+								<Switch size="large" v-model="loginForm.register_integral_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">用户注册后即赠送一定数额的积分</div>
+								<Input v-model="loginForm.register_give_integral" placeholder="请输入赠送积分" class="inputw"
+									v-if="loginForm.register_integral_status === 1"></Input>
+								<span class="span-text" v-if="loginForm.register_integral_status === 1">
+									积分
+								</span>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="赠送消费券:" v-if="loginForm.newcomer_status === 1">
+								<Switch size="large" v-model="loginForm.register_consumption_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">用户注册后即赠送一定数额的消费券</div>
+								<Input v-model="loginForm.register_give_consumption" placeholder="请输入赠送消费券" class="inputw"
+									v-if="loginForm.register_consumption_status === 1"></Input>
+								<span class="span-text" v-if="loginForm.register_consumption_status === 1">
+									消费券
+								</span>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="loginForm.newcomer_status === 1">
+							<FormItem label="赠送余额:" v-if="loginForm.newcomer_status === 1">
+								<Switch size="large" v-model="loginForm.register_money_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									用户注册后即赠送一定数额的储值余额
+								</div>
+								<Input v-model="loginForm.register_give_money" placeholder="请输入赠送余额" class="inputw"
+									v-if="loginForm.register_money_status === 1"></Input>
+								<span class="span-text" v-if="loginForm.register_money_status === 1">
+									元
+								</span>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="loginForm.newcomer_status === 1">
+							<div class="item" v-for="(item, indexw) in promotionsData" :key="indexw">
+								<!-- ----赠送优惠券------ -->
+								<FormItem label="赠送优惠券:" v-if="loginForm.newcomer_status === 1">
+									<Switch size="large" v-model="loginForm.register_coupon_status" :true-value="1"
+										:false-value="0">
+										<span slot="open">开启</span>
+										<span slot="close">关闭</span>
+									</Switch>
+									<div class="upload-text">用户注册后即赠送优惠券</div>
+									<Table border :columns="columns1" :data="item.giveCoupon" ref="table" class="table"
+										width="700" v-if="
+                        loginForm.register_coupon_status === 1 &&
+                        item.giveCoupon.length > 0
+                      ">
+										<template slot-scope="{ row }" slot="coupon_price">
+											<span v-if="row.coupon_type == 1">
+												{{ row.coupon_price }}元
+											</span>
+											<span v-if="row.coupon_type == 2">
+												{{ parseFloat(row.coupon_price) / 10 }}折({{
+                            row.coupon_price.toString().split('.')[0]
+                          }}%)
+											</span>
+										</template>
+										<template slot-scope="{ row }" slot="coupon_type">
+											<span v-if="row.coupon_type === 1">满减券</span>
+											<span v-else>折扣券</span>
+										</template>
+										<template slot-scope="{ row, index }" slot="status">
+											<a @click="delCoupon(index, indexw)">删除</a>
+										</template>
+									</Table>
+									<div class="add-coupon" @click="addCoupon(indexw)"
+										v-if="loginForm.register_coupon_status === 1">
+										+ 添加优惠券
+									</div>
+								</FormItem>
+							</div>
+							</Col>
+							<!-- ----赠送优惠券------ -->
+							<Col span="24" class="mt10" v-if="loginForm.newcomer_status === 1">
+							<FormItem label="首单优惠:">
+								<Switch size="large" v-model="loginForm.first_order_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									新用户下单时可享折扣,折扣仅对商品打折,运费无折扣
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="
+                  loginForm.newcomer_status === 1 &&
+                  loginForm.first_order_status === 1
+                ">
+							<FormItem label="折扣力度:">
+								<Input v-model="loginForm.first_order_discount" placeholder="请输入折扣力度" class="inputw">
+								</Input>
+								<span class="span-text">%</span>
+								<div class="upload-text">
+									折扣力度为:0-100%,1折为10%
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="
+                  loginForm.newcomer_status === 1 &&
+                  loginForm.first_order_status === 1
+                ">
+							<FormItem label="折扣上限:">
+								<Input v-model="loginForm.first_order_discount_limit" placeholder="请输入折扣上限"
+									class="inputw">
+								</Input>
+								<span class="span-text">元</span>
+								<div class="upload-text">
+									首单优惠最高金额,单位:元
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="loginForm.newcomer_status === 1">
+							<FormItem label="新人专享价:">
+								<Switch size="large" v-model="loginForm.register_price_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									新用户可购买一件新人商品,购买后移动端不再显示新人专区
+								</div>
+
+								<!-- ----添加商品----- -->
+								<vxe-table border="inner" ref="xTree" :column-config="{ resizable: true }" row-id="id"
+									:tree-config="{ children: 'attrValue', reserve: true }" :data="tableData"
+									@checkbox-all="selectAll" @checkbox-change="selectAll" class="goods"
+									:header-cell-style="{
+                      background: '#F7F7F7',
+                      height: '40px',
+                    }" v-if="loginForm.register_price_status === 1">
+									<vxe-column type="checkbox" title="多选" width="90" tree-node></vxe-column>
+									<vxe-column field="id" title="ID" min-width="80"></vxe-column>
+									<vxe-column field="info" title="商品信息" min-width="200">
+										<template v-slot="{ row }">
+											<div class="imgPic acea-row row-middle">
+												<viewer>
+													<div class="pictrue">
+														<img v-lazy="row.image" />
+													</div>
+												</viewer>
+												<div class="info">
+													<Tooltip max-width="200" placement="bottom" transfer>
+														<span class="line2">{{ row.store_name }}{{ row.suk }}</span>
+														<p slot="content">{{ row.store_name }}{{ row.suk }}</p>
+													</Tooltip>
+												</div>
+											</div>
+										</template>
+									</vxe-column>
+
+									<vxe-column field="price" title="售价" min-width="80"></vxe-column>
+
+									<vxe-column field="stock" title="库存" min-width="80"></vxe-column>
+
+									<!-- 活动价 -->
+									<vxe-column field="date" title="活动价" min-width="200">
+										<template v-slot="{ row }">
+											<Input v-model="row.ativity_price" :border="false" placeholder="请输入活动价"
+												@on-change="inputChange(row)" />
+										</template>
+									</vxe-column>
+									<!-- 活动价 -->
+									<vxe-column field="date" title="操作" min-width="50" fixed="right" align="center">
+										<template v-slot="{ row }">
+											<a @click="del(row)">删除</a>
+										</template>
+									</vxe-column>
+								</vxe-table>
+								<div class="add-goods" v-if="loginForm.register_price_status === 1">
+									<Button @click="addGoods">添加商品</Button>
+									<Button @click="activityShowFn" class="goods-btn">
+										设置活动价
+									</Button>
+									<Button @click="delAll">批量删除</Button>
+								</div>
+								<!-- ----添加商品----- -->
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="规则详情:" v-if="loginForm.newcomer_status === 1">
+								<WangEditor class="goods" :content="loginForm.newcomer_agreement"
+									@editorContent="getEditorContent"></WangEditor>
+							</FormItem>
+							</Col>
+							<Col>
+							<FormItem>
+								<div class="subBtn" style="margin-top: 0px;" @click="handleSubmit('register')">
+									保存
+								</div>
+							</FormItem>
+							</Col>
+						</Row>
+					</Form>
+				</TabPane>
+				<!-- ---------------------------------会员等级-------------------------------- -->
+				<TabPane label="会员等级" name="level">
+					<Form :model="vipForm" :label-width="120">
+						<Row :gutter="24" type="flex">
+							<Col span="24">
+							<div class="basics">基础设置</div>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="会员等级启用:">
+								<Switch size="large" v-model="vipForm.member_func_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									开启会员等级后,可以获得经验值
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.member_func_status === 1">
+							<FormItem label="下单获得经验:">
+								<Input v-model="vipForm.order_give_exp" placeholder="请输入获得经验值" class="inputw" />
+								<div class="upload-text">
+									用户实际支付1元,可以获得多少经验值
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.member_func_status === 1">
+							<FormItem label="签到获得经验:">
+								<Input v-model="vipForm.sign_give_exp" placeholder="请输入签到获得经验值" class="inputw" />
+								<div class="upload-text">用户签到一次,赠送多少经验值</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.member_func_status === 1">
+							<FormItem label="邀请新用户获得经验:">
+								<Input v-model="vipForm.invite_user_exp" placeholder="请输入获取新用户获得经验值" class="inputw" />
+								<div class="upload-text">
+									邀请一个新用户注册,赠送多少经验值
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24">
+							<div class="basics">激活有礼</div>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem label="会员卡激活:">
+								<Switch size="large" v-model="vipForm.level_activate_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									开启后用户等级功能不能直接使用,需要用户填写信息,激活后才能使用用户等级
+								</div>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.level_activate_status === 1">
+							<FormItem label="会员卡信息:">
+								<Table :columns="columns3" :data="listVip" ref="table" class="mt10 mb10 goods"
+									:loading="loading" highlight-row no-userFrom-text="暂无数据"
+									no-filtered-userFrom-text="暂无筛选结果" v-if="listVip.length > 0">
+									<!-- 必填 -->
+									<template slot-scope="{ row, index }" slot="required">
+										<Checkbox v-model="listVip[index].required" @on-change="tapCheckbox"></Checkbox>
+									</template>
+									<template slot-scope="{ row, index }" slot="action">
+										<a @click="delVip(row, index)">删除</a>
+									</template>
+								</Table>
+								<Button @click="informationTap">
+									选择信息
+								</Button>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.level_activate_status === 1">
+							<FormItem label="赠送积分:">
+								<Switch size="large" v-model="vipForm.level_integral_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									用户激活会员卡后即赠送一定数额的积分
+								</div>
+								<Input v-model="vipForm.level_give_integral" placeholder="请输入赠送的积分" class="inputw"
+									v-if="vipForm.level_integral_status === 1"></Input>
+								<span class="span-text" v-if="vipForm.level_integral_status === 1">
+									积分
+								</span>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.level_activate_status === 1">
+							<FormItem label="赠送余额:">
+								<Switch size="large" v-model="vipForm.level_money_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									用户激活会员卡后即赠送一定数额的储值余额
+								</div>
+								<Input v-model="vipForm.level_give_money" placeholder="请输入赠送的余额" class="inputw"
+									v-if="vipForm.level_money_status === 1" />
+								<span class="span-text" v-if="vipForm.level_money_status === 1">
+									元
+								</span>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10" v-if="vipForm.level_activate_status === 1">
+							<FormItem label="赠送优惠券:">
+								<Switch size="large" v-model="vipForm.level_coupon_status" :true-value="1"
+									:false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+								<div class="upload-text">
+									用户激活会员卡后即赠送优惠券
+								</div>
+
+								<div class="item" v-for="(item, indexw) in promotionsData" :key="indexw">
+									<div class="add-coupon" @click="addCoupon(indexw)"
+										v-if="vipForm.level_coupon_status === 1">
+										+ 添加优惠券
+									</div>
+									<Table border :columns="columns1" :data="vipCopon" ref="table" class="table"
+										width="700" v-if="
+                        vipCopon.length > 0 && vipForm.level_coupon_status === 1
+                      ">
+										<template slot-scope="{ row }" slot="coupon_price">
+											<span v-if="row.coupon_type == 1">
+												{{ row.coupon_price }}元
+											</span>
+											<span v-if="row.coupon_type == 2">
+												{{ parseFloat(row.coupon_price) / 10 }}折({{
+                            row.coupon_price.toString().split('.')[0]
+                          }}%)
+											</span>
+										</template>
+										<template slot-scope="{ row }" slot="coupon_type">
+											<span v-if="row.coupon_type === 1">满减券</span>
+											<span v-else>折扣券</span>
+										</template>
+										<template slot-scope="{ row, index }" slot="status">
+											<a @click="delCoupon(index, indexw)">删除</a>
+										</template>
+									</Table>
+								</div>
+							</FormItem>
+							</Col>
+							<Col>
+							<FormItem>
+								<div class="subBtn mt10" @click="handleSubmit('level')">
+									保存
+								</div>
+							</FormItem>
+							</Col>
+						</Row>
+					</Form>
+				</TabPane>
+				<!-- ---------------------------------付费会员-------------------------------- -->
+				<TabPane label="付费会员" name="svip">
+					<Form :model="basicsForm" :label-width="120">
+						<Row :gutter="24" type="flex">
+							<Col span="24" class="mt10">
+							<FormItem label="付费会员启用:">
+								<Switch size="large" v-model="member_card_status" :true-value="1" :false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+							</FormItem>
+							<FormItem label="付费会员价展示:" v-if="member_card_status == 1">
+								<Switch size="large" v-model="svip_price_status" :true-value="1" :false-value="0">
+									<span slot="open">开启</span>
+									<span slot="close">关闭</span>
+								</Switch>
+							</FormItem>
+							</Col>
+							<Col span="24" class="mt10">
+							<FormItem>
+								<div style="margin-top: 0px;" class="subBtn" @click="handleSubmit('svip')">
+									保存
+								</div>
+							</FormItem>
+							</Col>
+						</Row>
+					</Form>
+				</TabPane>
+			</Tabs>
+		</Card>
+		<!-- 选择图片弹窗 -->
+		<Modal v-model="modalPic" width="960px" scrollable footer-hide closable title="上传用户图片" :mask-closable="false"
+			:z-index="1">
+			<uploadPictures :isChoice="isChoice" @getPic="getPic" :gridBtn="gridBtn" :gridPic="gridPic" v-if="modalPic">
+			</uploadPictures>
+		</Modal>
+		<!-- 新增信息 -->
+		<Modal v-model="addModel" title="新增信息" class-name="vertical-center-modal" scrollable @on-cancel="cancelSubmit">
+			<Form ref="formValidate" :model="formItem" :rules="ruleValidate" :label-width="90">
+				<Row>
+					<Col>
+					<FormItem label="信息名称:" prop="info">
+						<Input v-model="formItem.info" placeholder="请输入信息名称" style="width: 300px;" />
+					</FormItem>
+					</Col>
+					<Col>
+					<FormItem label="信息格式 :" prop="format">
+						<Select v-model="formItem.format" style="width: 300px;">
+							<Option v-for="item in formatList" :value="item.value" :key="item.value">
+								{{ item.label }}
+							</Option>
+						</Select>
+					</FormItem>
+					</Col>
+					<Col>
+					<FormItem label="单选项 :" prop="singlearr" v-if="formItem.format === 'radio'">
+						<div class="arrbox">
+							<Tag @on-close="handleClose" :name="item" :closable="true"
+								v-for="(item, index) in formItem.singlearr" :key="index">
+								{{ item }}
+							</Tag>
+							<input class="arrbox_ip percentage9" v-model="formItem.single" placeholder="请输入选项,回车确认"
+								@keyup.enter="addlabel" />
+						</div>
+					</FormItem>
+					</Col>
+					<Col>
+					<FormItem label="提示文案:" prop="tip">
+						<Input v-model="formItem.tip" placeholder="请输入提示文案" style="width: 300px;" />
+					</FormItem>
+					</Col>
+				</Row>
+			</Form>
+
+			<div slot="footer" class="acea-row row-right">
+				<Button @click="cancelSubmit">取消</Button>
+				<Button type="primary" @click="addSubmit">提交</Button>
+			</div>
+		</Modal>
+		<!-- 添加优惠券 -->
+		<coupon-list ref="couponTemplates" @getCouponList="getCouponList" :discount="true"></coupon-list>
+		<!-- 添加商品 -->
+		<Modal v-model="modals" title="商品列表" footerHide class="paymentFooter" scrollable width="900">
+			<goods-list ref="goodslist" :ischeckbox="true" :isdiy="true" @getProductId="getProductId" v-if="modals">
+			</goods-list>
+		</Modal>
+		<!-- 选择信息 -->
+
+		<information ref="information" @getInfoList="getInfoList" :listOne="listOne"></information>
+
+		<!-- 设置活动价 -->
+		<Modal v-model="activityShow" title="设置" class="paymentFooter" width="600" :closable="false"
+			:mask-closable="false" footer-hide>
+			<Form :model="formActive" :rules="ruleActive" ref="activityShow" :label-width="100">
+				<FormItem label="设置活动价:" prop="activeInput">
+					<InputNumber v-model="formActive.activeInput" placeholder="请输入活动价格" class="inputw" :min="0">
+					</InputNumber>
+				</FormItem>
+				<div class="acea-row row-right">
+					<Button @click="cancel('activityShow')">取消</Button>
+					<Button class="ml15 mr5" type="primary" @click="ok('activityShow')">提交</Button>
+				</div>
+			</Form>
+		</Modal>
+	</div>
+</template>
+<script>
+	import uploadPictures from '@/components/uploadPictures'
+	import couponList from '@/components/couponList'
+	import goodsList from '@/components/goodsList'
+	import information from '@/components/information'
+	import WangEditor from '@/components/wangEditor/index.vue'
+	import {
+		settingUser,
+		setUser
+	} from '@/api/user.js'
+	export default {
+		name: 'setupUser',
+		components: {
+			uploadPictures,
+			couponList,
+			goodsList,
+			WangEditor,
+			information,
+		},
+		props: {},
+		data() {
+			const validatorSingle = (rule, value, callback) => {
+				if (value.length < 2) {
+					callback(new Error('单选项最少输入2个'));
+				} else {
+					callback();
+				}
+			};
+			const validatorActive = (rule, value, callback) => {
+				if (value === "" || value == null || value < 0) {
+					callback(new Error('活动价不能为空'));
+				} else {
+					callback();
+				}
+			};
+			return {
+				tabVal: 'basic',
+				paySwitch: 1,
+				phoneSwitch: 1,
+				indexCoupon: 0,
+				val: '',
+				formActive: {
+					activeInput: 0
+				},
+				basicsForm: {},
+				selectArr: [],
+				value: '',
+				formItem: {
+					info: '',
+					format: '',
+					tip: '',
+					single: '',
+					singlearr: [],
+				},
+				activityShow: false,
+				isChoice: '单选',
+				modalPic: false,
+				loading: false,
+				addModel: false,
+				inputShow: false,
+				modals: false, // 添加商品弹窗
+				authorizedPicture: '', // 图片
+				//选中的数组
+				ids: [],
+				// 基础信息表单
+				// basicsForm: {
+				//   h5_avatar: 'jjj',
+				//   format: '',
+				// },
+				avatar: {},
+
+				member_card_status: 1,
+				svip_price_status: 0,
+				// 登录注册表单
+				loginForm: {
+					newcomer_status: '1',
+					store_user_mobile: '', // 手机号强制开启
+					newcomer_limit_status: '', // 是否限时
+					newcomer_limit_time: '', // 限时时间
+					register_integral_status: '', // 赠送积分开启或者关闭 1开启0关闭
+					register_consumption_status: '', // 赠送消费券开启或者关闭 1开启0关闭
+					register_give_integral: '', // 赠送积分数量
+					register_give_consumption: '', // 赠送消费券数量
+					register_money_status: '', // 赠送余额开启
+					register_give_money: '', // 赠送余额数量
+					register_coupon_status: '', // 赠送优惠券开启
+					register_give_coupon: [], // 赠送优惠券数量
+					first_order_status: '', // 首单优惠开启
+					first_order_discount: '', // 首单优惠折扣
+					first_order_discount_limit: '', // 首单优惠折扣上限
+					register_price_status: '', // 新人专享价开启
+					product: [],
+					newcomer_agreement: '',
+				},
+				newcomer_agreement: '',
+				product_list: [],
+				// 会员等级表单
+				vipForm: {
+					member_func_status: 0, // 等级启用
+					sign_give_exp: '', //签到赠送
+					order_give_exp: '', // 下单赠送
+					invite_user_exp: '', // 邀请新用户
+					level_activate_status: 1, // 会员卡激活开启 1开启 0 关闭
+					level_extend_info: [], // 会员卡信息
+					level_integral_status: 1, // 赠送积分开启
+					level_give_integral: 8, // 赠送积分数量
+					level_money_status: 1, // 赠送余额开启
+					level_give_money: 15, // 赠送余额数量
+					level_coupon_status: 1, // 赠送优惠券开启
+					level_give_coupon: [], // 赠送优惠券数量
+				},
+				isShow: false,
+
+				formatList: [{
+						value: 'text',
+						label: '文本',
+					},
+					{
+						value: 'num',
+						label: '数字',
+					},
+					{
+						value: 'date',
+						label: '日期',
+					},
+					{
+						value: 'radio',
+						label: '单选项',
+					},
+					{
+						value: 'id',
+						label: '身份证',
+					},
+					{
+						value: 'mail',
+						label: '邮件',
+					},
+					{
+						value: 'phone',
+						label: '手机号',
+					},
+					{
+						value: 'address',
+						label: '地址',
+					},
+				],
+				gridBtn: {
+					xl: 4,
+					lg: 8,
+					md: 8,
+					sm: 8,
+					xs: 8,
+				},
+				gridPic: {
+					xl: 6,
+					lg: 8,
+					md: 12,
+					sm: 12,
+					xs: 12,
+				},
+				columns: [{
+						title: '',
+						slot: 'drag',
+						width: 50,
+					},
+					{
+						title: '信息',
+						key: 'info',
+						width: 120,
+					},
+					{
+						title: '使用',
+						slot: 'use',
+						width: 70,
+					},
+					{
+						title: '必填',
+						slot: 'required',
+						width: 70,
+					},
+					{
+						title: '用户端展示',
+						slot: 'user_show',
+						minWidth: 70,
+					},
+					{
+						title: '信息格式',
+						key: 'label',
+						minWidth: 120,
+					},
+					{
+						title: '提示信息',
+						key: 'tip',
+						minWidth: 120,
+					},
+					{
+						title: '操作',
+						slot: 'action',
+						minWidth: 80,
+					},
+				],
+				columns3: [{
+						title: '信息',
+						key: 'info',
+						width: 120,
+					},
+
+					{
+						title: '必填',
+						slot: 'required',
+						width: 70,
+					},
+
+					{
+						title: '信息格式',
+						key: 'label',
+						minWidth: 120,
+					},
+					{
+						title: '提示信息',
+						key: 'tip',
+						minWidth: 120,
+					},
+					{
+						title: '操作',
+						slot: 'action',
+						minWidth: 80,
+					},
+				],
+				listOne: [],
+				listVip: [],
+				promotionsData: [{
+					threshold: 0,
+					give_integral: 0,
+					checkIntegral: false,
+					checkCoupon: false,
+					checkGoods: false,
+					giveProducts: [],
+					giveCoupon: [],
+				}, ],
+				tableData: [],
+				columns1: [{
+						title: '优惠券名称',
+						key: 'title',
+						minWidth: 150,
+					},
+					{
+						title: '类型',
+						slot: 'coupon_type',
+						minWidth: 80,
+					},
+					{
+						title: '面值',
+						slot: 'coupon_price',
+						minWidth: 100,
+					},
+					{
+						title: '最低消费额',
+						key: 'use_min_price',
+						minWidth: 100,
+					},
+					// {
+					//   title: '限量',
+					//   key: 'limit_num',
+					//   width: 120,
+					//   render: (h, params) => {
+					//     return h('div', [
+					//       h('InputNumber', {
+					//         props: {
+					//           value: params.row.limit_num,
+					//           placeholder: '请输入',
+					//           precision: 0,
+					//           min: 0,
+					//         },
+					//         on: {
+					//           'on-change': (e) => {
+					//             params.row.limit_num = e
+					//             this.promotionsData[params.row.indexCoupon].giveCoupon[
+					//               params.index
+					//             ].limit_num = e
+					//           },
+					//         },
+					//       }),
+					//     ])
+					//   },
+					// },
+					{
+						title: '操作',
+						slot: 'status',
+						align: 'center',
+						minWidth: 80,
+					},
+				],
+				ruleValidate: {
+					info: [{
+						required: true,
+						message: '信息名称不能为空',
+						trigger: 'blur',
+					}, ],
+					format: [{
+						required: true,
+						message: '信息格式不能为空',
+						trigger: 'blur',
+					}, ],
+					tip: [{
+						required: true,
+						message: '信息文案不能为空',
+						trigger: 'blur',
+					}, ],
+					singlearr: [{
+						required: true,
+						validator: validatorSingle,
+						type: 'array',
+						trigger: 'blur'
+					}, ],
+				},
+				ruleActive: {
+					activeInput: [{
+						required: true,
+						validator: validatorActive,
+						trigger: 'blur'
+					}, ]
+				},
+				couponType: 0,
+				vipCopon: [],
+			}
+		},
+		computed: {},
+		created() {
+			this.settingUser()
+		},
+		mounted() {},
+
+		methods: {
+			tapCheckbox(e) {
+				console.log('sdsdsd', e)
+			},
+			informationTap() {
+				this.$refs.information.isShow = true;
+			},
+			onDragDrop(first, end) {
+				//转成int型,方便后续使用
+				first = parseInt(first)
+				end = parseInt(end)
+
+				let tmp = this.listOne[first]
+
+				if (first < end) {
+					for (var i = first + 1; i <= end; i++) {
+						this.listOne.splice(i - 1, 1, this.listOne[i])
+					}
+					this.listOne.splice(end, 1, tmp)
+				}
+
+				if (first > end) {
+					for (var i = first; i > end; i--) {
+						this.listOne.splice(i, 1, this.listOne[i - 1])
+					}
+					this.listOne.splice(end, 1, tmp)
+				}
+
+				//重置排序值
+				let index = 1
+				this.listOne.forEach(e => {
+					e.sort = index
+					index++
+				})
+				//排序值重置后,向后台发送请求,更新数据库中数据的排序,这里就不写了
+				//axios
+
+				console.log(JSON.stringify(this.listOne))
+			},
+			// 获取用户配置
+			settingUser() {
+				settingUser(this.tabVal).then((res) => {
+					if (this.tabVal === 'basic') {
+						this.authorizedPicture = res.data.h5_avatar
+						this.listOne = res.data.user_extend_info
+					}
+					if (this.tabVal === 'register') {
+						this.loginForm = res.data
+						this.promotionsData[0].giveCoupon = res.data.register_give_coupon
+
+						// 添加活动价格
+						const addKey = (uni) =>
+							uni.map((item) => ({
+								...item,
+								ativity_price: item.price,
+								id: item.product_id,
+								attrValue: item.attrValue ? addKey(item.attrValue) : [],
+							}))
+						this.tableData = addKey(res.data.product)
+					}
+					if (this.tabVal === 'level') {
+						this.vipForm = res.data
+						this.vipCopon = res.data.level_give_coupon
+						res.data.level_extend_info.forEach(item => {
+							if (item.required == 1 || item.required == true) {
+								item.required = true
+							} else {
+								item.required = false
+							}
+						});
+						this.listVip = res.data.level_extend_info
+					}
+					if (this.tabVal === 'svip') {
+						this.member_card_status = res.data.member_card_status;
+						this.svip_price_status = res.data.svip_price_status
+					}
+				})
+			},
+
+			//全选
+			selectAll(row) {
+				this.selectArr = row.records
+			},
+
+			// 批量设置活动价
+			activityShowFn() {
+				if (this.selectArr.length === 0) {
+					this.$Message.error('请先选择设置活动价的商品!')
+				} else {
+					this.activityShow = true
+				}
+			},
+
+			cancel(name) {
+				this.activityShow = false
+				this.$refs[name].resetFields();
+			},
+
+			ok(name) {
+				this.$refs[name].validate((valid) => {
+					if (valid) {
+						this.selectArr.forEach((item) => {
+							item.ativity_price = this.formActive.activeInput
+						});
+						this.activityShow = false
+						this.$refs[name].resetFields();
+					}
+				});
+			},
+
+			// 批量删除商品
+			delAll() {
+				if (this.selectArr.length === 0) {
+					this.$Message.error('请先选择删除的商品!')
+				} else {
+					this.$Modal.confirm({
+						title: '删除确认',
+						content: '您确认要删除这些商品?',
+						onOk: () => {
+							this.selectArr.forEach((row) => {
+								this.tableData.forEach((i, index) => {
+									if (row.id == i.id) {
+										this.tableData.splice(index, 1)
+									} else {
+										i.attrValue.forEach((j, indexn) => {
+											if (row.id == j.id) {
+												if (i.attrValue.length == 1) {
+													this.tableData.splice(index, 1)
+												} else {
+													i.attrValue.splice(indexn, 1)
+												}
+											}
+										})
+									}
+								})
+							})
+						},
+					})
+				}
+			},
+
+			// 切换tabs
+			tabChange() {
+				this.settingUser()
+			},
+
+			// 选中图片
+			getPic(pc) {
+				this.authorizedPicture = pc.att_dir
+				this.modalPic = false
+			},
+
+			// 选择图片
+			modalPicTap() {
+				this.modalPic = true
+			},
+
+			// 取消新增信息
+			cancelSubmit() {
+				this.formItem = {
+					info: '',
+					format: '',
+					tip: '',
+					single: '',
+					singlearr: [],
+				}
+				this.addModel = false
+				this.$refs.formValidate.resetFields()
+			},
+			// 提交信息
+			addSubmit() {
+				this.$refs.formValidate.validate((valid) => {
+					let obj = {
+						...this.formItem,
+						required: 0,
+						use: 0,
+						user_show: 0,
+						label: ''
+					};
+					switch (obj.format) {
+						case 'text':
+							obj.label = '文本';
+							break;
+						case 'num':
+							obj.label = '数字';
+							break;
+						case 'date':
+							obj.label = '日期';
+							break;
+						case 'radio':
+							obj.label = '单选项';
+							break;
+						case 'id':
+							obj.label = '身份证';
+							break;
+						case 'mail':
+							obj.label = '邮件';
+							break;
+						case 'phone':
+							obj.label = '手机号';
+							break;
+						case 'address':
+							obj.label = '地址';
+							break;
+					}
+					let labelName = [];
+					this.listOne.forEach(item => {
+						labelName.push(item.info)
+					});
+					if (valid) {
+						if (labelName.indexOf(obj.info) == -1) {
+							this.listOne.push(obj)
+							this.cancelSubmit();
+						} else {
+							this.$Message.error('该信息已经添加过')
+						}
+					}
+				})
+			},
+			// 信息删除
+			delInfo(index) {
+				this.listOne.splice(index, 1)
+			},
+			delVip(row, index) {
+				this.listVip.splice(index, 1)
+			},
+
+			// 输入后回车
+			addlabel() {
+				if (!this.formItem.single) {
+					return
+				}
+				let count = this.formItem.singlearr.indexOf(this.formItem.single)
+				if (count === -1) {
+					this.formItem.singlearr.push(this.formItem.single)
+				}
+				this.formItem.single = ''
+			},
+
+			// 表单提交
+			handleSubmit(val) {
+				switch (val) {
+					case 'basic':
+						let data = {
+							h5_avatar: this.authorizedPicture,
+							user_extend_info: this.listOne,
+						}
+						setUser(val, data).then((res) => {
+							this.$Message.success(res.msg)
+						})
+						break
+					case 'register':
+						this.product_list = []
+						this.tableData.forEach((item) => {
+							let obj = {
+								product_id: item.id,
+								price: item.ativity_price,
+								attr: [],
+							}
+
+							if (item.attrValue.length) {
+								item.attrValue.forEach((j) => {
+									let newAttr = {
+										unique: j.unique,
+										price: j.ativity_price
+									}
+									obj.attr.push(newAttr)
+								})
+							}
+							this.product_list.push(obj)
+						})
+						let ids = this.promotionsData[0].giveCoupon.map((item) => item.id)
+						this.loginForm.register_give_coupon = Array.from(new Set(ids))
+						this.loginForm.product = this.product_list
+						this.loginForm.newcomer_agreement = this.newcomer_agreement
+						setUser(val, this.loginForm).then((res) => {
+							this.$Message.success(res.msg)
+						}).catch(err => {
+							this.$Message.error(err.msg)
+						})
+						break
+					case 'level':
+						let arrIds = this.vipCopon.map((item) => item.id)
+						this.vipForm.level_give_coupon = Array.from(new Set(arrIds))
+						this.vipForm.level_extend_info = this.listVip
+						setUser(val, this.vipForm).then((res) => {
+							this.$Message.success(res.msg)
+						});
+						break
+					case 'svip':
+						let vipData = {
+							member_card_status: this.member_card_status,
+							svip_price_status: this.svip_price_status,
+						}
+						setUser(val, vipData).then((res) => {
+							this.$Message.success(res.msg)
+						})
+						break
+				}
+			},
+
+			// 添加优惠券
+			addCoupon(index) {
+				this.indexCoupon = index
+				this.$refs.couponTemplates.isTemplate = true
+				this.$refs.couponTemplates.tableList()
+			},
+			handleClose(event, name) {
+				const index = this.formItem.singlearr.indexOf(name)
+				this.formItem.singlearr.splice(index, 1)
+			},
+
+			// 优惠卷表格
+			getCouponList(data) {
+				let indexCoupon = this.indexCoupon
+				this.$refs.couponTemplates.isTemplate = false
+				data.forEach((j) => {
+					j.limit_num = 0
+					j.indexCoupon = indexCoupon
+				})
+				let list = this.promotionsData[indexCoupon].giveCoupon.concat(data)
+				let uni = this.unique(list)
+				if (this.tabVal === 'register') {
+					this.promotionsData[indexCoupon].giveCoupon = uni
+				} else {
+					this.vipCopon = uni
+				}
+			},
+
+			// 删除优惠券
+			delCoupon(index, indexw) {
+				if (this.tabVal === 'level') {
+					this.vipCopon.splice(index, 1)
+				}
+				this.promotionsData[indexw].giveCoupon.splice(index, 1)
+			},
+
+			// 添加商品
+			addGoods(index) {
+				this.modals = true
+			},
+
+			// 设置活动价格
+			inputChange(row) {
+				if (row.attrValue.length > 0) {
+					row.attrValue.forEach((item) => {
+						item.ativity_price = row.ativity_price
+					})
+				}
+			},
+
+			// 删除商品
+			del(row) {
+				this.tableData.forEach((i, index) => {
+					if (row.id == i.id) {
+						return this.tableData.splice(index, 1)
+					} else {
+						i.attrValue.forEach((j, indexn) => {
+							if (row.id == j.id) {
+								if (i.attrValue.length == 1) {
+									return this.tableData.splice(index, 1)
+								} else {
+									return i.attrValue.splice(indexn, 1)
+								}
+							}
+						})
+					}
+				})
+			},
+
+			// 对象数组去重
+			unique(arr) {
+				const res = new Map()
+				return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
+			},
+
+			// 添加商品
+			getProductId(data) {
+				this.modals = false
+				let list = this.tableData.concat(data)
+				let uni = this.unique(list)
+				uni.forEach((i) => {
+					i.attrValue.forEach((j) => {
+						j.cate_name = i.cate_name
+						j.store_label = i.store_label
+					})
+				})
+
+				// 添加活动价格
+				const addKey = (uni) =>
+					uni.map((item) => ({
+						...item,
+						ativity_price: '',
+						attrValue: item.attrValue ? addKey(item.attrValue) : [], // 这里要判断原数据有没有子级如果没有判断会报错
+					}))
+				this.tableData = addKey(uni)
+			},
+
+			// 选择信息
+			getInfoList(data) {
+				let list = this.listVip.concat(data)
+				let uni = this.uniqueVip(list)
+				uni.forEach(item => {
+					if (item.required == 1 || item.required == true) {
+						item.required = true
+					} else {
+						item.required = false
+					}
+				});
+				this.listVip = uni
+				this.$refs.information.isShow = false
+			},
+
+			// 对象数组去重;
+			uniqueVip(arr) {
+				const res = new Map()
+				return arr.filter((arr) => !res.has(arr.info) && res.set(arr.info, 1))
+			},
+
+			// 规则详情
+			getEditorContent(data) {
+				this.newcomer_agreement = data;
+			}
+		},
+	}
+</script>
+<style scoped lang="stylus">
+	.span-text {
+		margin-left: 8px;
+		font-size: 12px;
+
+	}
+
+	.goods /deep/.ivu-table-cell {
+		line-height 21px !important
+	}
+
+	.goods {
+		.icondrag {
+			color #ccc
+		}
+	}
+
+	/deep/.ivu-form-item-label {
+		font-size: 12px;
+		font-weight: 400;
+		color: #333333;
+	}
+
+	/deep/.ivu-input-group-append {
+		font-size: 12px;
+	}
+
+	/deep/ .vxe-table--render-default .vxe-table--header {
+		font-size: 12px;
+	}
+
+	.inputw {
+		width: 460px;
+	}
+
+	.pay {
+		width: 100%;
+		height: 100%;
+	}
+
+	.basics {
+		width: 76px;
+		height: 16px;
+		text-align: center;
+		margin-top: 10px;
+		border-left: 2px solid #2D8CF0;
+		line-height: 16px;
+		font-size: 14px;
+		font-weight: 600;
+		color: #333333;
+	}
+
+	.subBtn {
+		width: 54px;
+		height: 32px;
+		background: #2D8CF0;
+		border-radius: 4px;
+		font-size: 12px;
+		font-weight: 500;
+		color: #FFFFFF;
+		text-align: center;
+		line-height 32px;
+		cursor: pointer;
+	}
+
+	.arrbox {
+		background-color: white;
+		font-size: 12px;
+		border: 1px solid #dcdee2;
+		border-radius: 6px;
+		margin-bottom: 0px;
+		padding: 0 5px;
+		text-align: left;
+		box-sizing: border-box;
+		width: 300px;
+	}
+
+	.arrbox_ip {
+		font-size: 12px;
+		border: none;
+		box-shadow: none;
+		outline: none;
+		background-color: transparent;
+		padding: 0;
+		margin: 0;
+		width: auto !important;
+		max-width: inherit;
+		min-width: 80px;
+		vertical-align: top;
+		height: 30px;
+		color: #34495e;
+		margin: 2px;
+		line-height: 30px;
+	}
+
+	.vertical-center-modal {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.uploadPictrue {
+		width: 60px;
+		height: 60px;
+		background: #F5F5F5;
+		border-radius: 4px;
+		border: 1px dashed #DDDDDD;
+		text-align: center;
+		line-height: 60px;
+
+		img {
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	.upload-text {
+		font-size: 12px;
+		font-weight: 400;
+		color: #CCCCCC;
+		margin-top: 6px;
+	}
+
+	.addInfo {
+		width: 78px;
+		height: 32px;
+		border-radius: 4px;
+		border: 1px solid rgba(151, 151, 151, 0.36);
+		text-align: center;
+		line-height: 32rpx;
+		font-size: 12px;
+		font-weight: 400;
+		color: rgba(0, 0, 0, 0.85);
+		margin-top: 20px;
+		cursor: pointer;
+	}
+
+	.add-coupon {
+		font-size: 12px;
+		font-weight: 400;
+		color: #1890FF;
+		cursor: pointer;
+	}
+
+	.imgPic {
+		.info {
+			width: 60%;
+			margin-left: 10px;
+		}
+
+		.pictrue {
+			width: 36px;
+			height: 36px;
+			margin: 7px 3px 0 3px;
+
+			img {
+				width: 100%;
+				height: 100%;
+				display: block;
+			}
+		}
+	}
+
+	.goods {
+		width: 780px !important;
+	}
+
+	.add-goods {
+		margin-top: 20px;
+		display: flex;
+
+		.goods-btn {
+			margin: 0 20px;
+		}
+
+		.paging {
+			margin-left: 170px;
+		}
+	}
+
+	.vxe-header--row {
+		background: pink;
+	}
+
+	.footer {
+		width: 100%;
+		height: 65px;
+		background: #FFFFFF;
+		position: fixed;
+		right: 0;
+		bottom: 0;
+		left: 200px;
+		z-index: 10;
+
+		.btn {
+			margin-left: 40%;
+		}
+	}
 </style>