فهرست منبع

1.产品管理中,新增合约产品标识,策略编辑中涉及合约产品内容适配标识进行判断
2.如退订合约提示,开启状态下额外判定当前产品合约标识,合约产品放使用提示

1.管理后台菜单,关闭旧策略入口(保留文件,仅下线入口)
2.首页默认迁移到渠道管理-一级渠道列表页面
3.批量修改策略样式中,图片组件改为新组件

页面功能 逻辑 优化

hml 2 سال پیش
والد
کامیت
c6cace9a08
36فایلهای تغییر یافته به همراه381 افزوده شده و 167 حذف شده
  1. 6 6
      purchase_H5/src/common/common.js
  2. 8 14
      purchase_H5/src/components/unbuyModal.vue
  3. 12 7
      purchase_H5/src/components/unifyColor.vue
  4. 12 8
      purchase_H5/src/components/unifyModal.vue
  5. 11 4
      purchase_H5/src/componentsNew/unbuyModal.vue
  6. 18 18
      purchase_H5/src/store/index.js
  7. 2 1
      purchase_H5/src/templates/activity-template/index.vue
  8. 3 2
      purchase_H5/src/templates/activity-three/index.vue
  9. 17 0
      purchase_H5/src/templates/templateApplet/components/duanRen.vue
  10. 17 0
      purchase_H5/src/templates/templateApplet/components/jianRen.vue
  11. 2 1
      purchase_H5/src/templates/templateApplet/index.vue
  12. 18 0
      purchase_H5/src/templates/templateColor/components/duanRen.vue
  13. 15 6
      purchase_H5/src/templates/templateColor/components/jianRen.vue
  14. 2 1
      purchase_H5/src/templates/templateColor/index.vue
  15. 2 1
      purchase_H5/src/templates/templateColorNew/index.vue
  16. 18 3
      purchase_H5/src/templates/templateCom/components/duanRen.vue
  17. 17 0
      purchase_H5/src/templates/templateCom/components/jianRen.vue
  18. 2 1
      purchase_H5/src/templates/templateCom/index.vue
  19. 3 2
      purchase_H5/src/templates/templateKechuang/index.vue
  20. 18 1
      purchase_H5/src/templates/templatePush/components/tongRen.vue
  21. 2 1
      purchase_H5/src/templates/templateSuixinxuan/index.vue
  22. 3 2
      purchase_H5/src/templates/templateThree/index.vue
  23. 8 7
      purchase_H5/src/templates/templateTogether-Col/index.vue
  24. 12 7
      purchase_H5/src/templates/templateTogether-Col/unify.vue
  25. 18 0
      purchase_H5/src/templates/templateTogether/components/duanRen.vue
  26. 17 0
      purchase_H5/src/templates/templateTogether/components/jianRen.vue
  27. 8 7
      purchase_H5/src/templates/templateTogether/index.vue
  28. 2 1
      purchase_H5/src/templates/templateXinJiang/index.vue
  29. 11 11
      purchase_H5/src/templates/tuiding-zhijia/index.vue
  30. 3 1
      purchase_H5/src/views/index.vue
  31. 2 0
      purchase_H5/src/views/indexMobile.vue
  32. 8 6
      purchase_H5/src/views/manual/manual004.vue
  33. 23 22
      purchase_ao/src/router/index.js
  34. 7 1
      purchase_ao/src/views/productV2/addProduct.vue
  35. 7 1
      purchase_ao/src/views/productV2/editProduct.vue
  36. 47 24
      purchase_ao/src/views/strategy/index.vue

+ 6 - 6
purchase_H5/src/common/common.js

@@ -96,14 +96,10 @@ export default {
       //  addr相关埋点也需要增加该参数  旭哥在改接口  今天更新
       this.$store.commit('setTid', tid)
     }
-    this.userMatch()
-    if (this.pageData.remarks.attestation !== 0) {
+    await this.userMatch()
+    if (this.pageData.remarks.attestation != 0) {
       if (this.$route.query.phone) {
         this.phone = this.$route.query.phone;
-      } else if (localStorage.getItem("phone")) {
-        setTimeout(() => {
-          this.phone = localStorage.getItem("phone");;
-        }, 500)
       }
     }
 
@@ -645,11 +641,15 @@ export default {
             userid: decodeURIComponent(userid),
             phone: res.data
           })
+          if (this.pageData.remarks.attestation != 0) {
+            this.phone = res.data
+          }
           addR.loginSuccess()
           this.number(res.data)
         })
       } else if (localStorage.getItem('phone')) {
         this.number(localStorage.getItem('phone'))
+        this.phone = localStorage.getItem('phone')
       }
       if (this.pageData.remarks.dispose && this.pageData.remarks.dispose !== '') {
         this.pageData.remarks.dispose.split(',').forEach(val => {

+ 8 - 14
purchase_H5/src/components/unbuyModal.vue

@@ -94,7 +94,7 @@
       </div>
     </van-overlay>
     <!-- 合约提示 -->
-    <van-overlay v-if="indexNumber==0" :show="opoutShow" :duration="0.1">
+    <van-overlay v-if="isTreaty == 1" :show="opoutShow" :duration="0.1">
       <div class="repeat-modal modal" @click.stop>
         <img src="../assets/img/close.png" class="close" @click="opoutShow = false" />
         <div class="text-box" v-if="text!==''">{{text}}</div>
@@ -187,21 +187,13 @@ export default {
       opoutShow: false,
       memberInfo: {},
       text: "",
-      indexNumber: 0
+      isTreaty: 0
     };
   },
   computed: {
     user () {
       return this.$store.state.user;
     },
-    indexNum () {
-      return this.$store.state.indexNum
-    }
-  },
-  watch: {
-    indexNum (newVal, oldVal) {
-      this.indexNumber = newVal
-    }
   },
   created () {
     if (this.pageData.remarks.treatyText && this.pageData.remarks.treatyText !== '') {
@@ -373,11 +365,13 @@ export default {
               userid: res.data.userid,
               phone: this.loginForm.phone,
             });
-            if (this.pageData.remarks.treaty === '1' ) {
-              if(this.indexNumber == 1){
-               this.unbuyClick()
-              }else{
+            if (this.pageData.remarks.treaty === '1') {
+              if (this.$store.state.product.cacheSeatOne[0].isTreaty == "1") {
+                this.isTreaty = 1
                 this.getOrderList(res.data.userid)
+              } else {
+                this.isTreaty = 0
+                this.unbuyClick()
               }
 
             } else {

+ 12 - 7
purchase_H5/src/components/unifyColor.vue

@@ -151,6 +151,16 @@ export default {
     isBuy: String,
     indexNum: Number,
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne;
@@ -180,13 +190,8 @@ export default {
   mounted () {
     if (this.$route.query.phone) {
       this.loginForm.phone = this.$route.query.phone;
-    } else if (localStorage.getItem("phone")) {
-      setTimeout(() => {
-        let phone = localStorage.getItem("phone");
-        if (phone) {
-          this.loginForm.phone = phone;
-        }
-      }, 1000);
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
     }
   },
   methods: {

+ 12 - 8
purchase_H5/src/components/unifyModal.vue

@@ -104,6 +104,16 @@ export default {
     isBuy: String,
     indexNum: Number,
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne;
@@ -117,7 +127,6 @@ export default {
         this.checked = true;
       }
     }
-
     let start =
       this.pageData.remarks.orderNum && this.pageData.remarks.orderNum !== ""
         ? Number(this.pageData.remarks.orderNum)
@@ -133,13 +142,8 @@ export default {
   mounted () {
     if (this.$route.query.phone) {
       this.loginForm.phone = this.$route.query.phone;
-    } else if (localStorage.getItem("phone")) {
-      setTimeout(() => {
-        let phone = localStorage.getItem("phone");
-        if (phone) {
-          this.loginForm.phone = phone;
-        }
-      }, 1000);
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
     }
   },
   methods: {

+ 11 - 4
purchase_H5/src/componentsNew/unbuyModal.vue

@@ -94,7 +94,7 @@
       </div>
     </van-overlay>
     <!-- 合约提示 -->
-    <van-overlay :show="opoutShow" :duration="0.1">
+    <van-overlay v-if="isTreaty == 1" :show="opoutShow" :duration="0.1">
       <div class="repeat-modal modal" @click.stop>
         <img src="../assets/img/close.png" class="close" @click="opoutShow = false" />
         <div class="text-box" v-if="text!==''">{{text}}</div>
@@ -186,7 +186,8 @@ export default {
       saveValue: false,
       opoutShow: false,
       memberInfo: {},
-      text: ""
+      text: "",
+      isTreaty: 0
     };
   },
   computed: {
@@ -338,7 +339,7 @@ export default {
       } else {
         this.unbuyClick()
       }
-    }, 
+    },
     unbuy () {
       // this.getOrderList(this.$store.state.user.userid)
       let { phone, vcode } = this.loginForm;
@@ -365,7 +366,13 @@ export default {
               phone: this.loginForm.phone,
             });
             if (this.pageData.remarks.treaty === '1') {
-              this.getOrderList(res.data.userid)
+              if (this.$store.state.product.cacheSeatOne[0].isTreaty == "1") {
+                this.isTreaty = 1
+                this.getOrderList(res.data.userid)
+              } else {
+                this.isTreaty = 0
+                this.unbuyClick()
+              }
             } else {
               // this.$toast.loading({
               //   duration: 30000

+ 18 - 18
purchase_H5/src/store/index.js

@@ -10,9 +10,9 @@ if (now - past < 24 * 60 * 60 * 1000) {
   userid = localStorage.getItem('userid')
   phone = localStorage.getItem('phone')
 }
-let fromSource  = ""
+let fromSource = ""
 let str = localStorage.getItem('beCome')
-if(str){
+if (str) {
   fromSource = str
 }
 export default new Vuex.Store({
@@ -27,18 +27,18 @@ export default new Vuex.Store({
     testId: null,
     testGroupId: null,
     tid: null,
-    anonymousId:"",
-    fromSource:fromSource,
+    anonymousId: "",
+    fromSource: fromSource,
     global: {},
     addrData: {},
-    fictitious:'',
-    indexNum:0
+    fictitious: '',
+    product: {}
   },
   mutations: {
-    setNum(state, val) {
-      state.indexNum = val;
+    setProduct (state, payload) {
+      state.product=  Object.assign({}, state.product, payload)
     },
-    setUser(state, payload) {
+    setUser (state, payload) {
       if (payload.userid) {
         if (payload.userid === 'undefined') return false
         localStorage.setItem('userid', payload.userid)
@@ -51,33 +51,33 @@ export default new Vuex.Store({
       state.user = Object.assign({}, state.user, payload)
       this.commit('addRChange')
     },
-    setPageData(state, payload) {
+    setPageData (state, payload) {
       state.pageData = Object.assign({}, state.pageData, payload)
       this.commit('addRChange')
     },
-    setGlobal(state, global) {
+    setGlobal (state, global) {
       state.global = global
     },
-    setFictitious(state, fictitious) {
+    setFictitious (state, fictitious) {
       state.fictitious = fictitious
       // 虚商号码管理
     },
-    setTempName(state, val) {
+    setTempName (state, val) {
       state.tempName = val;
     },
-    setTestId(state, val) {
+    setTestId (state, val) {
       state.testId = val;
       this.commit('addRChange')
     },
-    setTestGroupId(state, val) {
+    setTestGroupId (state, val) {
       state.testGroupId = val;
       this.commit('addRChange')
     },
-    setTid(state, val) {
+    setTid (state, val) {
       state.tid = val;
       this.commit('addRChange')
     },
-    setAnonymousId(state, val) {
+    setAnonymousId (state, val) {
       state.anonymousId = val;
       this.commit('addRChange')
     },
@@ -90,7 +90,7 @@ export default new Vuex.Store({
     //   }
     //   state.modelName = name
     // },
-    addRChange(state) {
+    addRChange (state) {
       state.addrData.channelKey = state.pageData.channl.channelKey;
       state.addrData.userid = state.user.userid;
       state.addrData.phone = state.user.phone;

+ 2 - 1
purchase_H5/src/templates/activity-template/index.vue

@@ -292,7 +292,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             },
           ],
           cpid: info.data.cpid,

+ 3 - 2
purchase_H5/src/templates/activity-three/index.vue

@@ -413,7 +413,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             },
           ],
           cpid: info.data.cpid,
@@ -495,7 +496,7 @@ export default {
       this.unBuyDrainage = false;
     },
     buyBtn (item) {
-      // this.$store.commit("setPageData", pageData);
+      this.$store.commit("setProduct", item);
       if (this.checked == false) {
         this.$toast('请勾选隐私声明')
       } else {

+ 17 - 0
purchase_H5/src/templates/templateApplet/components/duanRen.vue

@@ -65,6 +65,16 @@ export default {
     pageData: Object,
     isBuy: String
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
@@ -84,6 +94,13 @@ export default {
     let times = (now - 1600476800000) / 180000;
     this.times = String(Math.ceil(times * add) + start)
   },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       // this.$emit("btnClick", this.loginForm);

+ 17 - 0
purchase_H5/src/templates/templateApplet/components/jianRen.vue

@@ -65,6 +65,16 @@ export default {
     pageData: Object,
     isBuy: String
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
@@ -84,6 +94,13 @@ export default {
     let times = (now - 1600476800000) / 180000;
     this.times = String(Math.ceil(times * add) + start)
   },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       if (this.checked === false) {

+ 2 - 1
purchase_H5/src/templates/templateApplet/index.vue

@@ -389,7 +389,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,

+ 18 - 0
purchase_H5/src/templates/templateColor/components/duanRen.vue

@@ -79,6 +79,16 @@ export default {
   props: {
     pageData: Object
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
@@ -98,6 +108,14 @@ export default {
     let times = (now - 1600476800000) / 180000;
     this.times = String(Math.ceil(times * add) + start)
   },
+
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       if (this.checked === false) {

+ 15 - 6
purchase_H5/src/templates/templateColor/components/jianRen.vue

@@ -79,6 +79,16 @@ export default {
   props: {
     pageData: Object
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
@@ -99,12 +109,11 @@ export default {
     this.times = String(Math.ceil(times * add) + start)
   },
   mounted () {
-    setTimeout(() => {
-      let phone = localStorage.getItem('phone')
-      if (phone) {
-        this.loginForm.phone = phone
-      }
-    }, 1000)
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
   },
   methods: {
     btnClick () {

+ 2 - 1
purchase_H5/src/templates/templateColor/index.vue

@@ -343,7 +343,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,

+ 2 - 1
purchase_H5/src/templates/templateColorNew/index.vue

@@ -289,7 +289,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             },
           ],
           cpid: info.data.cpid,

+ 18 - 3
purchase_H5/src/templates/templateCom/components/duanRen.vue

@@ -65,13 +65,21 @@ export default {
     pageData: Object,
     isBuy: String
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
     }
-    if (this.pageData.remarks.privacy && this.pageData.remarks.privacy !== '' && this.pageData.remarks
-      .privacy !==
-      null) {
+    if (this.pageData.remarks.privacy && this.pageData.remarks.privacy !== '' && this.pageData.remarks.privacy !==null) {
       if (this.pageData.remarks.privacy === '1') {
         this.checked = true
       }
@@ -84,6 +92,13 @@ export default {
     let times = (now - 1600476800000) / 180000;
     this.times = String(Math.ceil(times * add) + start)
   },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       // this.$emit("btnClick", this.loginForm);

+ 17 - 0
purchase_H5/src/templates/templateCom/components/jianRen.vue

@@ -65,6 +65,16 @@ export default {
     pageData: Object,
     isBuy: String
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne
@@ -84,6 +94,13 @@ export default {
     let times = (now - 1600476800000) / 180000;
     this.times = String(Math.ceil(times * add) + start)
   },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       if (this.checked === false) {

+ 2 - 1
purchase_H5/src/templates/templateCom/index.vue

@@ -405,7 +405,8 @@ export default {
                   s: productJson.tabMaincol,
                 },
                 btnUrl: "",
-                relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:""
+                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+                isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
               },
             ],
             cpid: info.data.cpid,

+ 3 - 2
purchase_H5/src/templates/templateKechuang/index.vue

@@ -163,7 +163,7 @@ export default {
       repeatShow: false,
       productJson: [],
       phone: "",
-      handelShow:false
+      handelShow: false
     };
   },
   filters: {
@@ -283,7 +283,8 @@ export default {
               s: productJson.tabMaincol,
             },
             btnUrl: "",
-            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+            isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
           }],
           cpid: info.data.cpid,
           discountInfo: null,

+ 18 - 1
purchase_H5/src/templates/templatePush/components/tongRen.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="btnModal">
     <div class="inputBox">
-      <input v-model="phone" class="input"  type="text" maxlength="11" placeholder="请输入联通号码">
+      <input v-model="phone" class="input" type="text" maxlength="11" placeholder="请输入联通号码">
     </div>
     <div class="btnBox">
       <div class="btnText" :style="{'background-image': `linear-gradient(${pageData.mainJson.btnTopcol},${pageData.mainJson.btnBotcol})`}" @click="btnClick">
@@ -40,11 +40,28 @@ export default {
   props: {
     pageData: Object
   },
+  computed: {
+    vueXphone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    vueXphone (newVal, oldVal) {
+      this.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.remarks.privacy === '1') {
       this.checked = true
     }
   },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.phone = this.$route.query.phone;
+    } else if (this.vueXphone) {
+      this.phone = this.vueXphone
+    }
+  },
   methods: {
     btnClick () {
       if (this.phone === '') {

+ 2 - 1
purchase_H5/src/templates/templateSuixinxuan/index.vue

@@ -211,7 +211,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,

+ 3 - 2
purchase_H5/src/templates/templateThree/index.vue

@@ -383,7 +383,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+              relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             },
           ],
           cpid: info.data.cpid,
@@ -465,7 +466,7 @@ export default {
       this.unBuyDrainage = false;
     },
     buyBtn (item) {
-      // this.$store.commit("setPageData", pageData);
+      this.$store.commit("setProduct", item);
       if (this.checked == false) {
         this.$toast('请勾选隐私声明')
       } else {

+ 8 - 7
purchase_H5/src/templates/templateTogether-Col/index.vue

@@ -189,10 +189,7 @@ export default {
     },
     async productClick (id, index) {
       this.indexNum = -1
-      setTimeout(() => {
-        this.indexNum = index;
-        this.$store.commit('setNum', this.indexNum)
-      }, 1)
+      this.indexNum = index
       if (this.pageData.channl.edition && this.pageData.channl.edition === 1) {
         let info = await detMainProduct({ productId: id })
         let viceProduct = this.pageData.viceJson
@@ -219,7 +216,8 @@ export default {
                 s: viceProduct.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:""
+              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:"",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,
@@ -272,7 +270,8 @@ export default {
                 s: mainJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:""
+              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:"",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,
@@ -311,6 +310,7 @@ export default {
         MgtvApi.setWebviewTitle({
           title: title,
         });
+        this.$store.commit('setProduct',this.pageData.mainProduct)
         if (this.pageData.remarks.jihuoUrl && this.pageData.remarks.jihuo !== '') {
           this.pageData.mainProduct.flowJumpUrl = this.pageData.remarks.jihuo
         }
@@ -513,7 +513,8 @@ export default {
                 s: productJson.tabMaincol,
               },
               btnUrl: "",
-              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:""
+              relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:"",
+              isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
             }],
             cpid: info.data.cpid,
             discountInfo: null,

+ 12 - 7
purchase_H5/src/templates/templateTogether-Col/unify.vue

@@ -109,6 +109,16 @@ export default {
     isBuy: String,
 
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
   created () {
     if (this.pageData.remarks.privacy && this.pageData.remarks.privacy !== "" && this.pageData.remarks.privacy !== null) {
       if (this.pageData.remarks.privacy === "1") {
@@ -130,13 +140,8 @@ export default {
   mounted () {
     if (this.$route.query.phone) {
       this.loginForm.phone = this.$route.query.phone;
-    } else if (localStorage.getItem("phone")) {
-      setTimeout(() => {
-        let phone = localStorage.getItem("phone");
-        if (phone) {
-          this.loginForm.phone = phone;
-        }
-      }, 1000);
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
     }
   },
   methods: {

+ 18 - 0
purchase_H5/src/templates/templateTogether/components/duanRen.vue

@@ -54,6 +54,24 @@ export default {
     checked: Boolean,
     indexNum: Number
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
+
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       if (this.checked === false) {

+ 17 - 0
purchase_H5/src/templates/templateTogether/components/jianRen.vue

@@ -56,6 +56,23 @@ export default {
     checked: Boolean,
     indexNum: Number
   },
+  computed: {
+    phone () {
+      return this.$store.state.user.phone
+    }
+  },
+  watch: {
+    phone (newVal, oldVal) {
+      this.loginForm.phone = newVal;
+    }
+  },
+  mounted () {
+    if (this.$route.query.phone) {
+      this.loginForm.phone = this.$route.query.phone;
+    } else if (this.phone) {
+      this.loginForm.phone = this.phone
+    }
+  },
   methods: {
     btnClick () {
       if (this.checked === false) {

+ 8 - 7
purchase_H5/src/templates/templateTogether/index.vue

@@ -330,11 +330,8 @@ export default {
     async productClick (val, index) {
       this.indexNum = -1;
       this.clickCss = index;
+      this.indexNum = index
       this.pageData.mainProduct.isTreaty = index;
-      setTimeout(() => {
-        this.indexNum = index;
-        this.$store.commit('setNum', this.indexNum)
-      }, 1);
       if (index === 0) {
         let start = this.pageData.remarks.orderNum && this.pageData.remarks.orderNum !== "" ? Number(this.pageData.remarks.orderNum) : 0;
         let add = this.pageData.remarks.orderAdd && this.pageData.remarks.orderAdd !== "" ? Number(this.pageData.remarks.orderAdd) : 1;
@@ -391,7 +388,8 @@ export default {
                   s: viceProduct.tabMaincol,
                 },
                 btnUrl: "",
-                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+                isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
               },
             ],
             cpid: info.data.cpid,
@@ -456,7 +454,8 @@ export default {
                   s: mainJson.tabMaincol,
                 },
                 btnUrl: "",
-                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+                isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
               },
             ],
             cpid: info.data.cpid,
@@ -489,6 +488,7 @@ export default {
           this.productJson = mainProduct.cacheSeatOne;
           this.pageData.mainProduct = mainProduct;
         }
+        this.$store.commit('setProduct', this.pageData.mainProduct)
         this.param.cpid = info.data.cpid;
         this.param.spid = info.data.spid;
         let title = this.pageData.mainProduct.productName
@@ -685,7 +685,8 @@ export default {
                   s: productJson.tabMaincol,
                 },
                 btnUrl: "",
-                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+                relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+                isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
               },
             ],
             cpid: info.data.cpid,

+ 2 - 1
purchase_H5/src/templates/templateXinJiang/index.vue

@@ -271,7 +271,8 @@ export default {
               s: productJson.tabMaincol,
             },
             btnUrl: "",
-            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : ""
+            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+            isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
           }],
           cpid: info.data.cpid,
           discountInfo: null,

+ 11 - 11
purchase_H5/src/templates/tuiding-zhijia/index.vue

@@ -6,7 +6,7 @@
     <div class="box">
       <div v-if="page == 1">
         <div class="text">
-          您订购的 <span style="color:#68B748">{{pageData.mainProduct.productName}}</span><span v-if="isVal == 0">已守护您的家人<span style="color:#D92222">{{day}}</span>天</span>
+          您订购的 <span style="color:#68B748">{{pageData.mainProduct.productName}}</span><span v-if="isVal == 1">已守护您的家人<span style="color:#D92222">{{day}}</span>天</span>
         </div>
         <div class="text2">
           确定要退订吗?
@@ -34,7 +34,7 @@ import { orderList, postBuy, changeUseridToPhone } from '../../api'
 export default {
   data () {
     return {
-      page: 1,
+      page: 0,
       imgUrl: process.env.VUE_APP_IMGS_URL,
       isVal: 0,
       day: ""
@@ -61,25 +61,28 @@ export default {
           userid: decodeURIComponent(userid),
           phone: res.data
         })
+        this.getIsbuy(decodeURIComponent(userid))
         addR.loginSuccess()
       })
     }
   },
-  mounted () {
-    if (this.user.userid) {
+  methods: {
+    // 获取订购记录
+    getIsbuy (userid) {
       orderList({
-        userid: this.user.userid,
+        userid: userid,
         cpid: this.pageData.mainProduct.cpid,
         spid: this.pageData.mainProduct.spid,
       }).then((res) => {
         let data = res.data;
         if (data.length === 0) {
-          this.page = 1
-          this.isVal = 1;
+          this.page = 3
         } else {
           if (data[0].ENDTIME !== '') {
             this.page = 2
           } else {
+            this.page = 1
+            this.isVal = 1;
             let orderTime = data[0].ORDERTIME
             let orderYear = parseInt(orderTime.substring(0, 4))
             let orderMonth = parseInt(orderTime.substring(4, 6))
@@ -89,12 +92,9 @@ export default {
             let dateNum = new Date().getTime()
             this.day = parseInt((dateNum - orderTimeNum) / (1000 * 3600 * 24))
           }
-
         }
       });
-    }
-  },
-  methods: {
+    },
     unBuyClick () {
       let updata = {
         cpid: this.pageData.mainProduct.cpid,

+ 3 - 1
purchase_H5/src/views/index.vue

@@ -207,7 +207,8 @@ export default {
               s: mainJson.tabMaincol,
             },
             btnUrl: "",
-            relationIds: info.data.cacheSeatOne[0].relationIds?info.data.cacheSeatOne[0].relationIds:""
+            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+            isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
           }],
           cpid: info.data.cpid,
           discountInfo: null,
@@ -286,6 +287,7 @@ export default {
         if (pageData.remarks.memberUrl && pageData.remarks.memberUrl !== '') {
           pageData.mainProduct.cacheSeatOne[0].memberUrl = pageData.remarks.memberUrl
         }
+        this.$store.commit('setProduct',pageData.mainProduct)
         this.$store.commit("setPageData", pageData);
         if (window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == "micromessenger") {
           let banners = pageData.mainProduct.bannerPics[0];

+ 2 - 0
purchase_H5/src/views/indexMobile.vue

@@ -57,6 +57,8 @@ export default {
               s: data.productJson.tabMaincol,
             },
             btnUrl: "",
+            relationIds: data.productJson.relationIds ? data.productJson.relationIds : "",
+            isTreaty: data.productJson.isTreaty ? data.productJson.isTreaty : "0"
           }],
           cpid: res.data.cpid,
           discountInfo: null,

+ 8 - 6
purchase_H5/src/views/manual/manual004.vue

@@ -137,6 +137,8 @@ export default {
               s: mainJson.tabMaincol,
             },
             btnUrl: "",
+            relationIds: info.data.cacheSeatOne[0].relationIds ? info.data.cacheSeatOne[0].relationIds : "",
+            isTreaty: info.data.cacheSeatOne[0].isTreaty ? info.data.cacheSeatOne[0].isTreaty : "0"
           }],
           cpid: info.data.cpid,
           discountInfo: null,
@@ -209,11 +211,11 @@ export default {
             viceProductStrategyList: data.viceProductIds,
           }
         };
-        if(pageData.remarks.jihuoUrl && pageData.remarks.jihuo !==''){
-          pageData.mainProduct.flowJumpUrl =  pageData.remarks.jihuo
+        if (pageData.remarks.jihuoUrl && pageData.remarks.jihuo !== '') {
+          pageData.mainProduct.flowJumpUrl = pageData.remarks.jihuo
         }
-        if(pageData.remarks.memberUrl && pageData.remarks.memberUrl !==''){
-          pageData.mainProduct.cacheSeatOne[0].memberUrl =  pageData.remarks.memberUrl
+        if (pageData.remarks.memberUrl && pageData.remarks.memberUrl !== '') {
+          pageData.mainProduct.cacheSeatOne[0].memberUrl = pageData.remarks.memberUrl
         }
         this.pageData = pageData
         if (this.pageData.remarks.tabArr && this.pageData.remarks.tabArr.length > 0) {
@@ -279,7 +281,7 @@ export default {
     tabClick (item) {
       if (this.isApplet == true) {
         if (item.tabUrlApplet !== '') {
-          let url = item.tabUrlApplet +'&channelName='+this.pageData.channl.channelKey
+          let url = item.tabUrlApplet + '&channelName=' + this.pageData.channl.channelKey
           window.location.href = url
         } else {
           if (item.tabName == '订购记录') {
@@ -298,7 +300,7 @@ export default {
         }
       } else {
         if (item.tabUrlBasics !== '') {
-          let url = item.tabUrlBasics +'&channelName='+this.pageData.channl.channelKey
+          let url = item.tabUrlBasics + '&channelName=' + this.pageData.channl.channelKey
           window.location.href = url
         } else {
           if (item.tabName == '订购记录') {

+ 23 - 22
purchase_ao/src/router/index.js

@@ -17,7 +17,7 @@ export const constantRoutes = [{
   children: [{
     path: '/dashboard',
     name: '首页',
-    component: () => import('@/views/schemeV2/index'),
+    component: () => import('@/views/strategy/index'),
     meta: {
       title: '首页',
       icon: 'dashboard'
@@ -28,9 +28,9 @@ export const constantRoutes = [{
   path: '/productManagement',
   component: Layout,
   redirect: '/productManagement/',
-  name: '新-产品管理',
+  name: '产品管理',
   meta: {
-    title: '新-产品管理',
+    title: '产品管理',
     icon: 'el-icon-s-goods'
   },
   children: [{
@@ -86,13 +86,13 @@ export const constantRoutes = [{
 {
   path: '/channel',
   component: Layout,
-  name: '新-渠道管理',
+  name: '渠道管理',
   children: [{
     path: '/channel',
     name: '渠道列表',
     component: () => import('@/views/schemeV2/channel'),
     meta: {
-      title: '新-渠道管理',
+      title: '渠道管理',
       icon: 'el-icon-s-flag'
     }
   }]
@@ -131,9 +131,9 @@ export const constantRoutes = [{
   path: '/strategy',
   component: Layout,
   redirect: '/strategy/',
-  name: '新-策略管理',
+  name: '策略管理',
   meta: {
-    title: '新-策略管理',
+    title: '策略管理',
     icon: 'el-icon-s-tools'
   },
   children: [{
@@ -159,7 +159,7 @@ export const constantRoutes = [{
   redirect: '/newSchemeProinfo/',
   name: '高级策略',
   meta: {
-    title: '新-高级策略',
+    title: '高级策略',
     icon: 'el-icon-s-claim'
   },
   children:[
@@ -198,21 +198,22 @@ export const constantRoutes = [{
   ]
 },
 
+// {
+//   path: '/schemeV2',
+//   component: Layout,
+//   redirect: '/schemeV2/',
+//   name: '旧-策略管理',
+//   children: [{
+//     path: '/schemeV2/index',
+//     name: '策略列表',
+//     component: () => import('@/views/schemeV2/index'),
+//     meta: {
+//       title: '旧-策略管理',
+//       icon: 'el-icon-s-management'
+//     }
+//   }]
+// }, 
 {
-  path: '/schemeV2',
-  component: Layout,
-  redirect: '/schemeV2/',
-  name: '旧-策略管理',
-  children: [{
-    path: '/schemeV2/index',
-    name: '策略列表',
-    component: () => import('@/views/schemeV2/index'),
-    meta: {
-      title: '旧-策略管理',
-      icon: 'el-icon-s-management'
-    }
-  }]
-}, {
   path: '/schemeAdd',
   component: Close,
   redirect: '/schemeAdd/',

+ 7 - 1
purchase_ao/src/views/productV2/addProduct.vue

@@ -32,6 +32,9 @@
           <el-option label="多选一" :value="2" />
         </el-select>
       </el-form-item>
+      <el-form-item label="合约产品">
+        <el-switch style="width: 300px" v-model="productJson[0].isTreaty" active-text="是" inactive-text="否" active-value="1" inactive-value="0" />
+      </el-form-item>
       <el-form-item label="产品价格">
         <el-input style="width: 300px" v-model="form.originalPrice" placeholder="产品价格"></el-input>
       </el-form-item>
@@ -238,7 +241,8 @@ export default {
         tabC: { s: "", e: "" },
         memberUrl: "",
         dongHua: "0",
-        relationIds: ""
+        relationIds: "",
+        isTreaty: "0"
       },], //产品信息json
       form: {
         bannerPics: "",
@@ -393,6 +397,8 @@ export default {
               this.relationIds = val.relationIds.split(',').map((v, i, a) => {
                 return Number(v)
               })
+            }else if(!val.isTreaty){
+              val.isTreaty = "0"
             }
             list.push(val)
           });

+ 7 - 1
purchase_ao/src/views/productV2/editProduct.vue

@@ -38,6 +38,9 @@
           <el-option label="多选一" :value="2" />
         </el-select>
       </el-form-item>
+      <el-form-item label="合约产品">
+        <el-switch style="width: 300px" v-model="productJson[0].isTreaty" active-text="是" inactive-text="否" active-value="1" inactive-value="0" />
+      </el-form-item>
       <el-form-item label="产品原价">
         <el-input style="width: 300px" v-model="form.originalPrice" placeholder="产品原价"></el-input>
       </el-form-item>
@@ -242,7 +245,8 @@ export default {
         tabC: { s: "", e: "" },
         memberUrl: "",
         dongHua: "0",
-        relationIds: ""
+        relationIds: "",
+        isTreaty:"0"
       }], //产品信息json
       form: {
         bannerPics: [],
@@ -368,6 +372,8 @@ export default {
             this.relationIds = val.relationIds.split(',').map((v, i, a) => {
               return Number(v)
             })
+          } else if (!val.isTreaty) {
+            val.isTreaty = "0"
           }
           list.push(val)
         });

+ 47 - 24
purchase_ao/src/views/strategy/index.vue

@@ -5,7 +5,7 @@
         <el-input v-model="form.strategyName" placeholder="输入策略名称"></el-input>
       </el-form-item>
       <el-form-item label="产品" placeholder="选择产品">
-        <el-select v-model="form.productId" filterable  clearable>
+        <el-select v-model="form.productId" filterable clearable>
           <el-option v-for="item in productList" :key="item.id" :label="`${item.productName}/${item.remark}/${item.spid}`" :value="item.id"></el-option>
         </el-select>
       </el-form-item>
@@ -27,7 +27,7 @@
       <el-button v-if="deleteDatas.length > 0" style="margin-left: 20px" type="primary" icon="el-icon-delete" size="mini" @click="removeAll">批量删除</el-button>
       <el-button v-if="deleteDatas.length > 1" style="margin-left: 20px" type="primary" icon="el-icon-edit" size="mini" @click="drawerClick">批量修改</el-button>
     </div>
-    <el-table :key="key" v-loading="loading" :data="datas" :header-cell-style="{ 'background-color': '#E4E7ED', color: '#000' }" @selection-change="selectionChnage">
+    <el-table :key="key"  highlight-current-row v-loading="loading" :data="datas" :header-cell-style="{ 'background-color': '#E4E7ED', color: '#000' }" @selection-change="selectionChnage">
       <el-table-column type="selection" width="55"></el-table-column>
       <el-table-column prop="strategyName" label="策略名称"></el-table-column>
       <el-table-column prop="maskText" label="策略备注"></el-table-column>
@@ -65,7 +65,7 @@
         <el-tag style="margin-left: 15px" :key="index" v-for="(tag, index) in deleteDatas" :disable-transitions="false">
           {{ tag.strategyName }}</el-tag>
       </div>
-      <div style="padding: 10px; margin: 15px">
+      <div style="padding:30px 10px; margin: 30px">
         <el-form size="small" ref="form" style="width: 100%" label-width="120px">
           <el-collapse v-model="collapseVal">
             <el-collapse-item title="配色方案-主产品" name="0">
@@ -171,14 +171,15 @@
                     <span>banner图</span>
                   </el-tooltip>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + productJson.bannerImg" @imgVal="productJson.bannerImg =$event" @removeClick="productJson.bannerImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '主banner');
                     }
                   ">
                   <img v-if="productJson.bannerImg" :src="imgUrl + productJson.bannerImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                </el-upload>
+                </el-upload> -->
                 <span v-if="productJson.bannerImg !== ''" @click="productJson.bannerImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
               </el-form-item>
               <el-form-item>
@@ -203,12 +204,13 @@
                     <span>上层素材</span>
                   </el-tooltip>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl+productJson.upImg" @imgVal="productJson.upImg =$event" @removeClick="productJson.upImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {fileSuccess(file, fileList, '主upImg');}">
                   <img v-if="productJson.upImg !== ''" :src="imgUrl + productJson.upImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="productJson.upImg !== ''" @click="productJson.upImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="productJson.upImg !== ''" @click="productJson.upImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
@@ -216,7 +218,8 @@
                     <span>顶层素材</span>
                   </el-tooltip>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl+productJson.topImg" @imgVal="productJson.topImg =$event" @removeClick="productJson.topImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '主topImg');
                     }
@@ -224,7 +227,15 @@
                   <img v-if="productJson.topImg !== ''" :src="imgUrl + productJson.topImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="productJson.topImg !== ''" @click="productJson.topImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="productJson.topImg !== ''" @click="productJson.topImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
+              </el-form-item>
+              <el-form-item label="订购窗标题">
+                <img-Content :imgValue="imgUrl+productJson.explainTitle" @imgVal="productJson.explainTitle =$event" @removeClick="productJson.explainTitle = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="((file,fileList)=>{fileSuccess(file,fileList,'explainTitle')})">
+                      <img v-if="productJson.explainTitle !== ''" :src="imgUrl+productJson.explainTitle" class="avatar" />
+                      <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+                    </el-upload>
+                    <span v-if="productJson.explainTitle!==''" @click="productJson.explainTitle=''" style="color: #F56C6C; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
@@ -232,7 +243,8 @@
                     <span>订购窗配图</span>
                   </el-tooltip>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl+productJson.explainImg" @imgVal="productJson.explainImg =$event" @removeClick="productJson.explainImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '主explainImg');
                     }
@@ -240,7 +252,7 @@
                   <img v-if="productJson.explainImg !== ''" :src="imgUrl + productJson.explainImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="productJson.explainImg !== ''" @click="productJson.explainImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="productJson.explainImg !== ''" @click="productJson.explainImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
@@ -248,7 +260,8 @@
                     <span>产品说明标题</span>
                   </el-tooltip>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl+productJson.orderImg" @imgVal="productJson.orderImg =$event" @removeClick="productJson.orderImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '主orderImg');
                     }
@@ -256,7 +269,7 @@
                   <img v-if="productJson.orderImg !== ''" :src="imgUrl + productJson.orderImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="productJson.orderImg !== ''" @click="productJson.orderImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="productJson.orderImg !== ''" @click="productJson.orderImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
             </el-collapse-item>
             <el-collapse-item title="配色方案-副产品" name="2">
@@ -326,7 +339,8 @@
                 <template slot="label">
                   <span>banner图</span>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + viceJson.bannerImg" @imgVal="viceJson.bannerImg =$event" @removeClick="viceJson.bannerImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '副banner');
                     }
@@ -334,7 +348,7 @@
                   <img v-if="viceJson.bannerImg" :src="imgUrl + viceJson.bannerImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="viceJson.bannerImg !== ''" @click="viceJson.bannerImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="viceJson.bannerImg !== ''" @click="viceJson.bannerImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
@@ -354,7 +368,8 @@
                 <template slot="label">
                   <span>上层素材</span>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + viceJson.upImg" @imgVal="viceJson.upImg =$event" @removeClick="viceJson.upImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '副upImg');
                     }
@@ -362,14 +377,15 @@
                   <img v-if="viceJson.upImg" :src="imgUrl + viceJson.upImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="viceJson.upImg !== ''" @click="viceJson.upImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="viceJson.upImg !== ''" @click="viceJson.upImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
 
               <el-form-item>
                 <template slot="label">
                   <span>顶层素材</span>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + viceJson.topImg" @imgVal="viceJson.topImg =$event" @removeClick="viceJson.topImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '副topImg');
                     }
@@ -377,13 +393,14 @@
                   <img v-if="viceJson.topImg" :src="imgUrl + viceJson.topImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="viceJson.topImg !== ''" @click="viceJson.topImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="viceJson.topImg !== ''" @click="viceJson.topImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
                   <span>订购窗配图</span>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + viceJson.explainImg" @imgVal="viceJson.explainImg =$event" @removeClick="viceJson.explainImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '副explainImg');
                     }
@@ -391,13 +408,14 @@
                   <img v-if="viceJson.explainImg" :src="imgUrl + viceJson.explainImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="viceJson.explainImg !== ''" @click="viceJson.explainImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="viceJson.explainImg !== ''" @click="viceJson.explainImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
               <el-form-item>
                 <template slot="label">
                   <span>产品说明标题</span>
                 </template>
-                <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
+                <img-Content :imgValue="imgUrl + viceJson.orderImg" @imgVal="viceJson.orderImg =$event" @removeClick="viceJson.orderImg = $event" />
+                <!-- <el-upload class="avatar-uploader" :show-file-list="false" :action="imgapi" :on-success="
                     (file, fileList) => {
                       fileSuccess(file, fileList, '副orderImg');
                     }
@@ -405,7 +423,7 @@
                   <img v-if="viceJson.orderImg" :src="imgUrl + viceJson.orderImg" class="avatar" />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
-                <span v-if="viceJson.orderImg !== ''" @click="viceJson.orderImg = ''" style="color: #f56c6c; cursor: pointer">删除</span>
+                <span v-if="viceJson.orderImg !== ''" @click="viceJson.orderImg = ''" style="color: #f56c6c; cursor: pointer">删除</span> -->
               </el-form-item>
             </el-collapse-item>
           </el-collapse>
@@ -448,7 +466,11 @@
 <script>
 const XEUtils = require("xe-utils");
 import { post, get } from "@/api/common";
+import imgContent from '../../components/imgBox/index.vue'
 export default {
+  components: {
+    imgContent
+  },
   data () {
     return {
       schemelog: [],
@@ -461,7 +483,7 @@ export default {
       drawer: false,
       loading: false,
       form: {
-        productId:'',
+        productId: '',
         pageNum: 1,
         pageSize: 10,
         strategyName: "",
@@ -497,6 +519,7 @@ export default {
         upImg: "", // 上层素材 (原bannerPics[2])
         topImg: "", //顶层素材 (原bannerPics[3])
         drawVal: "0", //开页动效 (原cacheSeatOne[0].dongHua)
+        explainTitle: "0",
         orderImg: "", //订购窗图
         explainImg: "", //产品说明图
       }, //产品json