适配微服务
This commit is contained in:
		
							parent
							
								
									9765310136
								
							
						
					
					
						commit
						3a3e14e0a7
					
				@ -4,7 +4,7 @@ var BASE = {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    API_DEV: {
 | 
					    API_DEV: {
 | 
				
			||||||
      seller:  "http://127.0.0.1:8888",
 | 
					      seller:  "http://127.0.0.1:8888",
 | 
				
			||||||
      manager: "http://127.0.0.1:8888" 
 | 
					      manager: "http://127.0.0.1:8888",
 | 
				
			||||||
      buyer:   "http://127.0.0.1:8888",
 | 
					      buyer:   "http://127.0.0.1:8888",
 | 
				
			||||||
      common:  "http://127.0.0.1:8888",
 | 
					      common:  "http://127.0.0.1:8888",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -28,7 +28,7 @@ export function pageData (params) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function handleRefreshToken (token) {
 | 
					export function handleRefreshToken (token) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: `/buyer/passport/members/refresh/${token}`,
 | 
					    url: `/buyer/passport/member/refresh/${token}`,
 | 
				
			||||||
    method: Method.GET,
 | 
					    method: Method.GET,
 | 
				
			||||||
    needToken: false
 | 
					    needToken: false
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ import request, {Method, buyerUrl} from '@/plugins/request.js';
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function regist (params) {
 | 
					export function regist (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/buyer/passport/members/register',
 | 
					    url: '/buyer/passport/member/register',
 | 
				
			||||||
    method: Method.POST,
 | 
					    method: Method.POST,
 | 
				
			||||||
    needToken: false,
 | 
					    needToken: false,
 | 
				
			||||||
    data: params
 | 
					    data: params
 | 
				
			||||||
@ -18,7 +18,7 @@ export function regist (params) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function login (params) {
 | 
					export function login (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/buyer/passport/members/userLogin',
 | 
					    url: '/buyer/passport/member/userLogin',
 | 
				
			||||||
    method: Method.POST,
 | 
					    method: Method.POST,
 | 
				
			||||||
    needToken: false,
 | 
					    needToken: false,
 | 
				
			||||||
    data: params,
 | 
					    data: params,
 | 
				
			||||||
@ -31,7 +31,7 @@ export function login (params) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function smsLogin (params) {
 | 
					export function smsLogin (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/buyer/passport/members/smsLogin',
 | 
					    url: '/buyer/passport/member/smsLogin',
 | 
				
			||||||
    method: Method.POST,
 | 
					    method: Method.POST,
 | 
				
			||||||
    needToken: false,
 | 
					    needToken: false,
 | 
				
			||||||
    data: params,
 | 
					    data: params,
 | 
				
			||||||
@ -44,7 +44,7 @@ export function smsLogin (params) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function getMemberMsg (params) {
 | 
					export function getMemberMsg (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/buyer/passport/members',
 | 
					    url: '/buyer/passport/member',
 | 
				
			||||||
    method: Method.GET,
 | 
					    method: Method.GET,
 | 
				
			||||||
    needToken: true,
 | 
					    needToken: true,
 | 
				
			||||||
    params
 | 
					    params
 | 
				
			||||||
@ -74,7 +74,7 @@ export function loginCallback (uuid) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function validateCode (params) {
 | 
					export function validateCode (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: `/buyer/passport/members/resetByMobile`,
 | 
					    url: `/buyer/passport/member/resetByMobile`,
 | 
				
			||||||
    method: Method.POST,
 | 
					    method: Method.POST,
 | 
				
			||||||
    needToken: false,
 | 
					    needToken: false,
 | 
				
			||||||
    params
 | 
					    params
 | 
				
			||||||
@ -86,7 +86,7 @@ export function validateCode (params) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function resetPassword (params) {
 | 
					export function resetPassword (params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: `/buyer/passport/members/resetPassword`,
 | 
					    url: `/buyer/passport/member/resetPassword`,
 | 
				
			||||||
    method: Method.POST,
 | 
					    method: Method.POST,
 | 
				
			||||||
    needToken: false,
 | 
					    needToken: false,
 | 
				
			||||||
    params
 | 
					    params
 | 
				
			||||||
 | 
				
			|||||||
@ -69,13 +69,30 @@
 | 
				
			|||||||
                >人评价
 | 
					                >人评价
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
              <div class="goods-show-seller">
 | 
					              <div class="goods-show-seller">
 | 
				
			||||||
                <Tag class="goods-show-buyer" v-if="item.content.selfOperated" size="default" color="error">自营
 | 
					                <Tag
 | 
				
			||||||
 | 
					                  class="goods-show-buyer"
 | 
				
			||||||
 | 
					                  v-if="item.content.selfOperated"
 | 
				
			||||||
 | 
					                  size="default"
 | 
				
			||||||
 | 
					                  color="error"
 | 
				
			||||||
 | 
					                  >自营
 | 
				
			||||||
                </Tag>
 | 
					                </Tag>
 | 
				
			||||||
                <div class="goods-show-right">
 | 
					                <div class="goods-show-right">
 | 
				
			||||||
               <div class="goods-show-middle" v-if="goodsListType.content.goodsType == 'VIRTUAL_GOODS'">虚拟</div>
 | 
					                  <div
 | 
				
			||||||
                <div class="goods-show-middle" v-else-if="goodsListType.content.goodsType == 'PHYSICAL_GOODS'">实物</div>
 | 
					                    class="goods-show-middle"
 | 
				
			||||||
 | 
					                    v-if="goodsListType.content.goodsType == 'VIRTUAL_GOODS'"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
 | 
					                    虚拟
 | 
				
			||||||
                  </div>
 | 
					                  </div>
 | 
				
			||||||
                <span class="text-bottom" style="color:#e4393c;">{{ item.content.storeName }}</span>
 | 
					                  <div
 | 
				
			||||||
 | 
					                    class="goods-show-middle"
 | 
				
			||||||
 | 
					                    v-else-if="goodsListType.content.goodsType == 'PHYSICAL_GOODS'"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
 | 
					                    实物
 | 
				
			||||||
 | 
					                  </div>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <span class="text-bottom" style="color: #e4393c">{{
 | 
				
			||||||
 | 
					                  item.content.storeName
 | 
				
			||||||
 | 
					                }}</span>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
@ -98,10 +115,10 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import GoodsClassNav from '@/components/nav/GoodsClassNav';
 | 
					import GoodsClassNav from "@/components/nav/GoodsClassNav";
 | 
				
			||||||
import * as apiGoods from '@/api/goods';
 | 
					import * as apiGoods from "@/api/goods";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'GoodsList',
 | 
					  name: "GoodsList",
 | 
				
			||||||
  beforeRouteEnter(to, from, next) {
 | 
					  beforeRouteEnter(to, from, next) {
 | 
				
			||||||
    window.scrollTo(0, 0);
 | 
					    window.scrollTo(0, 0);
 | 
				
			||||||
    next();
 | 
					    next();
 | 
				
			||||||
@ -110,60 +127,64 @@ export default {
 | 
				
			|||||||
    return {
 | 
					    return {
 | 
				
			||||||
      sortIndex: 0, // 排序状态
 | 
					      sortIndex: 0, // 排序状态
 | 
				
			||||||
      sortPriceIndex: false, // 判断价格升序还是降序
 | 
					      sortPriceIndex: false, // 判断价格升序还是降序
 | 
				
			||||||
      goodsTool: [ // 排序类型
 | 
					      goodsTool: [
 | 
				
			||||||
        { title: '综合', en: '' },
 | 
					        // 排序类型
 | 
				
			||||||
        { title: '销量', en: 'buyCount' },
 | 
					        { title: "综合", en: "" },
 | 
				
			||||||
        { title: '评论数', en: 'commentNum' },
 | 
					        { title: "销量", en: "buyCount" },
 | 
				
			||||||
        { title: '新品', en: 'releaseTime' }
 | 
					        { title: "评论数", en: "commentNum" },
 | 
				
			||||||
 | 
					        { title: "新品", en: "releaseTime" },
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      goodsList: [], // 商品列表
 | 
					      goodsList: [], // 商品列表
 | 
				
			||||||
      loading: false, // 加载状态
 | 
					      loading: false, // 加载状态
 | 
				
			||||||
      goodsListType: "",
 | 
					      goodsListType: "",
 | 
				
			||||||
      total: 0, // 列表总数
 | 
					      total: 0, // 列表总数
 | 
				
			||||||
      params: { // 请求参数
 | 
					      params: {
 | 
				
			||||||
 | 
					        // 请求参数
 | 
				
			||||||
        pageNumber: 0,
 | 
					        pageNumber: 0,
 | 
				
			||||||
        pageSize: 20,
 | 
					        pageSize: 20,
 | 
				
			||||||
        categoryId: ''
 | 
					        categoryId: "",
 | 
				
			||||||
      }
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  watch: {
 | 
					  watch: {
 | 
				
			||||||
    $route() {
 | 
					    $route() {
 | 
				
			||||||
      const keyword = this.$route.query.keyword
 | 
					      const keyword = this.$route.query.keyword;
 | 
				
			||||||
      this.handleSearch(keyword)
 | 
					      this.handleSearch(keyword);
 | 
				
			||||||
    }
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    // 搜索
 | 
					    // 搜索
 | 
				
			||||||
    handleSearch(key) {
 | 
					    handleSearch(key) {
 | 
				
			||||||
      this.params.keyword = key
 | 
					      this.params.keyword = key;
 | 
				
			||||||
      this.params.pageNumber = 0
 | 
					      this.params.pageNumber = 0;
 | 
				
			||||||
      this.getGoodsList()
 | 
					      this.getGoodsList();
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    orderBy(data, index) {
 | 
					    orderBy(data, index) {
 | 
				
			||||||
      // 排序
 | 
					      // 排序
 | 
				
			||||||
      this.sortIndex = index;
 | 
					      this.sortIndex = index;
 | 
				
			||||||
      this.params.sort = data;
 | 
					      this.params.sort = data;
 | 
				
			||||||
      this.params.order = 'desc';
 | 
					      this.params.order = "desc";
 | 
				
			||||||
      if (data === 'price') {
 | 
					      if (data === "price") {
 | 
				
			||||||
        if (!this.sortPriceIndex) {
 | 
					        if (!this.sortPriceIndex) {
 | 
				
			||||||
          this.sortPriceIndex = 'asc';
 | 
					          this.sortPriceIndex = "asc";
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.sortPriceIndex === 'desc' ? (this.sortPriceIndex = 'asc') : (this.sortPriceIndex = 'desc');
 | 
					          this.sortPriceIndex === "desc"
 | 
				
			||||||
 | 
					            ? (this.sortPriceIndex = "asc")
 | 
				
			||||||
 | 
					            : (this.sortPriceIndex = "desc");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        this.params.order = this.sortPriceIndex
 | 
					        this.params.order = this.sortPriceIndex;
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        this.sortPriceIndex = false
 | 
					        this.sortPriceIndex = false;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      this.getGoodsList();
 | 
					      this.getGoodsList();
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    goGoodsDetail(skuId, goodsId) {
 | 
					    goGoodsDetail(skuId, goodsId) {
 | 
				
			||||||
      // 跳转商品详情
 | 
					      // 跳转商品详情
 | 
				
			||||||
      let routeUrl = this.$router.resolve({
 | 
					      let routeUrl = this.$router.resolve({
 | 
				
			||||||
        path: '/goodsDetail',
 | 
					        path: "/goodsDetail",
 | 
				
			||||||
        query: { skuId, goodsId }
 | 
					        query: { skuId, goodsId },
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      window.open(routeUrl.href, '_blank');
 | 
					      window.open(routeUrl.href, "_blank");
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 分页 修改页码
 | 
					    // 分页 修改页码
 | 
				
			||||||
    changePageNum(val) {
 | 
					    changePageNum(val) {
 | 
				
			||||||
@ -179,7 +200,8 @@ export default {
 | 
				
			|||||||
    // 获取商品列表
 | 
					    // 获取商品列表
 | 
				
			||||||
    getGoodsList() {
 | 
					    getGoodsList() {
 | 
				
			||||||
      this.loading = true;
 | 
					      this.loading = true;
 | 
				
			||||||
      apiGoods.goodsList(this.params)
 | 
					      apiGoods
 | 
				
			||||||
 | 
					        .goodsList(this.params)
 | 
				
			||||||
        .then((res) => {
 | 
					        .then((res) => {
 | 
				
			||||||
          this.loading = false;
 | 
					          this.loading = false;
 | 
				
			||||||
          if (res.success) {
 | 
					          if (res.success) {
 | 
				
			||||||
@ -189,41 +211,43 @@ export default {
 | 
				
			|||||||
              this.goodsListType = this.goodsList[i];
 | 
					              this.goodsListType = this.goodsList[i];
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }).catch(() => {
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {
 | 
				
			||||||
          this.loading = false;
 | 
					          this.loading = false;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getParams(val) {
 | 
					    getParams(val) {
 | 
				
			||||||
      // 筛选条件回显
 | 
					      // 筛选条件回显
 | 
				
			||||||
      Object.assign(this.params, val)
 | 
					      Object.assign(this.params, val);
 | 
				
			||||||
      this.getGoodsList()
 | 
					      this.getGoodsList();
 | 
				
			||||||
    }
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  created() {
 | 
					  created() {
 | 
				
			||||||
    if (this.$route.query.categoryId) {
 | 
					    if (this.$route.query.categoryId) {
 | 
				
			||||||
      let cateId = this.$route.query.categoryId.split(',')
 | 
					      let cateId = this.$route.query.categoryId.split(",");
 | 
				
			||||||
      Object.assign(this.params, this.$route.query)
 | 
					      Object.assign(this.params, this.$route.query);
 | 
				
			||||||
      this.params.categoryId = cateId[cateId.length - 1]
 | 
					      this.params.categoryId = cateId[cateId.length - 1];
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      Object.assign(this.params, this.$route.query)
 | 
					      Object.assign(this.params, this.$route.query);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    this.getGoodsList()
 | 
					    this.getGoodsList();
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    GoodsClassNav
 | 
					    GoodsClassNav,
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style scoped lang="scss">
 | 
					<style scoped lang="scss">
 | 
				
			||||||
@import '../assets/styles/goodsList.scss';  
 | 
					@import "../assets/styles/goodsList.scss";
 | 
				
			||||||
.goods-show-info > .goods-show-seller > .goods-show-buyer {
 | 
					.goods-show-info > .goods-show-seller > .goods-show-buyer {
 | 
				
			||||||
    height:16px;width:30px;
 | 
					  height: 16px;
 | 
				
			||||||
 | 
					  width: 30px;
 | 
				
			||||||
  white-space: nowrap;
 | 
					  white-space: nowrap;
 | 
				
			||||||
  line-height: 17px;
 | 
					  line-height: 17px;
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  padding: 0 3px;
 | 
					  padding: 0 3px;
 | 
				
			||||||
    background-color:#E23A3A;
 | 
					  background-color: #e23a3a;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.goods-show-seller {
 | 
					.goods-show-seller {
 | 
				
			||||||
  // padding:3px 0;
 | 
					  // padding:3px 0;
 | 
				
			||||||
@ -236,7 +260,7 @@ export default {
 | 
				
			|||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.price-sort:hover {
 | 
					.price-sort:hover {
 | 
				
			||||||
  color:#E23A3A;
 | 
					  color: #e23a3a;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.goods-box {
 | 
					.goods-box {
 | 
				
			||||||
  display: flex;
 | 
					  display: flex;
 | 
				
			||||||
 | 
				
			|||||||
@ -48,7 +48,7 @@ export default {
 | 
				
			|||||||
        nickName: [{required: true, message: '用户昵称不能为空'}, { max: 16, message: '用户昵称不能超过15个字符' }]
 | 
					        nickName: [{required: true, message: '用户昵称不能为空'}, { max: 16, message: '用户昵称不能超过15个字符' }]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      formItem: {}, // 表单数据
 | 
					      formItem: {}, // 表单数据
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传接口
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传接口
 | 
				
			||||||
      accessToken: {} // 验证token
 | 
					      accessToken: {} // 验证token
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
				
			|||||||
@ -81,7 +81,7 @@ export default {
 | 
				
			|||||||
        descriptionScore: 5
 | 
					        descriptionScore: 5
 | 
				
			||||||
      }, // 表单
 | 
					      }, // 表单
 | 
				
			||||||
      visible: false, // 图片预览
 | 
					      visible: false, // 图片预览
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传地址
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传地址
 | 
				
			||||||
      accessToken: {}, // 验证token
 | 
					      accessToken: {}, // 验证token
 | 
				
			||||||
      previewImage: '', // 预览图片地址
 | 
					      previewImage: '', // 预览图片地址
 | 
				
			||||||
      loading: false // 提交加载状态
 | 
					      loading: false // 提交加载状态
 | 
				
			||||||
 | 
				
			|||||||
@ -117,7 +117,7 @@ export default {
 | 
				
			|||||||
        num: 1
 | 
					        num: 1
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      uploadList: [], // 上传列表
 | 
					      uploadList: [], // 上传列表
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传地址
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传地址
 | 
				
			||||||
      accessToken: {}, // 验证token
 | 
					      accessToken: {}, // 验证token
 | 
				
			||||||
      visible: false, // 图片预览
 | 
					      visible: false, // 图片预览
 | 
				
			||||||
      previewImage: '', // 预览图片url
 | 
					      previewImage: '', // 预览图片url
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@ export default {
 | 
				
			|||||||
        content: ''
 | 
					        content: ''
 | 
				
			||||||
      }, // 表单
 | 
					      }, // 表单
 | 
				
			||||||
      visible: false, // 图片预览
 | 
					      visible: false, // 图片预览
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传地址
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传地址
 | 
				
			||||||
      accessToken: {}, // 验证token
 | 
					      accessToken: {}, // 验证token
 | 
				
			||||||
      previewImage: '', // 图片地址
 | 
					      previewImage: '', // 图片地址
 | 
				
			||||||
      loading: false, // 加载状态
 | 
					      loading: false, // 加载状态
 | 
				
			||||||
 | 
				
			|||||||
@ -205,7 +205,7 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  data () {
 | 
					  data () {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传地址
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传地址
 | 
				
			||||||
      accessToken: {}, // 验证token
 | 
					      accessToken: {}, // 验证token
 | 
				
			||||||
      visible: false, // 预览图片
 | 
					      visible: false, // 预览图片
 | 
				
			||||||
      loading: false, // 加载状态
 | 
					      loading: false, // 加载状态
 | 
				
			||||||
 | 
				
			|||||||
@ -129,7 +129,7 @@ export default {
 | 
				
			|||||||
    return {
 | 
					    return {
 | 
				
			||||||
      loading: false, // 加载状态
 | 
					      loading: false, // 加载状态
 | 
				
			||||||
      uploadLoading: false, // 上传加载状态
 | 
					      uploadLoading: false, // 上传加载状态
 | 
				
			||||||
      action: commonUrl + '/common/upload/file', // 上传地址
 | 
					      action: commonUrl + '/common/common/upload/file', // 上传地址
 | 
				
			||||||
      accessToken: {}, // 验证token
 | 
					      accessToken: {}, // 验证token
 | 
				
			||||||
      previewPicture: '', // 预览图片
 | 
					      previewPicture: '', // 预览图片
 | 
				
			||||||
      address: '', // 回显地址
 | 
					      address: '', // 回显地址
 | 
				
			||||||
 | 
				
			|||||||
@ -141,7 +141,7 @@ service.interceptors.response.use(
 | 
				
			|||||||
    const errorResponse = error.response || {};
 | 
					    const errorResponse = error.response || {};
 | 
				
			||||||
    const errorData = errorResponse.data || {};
 | 
					    const errorData = errorResponse.data || {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (errorResponse.status === 403) {
 | 
					    if (errorResponse.status === 403 || error.response.data.code === 20004) {
 | 
				
			||||||
      isRefreshToken++;
 | 
					      isRefreshToken++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (isRefreshToken === 1) {
 | 
					      if (isRefreshToken === 1) {
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ import {commonUrl, getRequest, getRequestWithNoToken, postRequestWithNoToken} fr
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 通过id获取子地区
 | 
					// 通过id获取子地区
 | 
				
			||||||
export const getChildRegion = (id) => {
 | 
					export const getChildRegion = (id) => {
 | 
				
			||||||
  return getRequest(`${commonUrl}/common/region/item/${id}`);
 | 
					  return getRequest(`${commonUrl}/common/common/region/item/${id}`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 点地图获取地址信息
 | 
					// 点地图获取地址信息
 | 
				
			||||||
 | 
				
			|||||||
@ -311,11 +311,11 @@ export const getFileListData = (params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 重命名文件
 | 
					// 重命名文件
 | 
				
			||||||
export const renameFile = (params) => {
 | 
					export const renameFile = (params) => {
 | 
				
			||||||
  return postRequest("/common/common/file/rename", params);
 | 
					  return postRequest("/common/file/rename", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 删除文件
 | 
					// 删除文件
 | 
				
			||||||
export const deleteFile = (ids, params) => {
 | 
					export const deleteFile = (ids, params) => {
 | 
				
			||||||
  return deleteRequest(`/common/common/file/delete/${ids}`, params);
 | 
					  return deleteRequest(`/common/file/delete/${ids}`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 下载文件
 | 
					// 下载文件
 | 
				
			||||||
export const aliDownloadFile = (fKey, params) => {
 | 
					export const aliDownloadFile = (fKey, params) => {
 | 
				
			||||||
@ -405,12 +405,12 @@ export const resetPassword = (params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 初始化商品索引
 | 
					// 初始化商品索引
 | 
				
			||||||
export const createIndex = () => {
 | 
					export const createIndex = () => {
 | 
				
			||||||
  return getRequest(`/elasticsearch`);
 | 
					  return getRequest(`/other/elasticsearch`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 初始化商品索引
 | 
					// 初始化商品索引
 | 
				
			||||||
export const getProgress = () => {
 | 
					export const getProgress = () => {
 | 
				
			||||||
  return getRequest(`/elasticsearch/progress`);
 | 
					  return getRequest(`/other/elasticsearch/progress`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 分页查询自定义分词
 | 
					// 分页查询自定义分词
 | 
				
			||||||
 | 
				
			|||||||
@ -134,7 +134,7 @@ export const editMemberAddress = (params) => {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
//查询会员预存款
 | 
					//查询会员预存款
 | 
				
			||||||
export const getMemberWallet = (params) => {
 | 
					export const getMemberWallet = (params) => {
 | 
				
			||||||
  return getRequest(`/members/wallet`, params)
 | 
					  return getRequest(`/wallet/wallet`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -132,7 +132,7 @@ export const getTraces = (sn, params) => {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
//获取发票列表
 | 
					//获取发票列表
 | 
				
			||||||
export const getReceiptPage = (params) => {
 | 
					export const getReceiptPage = (params) => {
 | 
				
			||||||
  return getRequest(`/receipt`, params)
 | 
					  return getRequest(`/trade/receipt`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//平台退款
 | 
					//平台退款
 | 
				
			||||||
export const refundPrice = (afterSaleSn, params) => {
 | 
					export const refundPrice = (afterSaleSn, params) => {
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ export const editSmsMessageTemplate = (id, params) => {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
//修改站内信模板
 | 
					//修改站内信模板
 | 
				
			||||||
export const editNoticeMessage = (id, params) => {
 | 
					export const editNoticeMessage = (id, params) => {
 | 
				
			||||||
  return putRequest(`/noticeMessage/${id}`, params)
 | 
					  return putRequest(`/setting/noticeMessage/${id}`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//微信消息同步
 | 
					//微信消息同步
 | 
				
			||||||
@ -57,7 +57,7 @@ export const delWechatMPMessageTemplate = (id, params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 查询站内信模板信息
 | 
					// 查询站内信模板信息
 | 
				
			||||||
export const getNoticeMessageData = params => {
 | 
					export const getNoticeMessageData = params => {
 | 
				
			||||||
  return getRequest("/noticeMessage", params);
 | 
					  return getRequest("/setting/noticeMessage", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
//删除站内信
 | 
					//删除站内信
 | 
				
			||||||
export const deleteMessage = (id) => {
 | 
					export const deleteMessage = (id) => {
 | 
				
			||||||
@ -65,11 +65,11 @@ export const deleteMessage = (id) => {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
// 开启站内信模板
 | 
					// 开启站内信模板
 | 
				
			||||||
export const openNoticeMessage = (id) => {
 | 
					export const openNoticeMessage = (id) => {
 | 
				
			||||||
  return putRequest(`/noticeMessage/${id}/open`);
 | 
					  return putRequest(`/setting/noticeMessage/${id}/open`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 修改站内信状态
 | 
					// 修改站内信状态
 | 
				
			||||||
export const updateMessageStatus = (id,status) => {
 | 
					export const updateMessageStatus = (id,status) => {
 | 
				
			||||||
  return putRequest(`/noticeMessage/${id}/${status}`);
 | 
					  return putRequest(`/setting/noticeMessage/${id}/${status}`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
//获取短信模板
 | 
					//获取短信模板
 | 
				
			||||||
export const getSmsTemplatePage = (params) => {
 | 
					export const getSmsTemplatePage = (params) => {
 | 
				
			||||||
@ -194,5 +194,5 @@ export const verificationPage = (params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//获取通知类站内信
 | 
					//获取通知类站内信
 | 
				
			||||||
export const getNoticeMessageDetail = (id, params) => {
 | 
					export const getNoticeMessageDetail = (id, params) => {
 | 
				
			||||||
  return getRequest(`/noticeMessage/${id}`, params)
 | 
					  return getRequest(`/setting/noticeMessage/${id}`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -58,7 +58,7 @@ export const getBuyBillDetail = (id) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 获取商家结算单流水分页
 | 
					// 获取商家结算单流水分页
 | 
				
			||||||
export const getStoreFlow = (id,params) => {
 | 
					export const getStoreFlow = (id,params) => {
 | 
				
			||||||
  return getRequest(`/store/bill/${id}/getStoreFlow`,params)
 | 
					  return getRequest(`/order/bill/${id}/getStoreFlow`,params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 审核结算单
 | 
					// 审核结算单
 | 
				
			||||||
 | 
				
			|||||||
@ -60,6 +60,7 @@ service.interceptors.response.use(
 | 
				
			|||||||
          Message.error("系统异常");
 | 
					          Message.error("系统异常");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
 | 
					      case 20004:
 | 
				
			||||||
      case 401:
 | 
					      case 401:
 | 
				
			||||||
        // 未登录 清除已登录状态
 | 
					        // 未登录 清除已登录状态
 | 
				
			||||||
        Cookies.set("userInfoManager", "");
 | 
					        Cookies.set("userInfoManager", "");
 | 
				
			||||||
@ -93,7 +94,7 @@ service.interceptors.response.use(
 | 
				
			|||||||
        // 这种情况一般调到登录页
 | 
					        // 这种情况一般调到登录页
 | 
				
			||||||
      } else if (error.response.status === 404) {
 | 
					      } else if (error.response.status === 404) {
 | 
				
			||||||
        // 避免刷新token报错
 | 
					        // 避免刷新token报错
 | 
				
			||||||
      } else if (error.response.status === 403) {
 | 
					      } else if (error.response.status === 403 || error.response.data.code === 20004) {
 | 
				
			||||||
        isRefreshToken++;
 | 
					        isRefreshToken++;
 | 
				
			||||||
        if (isRefreshToken === 1) {
 | 
					        if (isRefreshToken === 1) {
 | 
				
			||||||
          const getTokenRes = await refreshToken();
 | 
					          const getTokenRes = await refreshToken();
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,12 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="wrapper">
 | 
					  <div class="wrapper">
 | 
				
			||||||
    <Card class="category">
 | 
					    <Card class="category">
 | 
				
			||||||
      <div :class="{active:i == selectedIndex}" class="category-item" v-for="(typeItem,i) in pageTypes" :key="typeItem.type">
 | 
					      <div
 | 
				
			||||||
 | 
					        :class="{ active: i == selectedIndex }"
 | 
				
			||||||
 | 
					        class="category-item"
 | 
				
			||||||
 | 
					        v-for="(typeItem, i) in pageTypes"
 | 
				
			||||||
 | 
					        :key="typeItem.type"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
        <div @click="clickType(typeItem.type, i)">{{ typeItem.title }}</div>
 | 
					        <div @click="clickType(typeItem.type, i)">{{ typeItem.title }}</div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </Card>
 | 
					    </Card>
 | 
				
			||||||
@ -24,8 +29,12 @@
 | 
				
			|||||||
              <span slot="open">开</span>
 | 
					              <span slot="open">开</span>
 | 
				
			||||||
              <span slot="close">关</span>
 | 
					              <span slot="close">关</span>
 | 
				
			||||||
            </i-switch>
 | 
					            </i-switch>
 | 
				
			||||||
            <Button type="info" placement="right" @click="Template(item)" size="small">编辑</Button>
 | 
					            <Button type="info" placement="right" @click="Template(item)" size="small"
 | 
				
			||||||
            <Button type="success" placement="right" @click="decorate(item)" size="small">装修</Button>
 | 
					              >编辑</Button
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					            <Button type="success" placement="right" @click="decorate(item)" size="small"
 | 
				
			||||||
 | 
					              >装修</Button
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
            <Poptip confirm title="删除此模板?" @on-ok="delTemplate(item.id)">
 | 
					            <Poptip confirm title="删除此模板?" @on-ok="delTemplate(item.id)">
 | 
				
			||||||
              <Button type="error" size="small">删除</Button>
 | 
					              <Button type="error" size="small">删除</Button>
 | 
				
			||||||
            </Poptip>
 | 
					            </Poptip>
 | 
				
			||||||
@ -33,7 +42,6 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="no-more" v-if="list.length == 0">暂无更多模板</div>
 | 
					        <div class="no-more" v-if="list.length == 0">暂无更多模板</div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
    </Card>
 | 
					    </Card>
 | 
				
			||||||
    <Modal
 | 
					    <Modal
 | 
				
			||||||
      v-model="showModal"
 | 
					      v-model="showModal"
 | 
				
			||||||
@ -63,11 +71,13 @@ export default {
 | 
				
			|||||||
    return {
 | 
					    return {
 | 
				
			||||||
      showModal: false, // 添加modal的显示
 | 
					      showModal: false, // 添加modal的显示
 | 
				
			||||||
      selectedIndex: 0, // 首页还是专题选择的index
 | 
					      selectedIndex: 0, // 首页还是专题选择的index
 | 
				
			||||||
      formData: { // 新建模态框的数据
 | 
					      formData: {
 | 
				
			||||||
 | 
					        // 新建模态框的数据
 | 
				
			||||||
        status: false, // 模板是否开启
 | 
					        status: false, // 模板是否开启
 | 
				
			||||||
        name: "", // 模板名称
 | 
					        name: "", // 模板名称
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      columns: [ // 列表展示的column
 | 
					      columns: [
 | 
				
			||||||
 | 
					        // 列表展示的column
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "页面名称",
 | 
					          title: "页面名称",
 | 
				
			||||||
          key: "name",
 | 
					          key: "name",
 | 
				
			||||||
@ -82,11 +92,12 @@ export default {
 | 
				
			|||||||
      ],
 | 
					      ],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      loading: false, // 加载状态
 | 
					      loading: false, // 加载状态
 | 
				
			||||||
      pageTypes: [ // 那种类别的模板
 | 
					      pageTypes: [
 | 
				
			||||||
 | 
					        // 那种类别的模板
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "INDEX",
 | 
					          type: "INDEX",
 | 
				
			||||||
          title: "首页",
 | 
					          title: "首页",
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
        // {
 | 
					        // {
 | 
				
			||||||
        //   type: "SPECIAL",
 | 
					        //   type: "SPECIAL",
 | 
				
			||||||
        //   title: "专题",
 | 
					        //   title: "专题",
 | 
				
			||||||
@ -134,14 +145,17 @@ export default {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Template(item) {
 | 
					    Template(item) {
 | 
				
			||||||
      // 编辑表单
 | 
					      // 编辑表单
 | 
				
			||||||
      item.status = item.pageShow
 | 
					      item.status = item.pageShow;
 | 
				
			||||||
      this.formData = item;
 | 
					      this.formData = item;
 | 
				
			||||||
      this.showModal = true;
 | 
					      this.showModal = true;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    decorate(val) {
 | 
					    decorate(val) {
 | 
				
			||||||
      // 装修
 | 
					      // 装修
 | 
				
			||||||
      this.$router.push({ name: "renovation", query: { id: val.id,pageShow:val.pageShow } });
 | 
					      this.$router.push({
 | 
				
			||||||
 | 
					        name: "renovation",
 | 
				
			||||||
 | 
					        query: { id: val.id, pageShow: val.pageShow },
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    getTemplateList() {
 | 
					    getTemplateList() {
 | 
				
			||||||
@ -155,13 +169,13 @@ export default {
 | 
				
			|||||||
      API_floor.getHomeList(params).then((res) => {
 | 
					      API_floor.getHomeList(params).then((res) => {
 | 
				
			||||||
        if (res.success) {
 | 
					        if (res.success) {
 | 
				
			||||||
          this.list = res.result.records;
 | 
					          this.list = res.result.records;
 | 
				
			||||||
          this.list.forEach(e => {
 | 
					          this.list.forEach((e) => {
 | 
				
			||||||
            if (e.pageShow === 'OPEN') {
 | 
					            if (e.pageShow === "OPEN") {
 | 
				
			||||||
              e.pageShow = true
 | 
					              e.pageShow = true;
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              e.pageShow = false
 | 
					              e.pageShow = false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          })
 | 
					          });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -184,7 +198,7 @@ export default {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,17 +2,27 @@
 | 
				
			|||||||
  <div class="decorate">
 | 
					  <div class="decorate">
 | 
				
			||||||
    <div class="decorate-title">
 | 
					    <div class="decorate-title">
 | 
				
			||||||
      {{ res.name }}
 | 
					      {{ res.name }}
 | 
				
			||||||
      <Button style="margin-left: 20px" size="small" ghost v-if="
 | 
					      <Button
 | 
				
			||||||
          res.type == 'tpl_ad_list' ||
 | 
					        style="margin-left: 20px"
 | 
				
			||||||
          res.type == 'tpl_activity_list' ||
 | 
					        size="small"
 | 
				
			||||||
          res.drawer
 | 
					        ghost
 | 
				
			||||||
        " type="primary" @click="selectStyle()">选择风格</Button>
 | 
					        v-if="res.type == 'tpl_ad_list' || res.type == 'tpl_activity_list' || res.drawer"
 | 
				
			||||||
 | 
					        type="primary"
 | 
				
			||||||
 | 
					        @click="selectStyle()"
 | 
				
			||||||
 | 
					        >选择风格</Button
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- 右侧显示抽屉 -->
 | 
					    <!-- 右侧显示抽屉 -->
 | 
				
			||||||
    <Drawer title="选择风格" :closable="false" width="400" v-model="styleFlag">
 | 
					    <Drawer title="选择风格" :closable="false" width="400" v-model="styleFlag">
 | 
				
			||||||
      <div class="drawer">
 | 
					      <div class="drawer">
 | 
				
			||||||
        <div class="drawer-item" @click="clickDrawer(item, index)" v-for="(item, index) in modelData" :key="index" v-if="item.drawer">
 | 
					        <div
 | 
				
			||||||
 | 
					          class="drawer-item"
 | 
				
			||||||
 | 
					          @click="clickDrawer(item, index)"
 | 
				
			||||||
 | 
					          v-for="(item, index) in modelData"
 | 
				
			||||||
 | 
					          :key="index"
 | 
				
			||||||
 | 
					          v-if="item.drawer"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <img src alt />
 | 
					          <img src alt />
 | 
				
			||||||
          <span>{{ item.name }}</span>
 | 
					          <span>{{ item.name }}</span>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
@ -20,18 +30,29 @@
 | 
				
			|||||||
    </Drawer>
 | 
					    </Drawer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- 卡片集合 -->
 | 
					    <!-- 卡片集合 -->
 | 
				
			||||||
    <div class="decorate-list" v-if="
 | 
					    <div
 | 
				
			||||||
        (res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list') ||
 | 
					      class="decorate-list"
 | 
				
			||||||
        res.drawer
 | 
					      v-if="(res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list') || res.drawer"
 | 
				
			||||||
      ">
 | 
					    >
 | 
				
			||||||
      <div class="decorate-item" v-for="(item, index) in res.options.list" :key="index">
 | 
					      <div class="decorate-item" v-for="(item, index) in res.options.list" :key="index">
 | 
				
			||||||
        <div class="decorate-item-title">
 | 
					        <div class="decorate-item-title">
 | 
				
			||||||
          <div>卡片</div>
 | 
					          <div>卡片</div>
 | 
				
			||||||
          <Icon @click="closeDecorate(index)" v-if="res.close" size="20" color="#e1251b" type="md-close-circle" />
 | 
					          <Icon
 | 
				
			||||||
 | 
					            @click="closeDecorate(index)"
 | 
				
			||||||
 | 
					            v-if="res.close"
 | 
				
			||||||
 | 
					            size="20"
 | 
				
			||||||
 | 
					            color="#e1251b"
 | 
				
			||||||
 | 
					            type="md-close-circle"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div class="decorate-item-box">
 | 
					        <div class="decorate-item-box">
 | 
				
			||||||
          <div class="decorate-border" v-if="item.titleWay" v-for="(title_item, title_index) in item.titleWay" :key="title_index">
 | 
					          <div
 | 
				
			||||||
 | 
					            class="decorate-border"
 | 
				
			||||||
 | 
					            v-if="item.titleWay"
 | 
				
			||||||
 | 
					            v-for="(title_item, title_index) in item.titleWay"
 | 
				
			||||||
 | 
					            :key="title_index"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <div class="decorate-view">
 | 
					            <div class="decorate-view">
 | 
				
			||||||
              <div class="decorate-view-title">标题{{ title_index + 1 }}</div>
 | 
					              <div class="decorate-view-title">标题{{ title_index + 1 }}</div>
 | 
				
			||||||
              <div>
 | 
					              <div>
 | 
				
			||||||
@ -46,19 +67,28 @@
 | 
				
			|||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="decorate-view">
 | 
					            <div class="decorate-view">
 | 
				
			||||||
              <div class="decorate-view-title">绑定商品</div>
 | 
					              <div class="decorate-view-title">绑定商品</div>
 | 
				
			||||||
              <div class="decorate-view-link" v-if="res.options.list[0].listWay.length != 0">
 | 
					              <div
 | 
				
			||||||
 | 
					                class="decorate-view-link"
 | 
				
			||||||
 | 
					                v-if="res.options.list[0].listWay.length != 0"
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
                <!-- 绑定商品选择器回调已选择的商品 -->
 | 
					                <!-- 绑定商品选择器回调已选择的商品 -->
 | 
				
			||||||
                <div v-if="title_item.___index == bindGoods.___index ||  title_item.title == bindGoods.type" v-for="(bindGoods,bindGoodsIndex) in res.options.list[0].listWay" :key="bindGoodsIndex">
 | 
					                <div
 | 
				
			||||||
 | 
					                  v-if="
 | 
				
			||||||
 | 
					                    title_item.___index == bindGoods.___index ||
 | 
				
			||||||
 | 
					                    title_item.title == bindGoods.type
 | 
				
			||||||
 | 
					                  "
 | 
				
			||||||
 | 
					                  v-for="(bindGoods, bindGoodsIndex) in res.options.list[0].listWay"
 | 
				
			||||||
 | 
					                  :key="bindGoodsIndex"
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
                  {{ bindGoods.title }},
 | 
					                  {{ bindGoods.title }},
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
              <div>
 | 
					              <div>
 | 
				
			||||||
                <Button @click="bindGoodsId(title_item)" size="small" ghost type="primary">选择商品</Button>
 | 
					                <Button @click="bindGoodsId(title_item)" size="small" ghost type="primary"
 | 
				
			||||||
 | 
					                  >选择商品</Button
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <!-- 选择照片 -->
 | 
					          <!-- 选择照片 -->
 | 
				
			||||||
          <div class="decorate-view" v-if="!res.notImg">
 | 
					          <div class="decorate-view" v-if="!res.notImg">
 | 
				
			||||||
@ -72,7 +102,13 @@
 | 
				
			|||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="selectBtn">
 | 
					            <div class="selectBtn">
 | 
				
			||||||
              <Button size="small" @click="handleClickFile(item, index)" ghost type="primary">选择照片</Button>
 | 
					              <Button
 | 
				
			||||||
 | 
					                size="small"
 | 
				
			||||||
 | 
					                @click="handleClickFile(item, index)"
 | 
				
			||||||
 | 
					                ghost
 | 
				
			||||||
 | 
					                type="primary"
 | 
				
			||||||
 | 
					                >选择照片</Button
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <!-- 填写标题 -->
 | 
					          <!-- 填写标题 -->
 | 
				
			||||||
@ -90,7 +126,11 @@
 | 
				
			|||||||
              已选链接:
 | 
					              已选链接:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              <span>
 | 
					              <span>
 | 
				
			||||||
                {{ ways.find((e)=>{return item.url.___type == e.name}).title }}
 | 
					                {{
 | 
				
			||||||
 | 
					                  ways.find((e) => {
 | 
				
			||||||
 | 
					                    return item.url.___type == e.name;
 | 
				
			||||||
 | 
					                  }).title
 | 
				
			||||||
 | 
					                }}
 | 
				
			||||||
                -
 | 
					                -
 | 
				
			||||||
                <!-- 当选择完链接之后的商品名称 -->
 | 
					                <!-- 当选择完链接之后的商品名称 -->
 | 
				
			||||||
                <span v-if="item.url.___type == 'goods'"> {{ item.url.goodsName }}</span>
 | 
					                <span v-if="item.url.___type == 'goods'"> {{ item.url.goodsName }}</span>
 | 
				
			||||||
@ -102,38 +142,38 @@
 | 
				
			|||||||
                <span v-if="item.url.___type == 'other'"> {{ item.url.title }}</span>
 | 
					                <span v-if="item.url.___type == 'other'"> {{ item.url.title }}</span>
 | 
				
			||||||
                <!-- 当选择完活动之后的其他回调 -->
 | 
					                <!-- 当选择完活动之后的其他回调 -->
 | 
				
			||||||
                <span v-if="item.url.___type == 'marketing'">
 | 
					                <span v-if="item.url.___type == 'marketing'">
 | 
				
			||||||
                  <span v-if="item.url.___promotion =='SECKILL'">
 | 
					                  <span v-if="item.url.___promotion == 'SECKILL'"> 秒杀 </span>
 | 
				
			||||||
                    秒杀
 | 
					                  <span v-if="item.url.___promotion == 'FULL_DISCOUNT'"> 满减 </span>
 | 
				
			||||||
                  </span>
 | 
					                  <span v-if="item.url.___promotion == 'PINTUAN'"> 拼团 </span>
 | 
				
			||||||
                  <span v-if="item.url.___promotion =='FULL_DISCOUNT'">
 | 
					 | 
				
			||||||
                    满减
 | 
					 | 
				
			||||||
                  </span>
 | 
					 | 
				
			||||||
                  <span v-if="item.url.___promotion =='PINTUAN'">
 | 
					 | 
				
			||||||
                    拼团
 | 
					 | 
				
			||||||
                  </span>
 | 
					 | 
				
			||||||
                  {{ item.url.title || item.url.goodsName }}
 | 
					                  {{ item.url.title || item.url.goodsName }}
 | 
				
			||||||
                </span>
 | 
					                </span>
 | 
				
			||||||
                <!-- 当选择完活动之后的其他回调 -->
 | 
					                <!-- 当选择完活动之后的其他回调 -->
 | 
				
			||||||
                <span v-if="item.url.___type == 'pages'"> {{ item.url.title }}</span>
 | 
					                <span v-if="item.url.___type == 'pages'"> {{ item.url.title }}</span>
 | 
				
			||||||
 | 
					 | 
				
			||||||
              </span>
 | 
					              </span>
 | 
				
			||||||
 | 
					 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div>
 | 
					            <div>
 | 
				
			||||||
              <Button ghost size="small" type="primary" @click="clickLink(item,index)">选择链接</Button>
 | 
					              <Button ghost size="small" type="primary" @click="clickLink(item, index)"
 | 
				
			||||||
 | 
					                >选择链接</Button
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <Button v-if="
 | 
					    <Button
 | 
				
			||||||
        res.type != 'tpl_ad_list' &&
 | 
					      v-if="res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list' && !res.notAdd"
 | 
				
			||||||
        res.type != 'tpl_activity_list' &&
 | 
					      type="primary"
 | 
				
			||||||
        !res.notAdd
 | 
					      @click="addDecorate()"
 | 
				
			||||||
      " type="primary" @click="addDecorate()" ghost>添加</Button>
 | 
					      ghost
 | 
				
			||||||
 | 
					      >添加</Button
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <liliDialog ref="liliDialog" @selectedLink="selectedLink" @selectedGoodsData="selectedGoodsData"></liliDialog>
 | 
					    <liliDialog
 | 
				
			||||||
 | 
					      ref="liliDialog"
 | 
				
			||||||
 | 
					      @selectedLink="selectedLink"
 | 
				
			||||||
 | 
					      @selectedGoodsData="selectedGoodsData"
 | 
				
			||||||
 | 
					    ></liliDialog>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <Modal width="1200px" v-model="picModelFlag">
 | 
					    <Modal width="1200px" v-model="picModelFlag">
 | 
				
			||||||
      <ossManage @callback="callbackSelected" ref="ossManage" />
 | 
					      <ossManage @callback="callbackSelected" ref="ossManage" />
 | 
				
			||||||
@ -179,18 +219,17 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    // 回调的商品信息
 | 
					    // 回调的商品信息
 | 
				
			||||||
    selectedGoodsData(val) {
 | 
					    selectedGoodsData(val) {
 | 
				
			||||||
     
 | 
					 | 
				
			||||||
      if (!val) return false;
 | 
					      if (!val) return false;
 | 
				
			||||||
      let data = val.map((item) => {
 | 
					      let data = val.map((item) => {
 | 
				
			||||||
        delete item.selected;
 | 
					        delete item.selected;
 | 
				
			||||||
        delete item.intro
 | 
					        delete item.intro;
 | 
				
			||||||
        delete item.mobileIntro
 | 
					        delete item.mobileIntro;
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
          img: item.thumbnail,
 | 
					          img: item.thumbnail,
 | 
				
			||||||
          title: item.goodsName,
 | 
					          title: item.goodsName,
 | 
				
			||||||
          type: this.selectedGoods.title,
 | 
					          type: this.selectedGoods.title,
 | 
				
			||||||
          ___index: this.selectedGoods.___index,
 | 
					          ___index: this.selectedGoods.___index,
 | 
				
			||||||
          ...item
 | 
					          ...item,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      this.res.options.list[0].listWay.push(...data);
 | 
					      this.res.options.list[0].listWay.push(...data);
 | 
				
			||||||
@ -236,7 +275,7 @@ export default {
 | 
				
			|||||||
        title: "标题",
 | 
					        title: "标题",
 | 
				
			||||||
        link: "",
 | 
					        link: "",
 | 
				
			||||||
        url: "",
 | 
					        url: "",
 | 
				
			||||||
        size: this.res.options.list[0].size,
 | 
					        size: this.res.options.list[0]?.size,
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      this.res.options.list.push(way);
 | 
					      this.res.options.list.push(way);
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,13 @@
 | 
				
			|||||||
  <div class="model-title">
 | 
					  <div class="model-title">
 | 
				
			||||||
    <div>店铺装修</div>
 | 
					    <div>店铺装修</div>
 | 
				
			||||||
    <div class="btns">
 | 
					    <div class="btns">
 | 
				
			||||||
      <Button @click="clickBtn(item)" size="small" v-for="(item, index) in way" :key="index" :type="item.selected ? 'primary' : ''">
 | 
					      <Button
 | 
				
			||||||
 | 
					        @click="clickBtn(item)"
 | 
				
			||||||
 | 
					        size="small"
 | 
				
			||||||
 | 
					        v-for="(item, index) in way"
 | 
				
			||||||
 | 
					        :key="index"
 | 
				
			||||||
 | 
					        :type="item.selected ? 'primary' : ''"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
        {{ item.title }}
 | 
					        {{ item.title }}
 | 
				
			||||||
      </Button>
 | 
					      </Button>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
@ -18,7 +24,13 @@
 | 
				
			|||||||
      </Poptip> -->
 | 
					      </Poptip> -->
 | 
				
			||||||
      <Button size="default" type="primary" @click="handleSpinShow">保存模板</Button>
 | 
					      <Button size="default" type="primary" @click="handleSpinShow">保存模板</Button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <Modal title="保存中" v-model="saveDialog" :closable="true" :mask-closable="false" :footer-hide="true">
 | 
					      <Modal
 | 
				
			||||||
 | 
					        title="保存中"
 | 
				
			||||||
 | 
					        v-model="saveDialog"
 | 
				
			||||||
 | 
					        :closable="true"
 | 
				
			||||||
 | 
					        :mask-closable="false"
 | 
				
			||||||
 | 
					        :footer-hide="true"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
        <div v-if="progress">
 | 
					        <div v-if="progress">
 | 
				
			||||||
          <div class="model-item">
 | 
					          <div class="model-item">
 | 
				
			||||||
            模板名称 <Input style="width: 200px" v-model="submitWay.name" />
 | 
					            模板名称 <Input style="width: 200px" v-model="submitWay.name" />
 | 
				
			||||||
@ -99,7 +111,7 @@ export default {
 | 
				
			|||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      this.submitWay.pageShow
 | 
					      this.submitWay?.pageShow === true
 | 
				
			||||||
        ? (this.submitWay.pageShow = "OPEN")
 | 
					        ? (this.submitWay.pageShow = "OPEN")
 | 
				
			||||||
        : (this.submitWay.pageShow = "CLOSE");
 | 
					        : (this.submitWay.pageShow = "CLOSE");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,13 @@
 | 
				
			|||||||
  <div class="search">
 | 
					  <div class="search">
 | 
				
			||||||
    <Card>
 | 
					    <Card>
 | 
				
			||||||
      <Row @keydown.enter.native="handleSearch">
 | 
					      <Row @keydown.enter.native="handleSearch">
 | 
				
			||||||
        <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
 | 
					        <Form
 | 
				
			||||||
 | 
					          ref="searchForm"
 | 
				
			||||||
 | 
					          :model="searchForm"
 | 
				
			||||||
 | 
					          inline
 | 
				
			||||||
 | 
					          :label-width="70"
 | 
				
			||||||
 | 
					          class="search-form"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <Form-item label="订单编号" prop="orderSn">
 | 
					          <Form-item label="订单编号" prop="orderSn">
 | 
				
			||||||
            <Input
 | 
					            <Input
 | 
				
			||||||
              type="text"
 | 
					              type="text"
 | 
				
			||||||
@ -22,7 +28,12 @@
 | 
				
			|||||||
            />
 | 
					            />
 | 
				
			||||||
          </Form-item>
 | 
					          </Form-item>
 | 
				
			||||||
          <Form-item label="售后状态">
 | 
					          <Form-item label="售后状态">
 | 
				
			||||||
            <Select v-model="searchForm.serviceStatus" placeholder="全部" clearable style="width: 200px">
 | 
					            <Select
 | 
				
			||||||
 | 
					              v-model="searchForm.serviceStatus"
 | 
				
			||||||
 | 
					              placeholder="全部"
 | 
				
			||||||
 | 
					              clearable
 | 
				
			||||||
 | 
					              style="width: 200px"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
              <Option value="APPLY">申请售后</Option>
 | 
					              <Option value="APPLY">申请售后</Option>
 | 
				
			||||||
              <Option value="PASS">通过售后</Option>
 | 
					              <Option value="PASS">通过售后</Option>
 | 
				
			||||||
              <Option value="REFUSE">拒绝售后</Option>
 | 
					              <Option value="REFUSE">拒绝售后</Option>
 | 
				
			||||||
@ -63,12 +74,23 @@
 | 
				
			|||||||
            />
 | 
					            />
 | 
				
			||||||
          </Form-item>
 | 
					          </Form-item>
 | 
				
			||||||
          <Form-item label="售后类型">
 | 
					          <Form-item label="售后类型">
 | 
				
			||||||
            <Select v-model="searchForm.serviceType" placeholder="全部" clearable style="width: 200px">
 | 
					            <Select
 | 
				
			||||||
 | 
					              v-model="searchForm.serviceType"
 | 
				
			||||||
 | 
					              placeholder="全部"
 | 
				
			||||||
 | 
					              clearable
 | 
				
			||||||
 | 
					              style="width: 200px"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
              <Option value="RETURN_MONEY">退款</Option>
 | 
					              <Option value="RETURN_MONEY">退款</Option>
 | 
				
			||||||
              <Option value="RETURN_GOODS">退货</Option>
 | 
					              <Option value="RETURN_GOODS">退货</Option>
 | 
				
			||||||
            </Select>
 | 
					            </Select>
 | 
				
			||||||
          </Form-item>
 | 
					          </Form-item>
 | 
				
			||||||
          <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
 | 
					          <Button
 | 
				
			||||||
 | 
					            @click="handleSearch"
 | 
				
			||||||
 | 
					            type="primary"
 | 
				
			||||||
 | 
					            icon="ios-search"
 | 
				
			||||||
 | 
					            class="search-btn"
 | 
				
			||||||
 | 
					            >搜索</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
        </Form>
 | 
					        </Form>
 | 
				
			||||||
      </Row>
 | 
					      </Row>
 | 
				
			||||||
      <Table
 | 
					      <Table
 | 
				
			||||||
@ -81,24 +103,35 @@
 | 
				
			|||||||
      >
 | 
					      >
 | 
				
			||||||
        <!-- 商品栏目格式化 -->
 | 
					        <!-- 商品栏目格式化 -->
 | 
				
			||||||
        <template slot="goodsSlot" slot-scope="{ row }">
 | 
					        <template slot="goodsSlot" slot-scope="{ row }">
 | 
				
			||||||
          <div style="margin-top: 5px;height: 80px; display: flex;">
 | 
					          <div style="margin-top: 5px; height: 80px; display: flex">
 | 
				
			||||||
            <div style="">
 | 
					            <div style="">
 | 
				
			||||||
              <img :src="row.goodsImage" style="height: 60px;margin-top: 3px">
 | 
					              <img :src="row.goodsImage" style="height: 60px; margin-top: 3px" />
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <div style="margin-left: 13px;">
 | 
					            <div style="margin-left: 13px">
 | 
				
			||||||
              <div class="div-zoom">
 | 
					              <div class="div-zoom">
 | 
				
			||||||
                <a @click="linkTo(row.goodsId, row.skuId)">{{ row.goodsName }}</a>
 | 
					                <a @click="linkTo(row.goodsId, row.skuId)">{{ row.goodsName }}</a>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
              <Poptip trigger="hover" title="扫码在手机中查看" transfer>
 | 
					              <Poptip trigger="hover" title="扫码在手机中查看" transfer>
 | 
				
			||||||
                <div slot="content">
 | 
					                <div slot="content">
 | 
				
			||||||
                  <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
 | 
					                  <vue-qr
 | 
				
			||||||
 | 
					                    :text="wapLinkTo(row.goodsId, row.skuId)"
 | 
				
			||||||
 | 
					                    :margin="0"
 | 
				
			||||||
 | 
					                    colorDark="#000"
 | 
				
			||||||
 | 
					                    colorLight="#fff"
 | 
				
			||||||
 | 
					                    :size="150"
 | 
				
			||||||
 | 
					                  ></vue-qr>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
 | 
					                <img
 | 
				
			||||||
 | 
					                  src="../../../assets/qrcode.svg"
 | 
				
			||||||
 | 
					                  class="hover-pointer"
 | 
				
			||||||
 | 
					                  width="20"
 | 
				
			||||||
 | 
					                  height="20"
 | 
				
			||||||
 | 
					                  alt=""
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
              </Poptip>
 | 
					              </Poptip>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
      </Table>
 | 
					      </Table>
 | 
				
			||||||
      <Row type="flex" justify="end" class="mt_10">
 | 
					      <Row type="flex" justify="end" class="mt_10">
 | 
				
			||||||
@ -121,12 +154,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import * as API_Order from "@/api/order";
 | 
					import * as API_Order from "@/api/order";
 | 
				
			||||||
  import vueQr from 'vue-qr'
 | 
					import vueQr from "vue-qr";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
    name: "orderList",
 | 
					 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
         "vue-qr":vueQr
 | 
					    "vue-qr": vueQr,
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  name: "after-sale-order",
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      loading: true, // 表单加载状态
 | 
					      loading: true, // 表单加载状态
 | 
				
			||||||
@ -143,7 +176,6 @@
 | 
				
			|||||||
        serviceStatus: "",
 | 
					        serviceStatus: "",
 | 
				
			||||||
        storeName: "",
 | 
					        storeName: "",
 | 
				
			||||||
        sn: "",
 | 
					        sn: "",
 | 
				
			||||||
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      selectDate: null, // 选择时间段
 | 
					      selectDate: null, // 选择时间段
 | 
				
			||||||
      form: {
 | 
					      form: {
 | 
				
			||||||
@ -159,13 +191,13 @@
 | 
				
			|||||||
          title: "售后服务单号",
 | 
					          title: "售后服务单号",
 | 
				
			||||||
          key: "sn",
 | 
					          key: "sn",
 | 
				
			||||||
          minWidth: 140,
 | 
					          minWidth: 140,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "订单编号",
 | 
					          title: "订单编号",
 | 
				
			||||||
          key: "orderSn",
 | 
					          key: "orderSn",
 | 
				
			||||||
          minWidth: 120,
 | 
					          minWidth: 120,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "商品",
 | 
					          title: "商品",
 | 
				
			||||||
@ -183,7 +215,7 @@
 | 
				
			|||||||
          title: "商家名称",
 | 
					          title: "商家名称",
 | 
				
			||||||
          key: "storeName",
 | 
					          key: "storeName",
 | 
				
			||||||
          minWidth: 100,
 | 
					          minWidth: 100,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "售后金额",
 | 
					          title: "售后金额",
 | 
				
			||||||
@ -191,17 +223,13 @@
 | 
				
			|||||||
          width: 110,
 | 
					          width: 110,
 | 
				
			||||||
          render: (h, params) => {
 | 
					          render: (h, params) => {
 | 
				
			||||||
            if (params.row.applyRefundPrice == null) {
 | 
					            if (params.row.applyRefundPrice == null) {
 | 
				
			||||||
                return h(
 | 
					              return h("div", this.$options.filters.unitPrice(0, "¥"));
 | 
				
			||||||
                  "div",
 | 
					 | 
				
			||||||
                  this.$options.filters.unitPrice(0, "¥")
 | 
					 | 
				
			||||||
                );
 | 
					 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              return h(
 | 
					              return h(
 | 
				
			||||||
                "div",
 | 
					                "div",
 | 
				
			||||||
                this.$options.filters.unitPrice(params.row.applyRefundPrice, "¥")
 | 
					                this.$options.filters.unitPrice(params.row.applyRefundPrice, "¥")
 | 
				
			||||||
              );
 | 
					              );
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -210,42 +238,48 @@
 | 
				
			|||||||
          width: 100,
 | 
					          width: 100,
 | 
				
			||||||
          render: (h, params) => {
 | 
					          render: (h, params) => {
 | 
				
			||||||
            if (params.row.serviceType == "RETURN_MONEY") {
 | 
					            if (params.row.serviceType == "RETURN_MONEY") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "blue"}}, '退款'),]);
 | 
					              return h("div", [h("tag", { props: { color: "blue" } }, "退款")]);
 | 
				
			||||||
            } else if (params.row.serviceType == "RETURN_GOODS") {
 | 
					            } else if (params.row.serviceType == "RETURN_GOODS") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "volcano"}}, '退货'),]);
 | 
					              return h("div", [h("tag", { props: { color: "volcano" } }, "退货")]);
 | 
				
			||||||
            } else if (params.row.serviceType == "EXCHANGE_GOODS") {
 | 
					            } else if (params.row.serviceType == "EXCHANGE_GOODS") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "green"}}, '换货'),]);
 | 
					              return h("div", [h("tag", { props: { color: "green" } }, "换货")]);
 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "售后状态",
 | 
					          title: "售后状态",
 | 
				
			||||||
          key: "serviceStatus",
 | 
					          key: "serviceStatus",
 | 
				
			||||||
            width: 200,
 | 
					          width: 150,
 | 
				
			||||||
          render: (h, params) => {
 | 
					          render: (h, params) => {
 | 
				
			||||||
            if (params.row.serviceStatus == "APPLY") {
 | 
					            if (params.row.serviceStatus == "APPLY") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "blue"}}, '申请中'),]);
 | 
					              return h("div", [h("tag", { props: { color: "blue" } }, "申请中")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "PASS") {
 | 
					            } else if (params.row.serviceStatus == "PASS") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "cyan"}}, '通过售后'),]);
 | 
					              return h("div", [h("tag", { props: { color: "cyan" } }, "通过售后")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "REFUSE") {
 | 
					            } else if (params.row.serviceStatus == "REFUSE") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "volcano"}}, '拒绝售后'),]);
 | 
					              return h("div", [h("tag", { props: { color: "volcano" } }, "拒绝售后")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "BUYER_RETURN") {
 | 
					            } else if (params.row.serviceStatus == "BUYER_RETURN") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "orange"}}, '买家退货,待卖家收货'),]);
 | 
					              return h("div", [
 | 
				
			||||||
 | 
					                h("tag", { props: { color: "orange" } }, "买家退货,待卖家收货"),
 | 
				
			||||||
 | 
					              ]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "SELLER_CONFIRM") {
 | 
					            } else if (params.row.serviceStatus == "SELLER_CONFIRM") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "gold"}}, '卖家确认收货'),]);
 | 
					              return h("div", [h("tag", { props: { color: "gold" } }, "卖家确认收货")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "SELLER_TERMINATION") {
 | 
					            } else if (params.row.serviceStatus == "SELLER_TERMINATION") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "lime"}}, '卖家终止售后'),]);
 | 
					              return h("div", [h("tag", { props: { color: "lime" } }, "卖家终止售后")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "BUYER_CANCEL") {
 | 
					            } else if (params.row.serviceStatus == "BUYER_CANCEL") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "purple"}}, '买家取消售后'),]);
 | 
					              return h("div", [h("tag", { props: { color: "purple" } }, "买家取消售后")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "COMPLETE") {
 | 
					            } else if (params.row.serviceStatus == "COMPLETE") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "green"}}, '完成售后'),]);
 | 
					              return h("div", [h("tag", { props: { color: "green" } }, "完成售后")]);
 | 
				
			||||||
            } else if (params.row.serviceStatus == "WAIT_REFUND") {
 | 
					            } else if (params.row.serviceStatus == "WAIT_REFUND") {
 | 
				
			||||||
                return h('div', [h('tag', {props: {color: "geekblue"}}, '待平台退款'),]);
 | 
					              return h("div", [h("tag", { props: { color: "geekblue" } }, "待平台退款")]);
 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "申请时间",
 | 
				
			||||||
 | 
					          key: "createTime",
 | 
				
			||||||
 | 
					          width: 180,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "操作",
 | 
					          title: "操作",
 | 
				
			||||||
          key: "action",
 | 
					          key: "action",
 | 
				
			||||||
@ -329,7 +363,6 @@
 | 
				
			|||||||
        name: "after-order-detail",
 | 
					        name: "after-order-detail",
 | 
				
			||||||
        query: { sn: sn },
 | 
					        query: { sn: sn },
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
 | 
				
			|||||||
@ -39,12 +39,10 @@
 | 
				
			|||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>凭证</dt>
 | 
					              <dt>凭证</dt>
 | 
				
			||||||
              <dd v-if="afterSaleImage == ''">
 | 
					              <dd v-if="afterSaleImage == ''">暂无凭证</dd>
 | 
				
			||||||
                暂无凭证
 | 
					 | 
				
			||||||
              </dd>
 | 
					 | 
				
			||||||
              <dd v-else>
 | 
					              <dd v-else>
 | 
				
			||||||
                <div class="div-img" v-for="(item, index) in afterSaleImage" :key="index">
 | 
					                <div class="div-img" v-for="(item, index) in afterSaleImage" :key="index">
 | 
				
			||||||
                  <img class="complain-img" :src=item>
 | 
					                  <img class="complain-img" :src="item" />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
@ -64,7 +62,11 @@
 | 
				
			|||||||
              <dt>是否同意</dt>
 | 
					              <dt>是否同意</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <div class="div-content">
 | 
					                <div class="div-content">
 | 
				
			||||||
                  <RadioGroup type="button" button-style="solid" v-model="params.serviceStatus">
 | 
					                  <RadioGroup
 | 
				
			||||||
 | 
					                    type="button"
 | 
				
			||||||
 | 
					                    button-style="solid"
 | 
				
			||||||
 | 
					                    v-model="params.serviceStatus"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
                    <Radio label="PASS">
 | 
					                    <Radio label="PASS">
 | 
				
			||||||
                      <span>同意</span>
 | 
					                      <span>同意</span>
 | 
				
			||||||
                    </Radio>
 | 
					                    </Radio>
 | 
				
			||||||
@ -77,7 +79,7 @@
 | 
				
			|||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>申请退款金额</dt>
 | 
					              <dt>申请退款金额</dt>
 | 
				
			||||||
              <dd>{{ afterSaleInfo.applyRefundPrice | unitPrice('¥') }}</dd>
 | 
					              <dd>{{ afterSaleInfo.applyRefundPrice | unitPrice("¥") }}</dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>实际退款金额</dt>
 | 
					              <dt>实际退款金额</dt>
 | 
				
			||||||
@ -88,13 +90,25 @@
 | 
				
			|||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>备注信息</dt>
 | 
					              <dt>备注信息</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <Input v-model="params.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
 | 
					                <Input
 | 
				
			||||||
 | 
					                  v-model="params.remark"
 | 
				
			||||||
 | 
					                  type="textarea"
 | 
				
			||||||
 | 
					                  maxlength="200"
 | 
				
			||||||
 | 
					                  :rows="4"
 | 
				
			||||||
 | 
					                  clearable
 | 
				
			||||||
 | 
					                  style="width: 260px"
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <div style="text-align: right; width: 45%; margin-top: 10px">
 | 
					                <div style="text-align: right; width: 45%; margin-top: 10px">
 | 
				
			||||||
                  <Button type="primary" :loading="submitLoading" @click="handleSubmit" style="margin-left: 5px">
 | 
					                  <Button
 | 
				
			||||||
 | 
					                    type="primary"
 | 
				
			||||||
 | 
					                    :loading="submitLoading"
 | 
				
			||||||
 | 
					                    @click="handleSubmit"
 | 
				
			||||||
 | 
					                    style="margin-left: 5px"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
                    确定
 | 
					                    确定
 | 
				
			||||||
                  </Button>
 | 
					                  </Button>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
@ -128,43 +142,54 @@
 | 
				
			|||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>备注信息</dt>
 | 
					              <dt>备注信息</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                {{afterSaleInfo.auditRemark || '暂无备注信息'}}
 | 
					                {{ afterSaleInfo.auditRemark || "暂无备注信息" }}
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="div-flow-center">
 | 
					        <div class="div-flow-center"></div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="div-flow-right">
 | 
					        <div class="div-flow-right">
 | 
				
			||||||
          <div class="div-form-default">
 | 
					          <div class="div-form-default">
 | 
				
			||||||
            <h3>相关商品交易信息</h3>
 | 
					            <h3>相关商品交易信息</h3>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>
 | 
					              <dt>
 | 
				
			||||||
                <img :src="afterSaleInfo.goodsImage" height="60px">
 | 
					                <img :src="afterSaleInfo.goodsImage" height="60px" />
 | 
				
			||||||
              </dt>
 | 
					              </dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <div class="div-zoom">
 | 
					                <div class="div-zoom">
 | 
				
			||||||
                  <a @click="linkTo(afterSaleInfo.goodsId,afterSaleInfo.skuId)">{{afterSaleInfo.goodsName}}</a>
 | 
					                  <a @click="linkTo(afterSaleInfo.goodsId, afterSaleInfo.skuId)">{{
 | 
				
			||||||
 | 
					                    afterSaleInfo.goodsName
 | 
				
			||||||
 | 
					                  }}</a>
 | 
				
			||||||
                  <Poptip trigger="hover" title="扫码在手机中查看" transfer>
 | 
					                  <Poptip trigger="hover" title="扫码在手机中查看" transfer>
 | 
				
			||||||
                    <div slot="content">
 | 
					                    <div slot="content">
 | 
				
			||||||
                      <vue-qr :text="wapLinkTo(afterSaleInfo.goodsId,afterSaleInfo.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
 | 
					                      <vue-qr
 | 
				
			||||||
 | 
					                        :text="wapLinkTo(afterSaleInfo.goodsId, afterSaleInfo.skuId)"
 | 
				
			||||||
 | 
					                        :margin="0"
 | 
				
			||||||
 | 
					                        colorDark="#000"
 | 
				
			||||||
 | 
					                        colorLight="#fff"
 | 
				
			||||||
 | 
					                        :size="150"
 | 
				
			||||||
 | 
					                      ></vue-qr>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                    <img src="../../../assets/qrcode.svg" style="vertical-align:middle" class="hover-pointer ml_10" width="20" height="20" alt="">
 | 
					                    <img
 | 
				
			||||||
 | 
					                      src="../../../assets/qrcode.svg"
 | 
				
			||||||
 | 
					                      style="vertical-align: middle"
 | 
				
			||||||
 | 
					                      class="hover-pointer ml_10"
 | 
				
			||||||
 | 
					                      width="20"
 | 
				
			||||||
 | 
					                      height="20"
 | 
				
			||||||
 | 
					                      alt=""
 | 
				
			||||||
 | 
					                    />
 | 
				
			||||||
                  </Poptip>
 | 
					                  </Poptip>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <div style="color:#999;font-size:10px">数量:x{{afterSaleInfo.num}}</div>
 | 
					                <div style="color: #999; font-size: 10px">
 | 
				
			||||||
                
 | 
					                  数量:x{{ afterSaleInfo.num }}
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div class="div-form-default">
 | 
					          <div class="div-form-default">
 | 
				
			||||||
            <h3>订单相关信息</h3>
 | 
					            <h3>订单相关信息</h3>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>
 | 
					              <dt>订单编号</dt>
 | 
				
			||||||
                订单编号
 | 
					 | 
				
			||||||
              </dt>
 | 
					 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                {{ afterSaleInfo.orderSn }}
 | 
					                {{ afterSaleInfo.orderSn }}
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
@ -187,9 +212,14 @@
 | 
				
			|||||||
                {{ afterSaleInfo.bankAccountNumber }}
 | 
					                {{ afterSaleInfo.bankAccountNumber }}
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO && afterSaleInfo.afterSaleAllowOperationVO.refund">
 | 
					          <div
 | 
				
			||||||
 | 
					            class="div-form-default"
 | 
				
			||||||
 | 
					            v-if="
 | 
				
			||||||
 | 
					              afterSaleInfo.afterSaleAllowOperationVO &&
 | 
				
			||||||
 | 
					              afterSaleInfo.afterSaleAllowOperationVO.refund
 | 
				
			||||||
 | 
					            "
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <h3>平台退款</h3>
 | 
					            <h3>平台退款</h3>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>银行开户行</dt>
 | 
					              <dt>银行开户行</dt>
 | 
				
			||||||
@ -212,19 +242,36 @@
 | 
				
			|||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>备注信息</dt>
 | 
					              <dt>备注信息</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <Input v-model="refundPriceForm.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
 | 
					                <Input
 | 
				
			||||||
 | 
					                  v-model="refundPriceForm.remark"
 | 
				
			||||||
 | 
					                  type="textarea"
 | 
				
			||||||
 | 
					                  maxlength="200"
 | 
				
			||||||
 | 
					                  :rows="4"
 | 
				
			||||||
 | 
					                  clearable
 | 
				
			||||||
 | 
					                  style="width: 260px"
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>操作</dt>
 | 
					              <dt>操作</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <Button type="primary" :loading="submitLoading" @click="refundPriceSubmit" style="margin-left: 5px">
 | 
					                <Button
 | 
				
			||||||
 | 
					                  type="primary"
 | 
				
			||||||
 | 
					                  :loading="submitLoading"
 | 
				
			||||||
 | 
					                  @click="refundPriceSubmit"
 | 
				
			||||||
 | 
					                  style="margin-left: 5px"
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
                  退款
 | 
					                  退款
 | 
				
			||||||
                </Button>
 | 
					                </Button>
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div class="div-form-default" v-if="afterSaleInfo.showDelivery && afterSaleInfo.serviceType ==='RETURN_GOODS'">
 | 
					          <div
 | 
				
			||||||
 | 
					            class="div-form-default"
 | 
				
			||||||
 | 
					            v-if="
 | 
				
			||||||
 | 
					              afterSaleInfo.showDelivery && afterSaleInfo.serviceType === 'RETURN_GOODS'
 | 
				
			||||||
 | 
					            "
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <h3>物流信息</h3>
 | 
					            <h3>物流信息</h3>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>收货商家</dt>
 | 
					              <dt>收货商家</dt>
 | 
				
			||||||
@ -236,16 +283,17 @@
 | 
				
			|||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>收货地址</dt>
 | 
					              <dt>收货地址</dt>
 | 
				
			||||||
              <dd>{{storeMsg.salesConsigneeAddressPath}} {{storeMsg.salesConsigneeDetail}}</dd>
 | 
					              <dd>
 | 
				
			||||||
 | 
					                {{ storeMsg.salesConsigneeAddressPath }}
 | 
				
			||||||
 | 
					                {{ storeMsg.salesConsigneeDetail }}
 | 
				
			||||||
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>物流公司</dt>
 | 
					              <dt>物流公司</dt>
 | 
				
			||||||
              <dd>{{ afterSaleInfo.mlogisticsName }}</dd>
 | 
					              <dd>{{ afterSaleInfo.mlogisticsName }}</dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>
 | 
					              <dt>物流单号</dt>
 | 
				
			||||||
                物流单号
 | 
					 | 
				
			||||||
              </dt>
 | 
					 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                {{ afterSaleInfo.mlogisticsNo }}
 | 
					                {{ afterSaleInfo.mlogisticsNo }}
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
@ -253,14 +301,17 @@
 | 
				
			|||||||
            <dl>
 | 
					            <dl>
 | 
				
			||||||
              <dt>操作</dt>
 | 
					              <dt>操作</dt>
 | 
				
			||||||
              <dd>
 | 
					              <dd>
 | 
				
			||||||
                <Button type="info" :loading="submitLoading" @click="logisticsSeller()" style="margin-left: 5px">
 | 
					                <Button
 | 
				
			||||||
 | 
					                  type="info"
 | 
				
			||||||
 | 
					                  :loading="submitLoading"
 | 
				
			||||||
 | 
					                  @click="logisticsSeller()"
 | 
				
			||||||
 | 
					                  style="margin-left: 5px"
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
                  查询物流
 | 
					                  查询物流
 | 
				
			||||||
                </Button>
 | 
					                </Button>
 | 
				
			||||||
              </dd>
 | 
					              </dd>
 | 
				
			||||||
            </dl>
 | 
					            </dl>
 | 
				
			||||||
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          
 | 
					 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </Card>
 | 
					    </Card>
 | 
				
			||||||
@ -297,9 +348,8 @@
 | 
				
			|||||||
              </li>
 | 
					              </li>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
            <template v-else>
 | 
					            <template v-else>
 | 
				
			||||||
              <li style="text-align:center;">暂无物流信息</li>
 | 
					              <li style="text-align: center">暂无物流信息</li>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
            
 | 
					 | 
				
			||||||
          </ul>
 | 
					          </ul>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -312,8 +362,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import * as API_Order from "@/api/order";
 | 
					import * as API_Order from "@/api/order";
 | 
				
			||||||
 | 
					import vueQr from "vue-qr";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 | 
					  components: {
 | 
				
			||||||
 | 
					    "vue-qr": vueQr,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  name: "orderDetail",
 | 
					  name: "orderDetail",
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
@ -334,44 +387,45 @@ export default {
 | 
				
			|||||||
      refundPriceForm: {
 | 
					      refundPriceForm: {
 | 
				
			||||||
        remark: "",
 | 
					        remark: "",
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      afterSaleStatusList: [ // 售后状态列表
 | 
					      afterSaleStatusList: [
 | 
				
			||||||
 | 
					        // 售后状态列表
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '申请中',
 | 
					          name: "申请中",
 | 
				
			||||||
          status: 'APPLY'
 | 
					          status: "APPLY",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '通过',
 | 
					          name: "通过",
 | 
				
			||||||
          status: 'PASS'
 | 
					          status: "PASS",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '拒绝',
 | 
					          name: "拒绝",
 | 
				
			||||||
          status: 'REFUSE'
 | 
					          status: "REFUSE",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '买家退货,待卖家收货',
 | 
					          name: "买家退货,待卖家收货",
 | 
				
			||||||
          status: 'BUYER_RETURN'
 | 
					          status: "BUYER_RETURN",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '卖家确认收货',
 | 
					          name: "卖家确认收货",
 | 
				
			||||||
          status: 'SELLER_CONFIRM'
 | 
					          status: "SELLER_CONFIRM",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '卖家终止售后',
 | 
					          name: "卖家终止售后",
 | 
				
			||||||
          status: 'SELLER_TERMINATION'
 | 
					          status: "SELLER_TERMINATION",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '买家取消售后',
 | 
					          name: "买家取消售后",
 | 
				
			||||||
          status: 'BUYER_CANCEL'
 | 
					          status: "BUYER_CANCEL",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '完成售后',
 | 
					          name: "完成售后",
 | 
				
			||||||
          status: 'COMPLETE'
 | 
					          status: "COMPLETE",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '等待平台退款',
 | 
					          name: "等待平台退款",
 | 
				
			||||||
          status: 'WAIT_REFUND'
 | 
					          status: "WAIT_REFUND",
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
      ]
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
@ -382,13 +436,19 @@ export default {
 | 
				
			|||||||
        this.loading = false;
 | 
					        this.loading = false;
 | 
				
			||||||
        if (res.success) {
 | 
					        if (res.success) {
 | 
				
			||||||
          this.afterSaleInfo = res.result;
 | 
					          this.afterSaleInfo = res.result;
 | 
				
			||||||
          this.afterSaleInfo.showDelivery = this.showDelivery(this.afterSaleInfo.serviceStatus)
 | 
					          this.afterSaleInfo.showDelivery = this.showDelivery(
 | 
				
			||||||
          this.afterSaleInfo.serviceName = this.filterOrderStatus(this.afterSaleInfo.serviceStatus)
 | 
					            this.afterSaleInfo.serviceStatus
 | 
				
			||||||
 | 
					          );
 | 
				
			||||||
 | 
					          this.afterSaleInfo.serviceName = this.filterOrderStatus(
 | 
				
			||||||
 | 
					            this.afterSaleInfo.serviceStatus
 | 
				
			||||||
 | 
					          );
 | 
				
			||||||
          this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
 | 
					          this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
 | 
				
			||||||
          //退货地址去掉逗号
 | 
					          //退货地址去掉逗号
 | 
				
			||||||
          if (this.afterSaleInfo.mconsigneeAddressPath)
 | 
					          if (this.afterSaleInfo.mconsigneeAddressPath)
 | 
				
			||||||
            this.afterSaleInfo.mconsigneeAddressPath =
 | 
					            this.afterSaleInfo.mconsigneeAddressPath = this.afterSaleInfo.mconsigneeAddressPath.replaceAll(
 | 
				
			||||||
              this.afterSaleInfo.mconsigneeAddressPath.replaceAll(",", " ");
 | 
					              ",",
 | 
				
			||||||
 | 
					              " "
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          this.$set(
 | 
					          this.$set(
 | 
				
			||||||
            this.params,
 | 
					            this.params,
 | 
				
			||||||
@ -397,15 +457,17 @@ export default {
 | 
				
			|||||||
          );
 | 
					          );
 | 
				
			||||||
          // 如果显示物流信息,展示商家地址
 | 
					          // 如果显示物流信息,展示商家地址
 | 
				
			||||||
          if (this.afterSaleInfo.showDelivery) {
 | 
					          if (this.afterSaleInfo.showDelivery) {
 | 
				
			||||||
            API_Order.storeAddress(this.sn).then(resu => {
 | 
					            API_Order.storeAddress(this.sn).then((resu) => {
 | 
				
			||||||
              if (resu.success) {
 | 
					              if (resu.success) {
 | 
				
			||||||
                const obj = resu.result
 | 
					                const obj = resu.result;
 | 
				
			||||||
                obj.salesConsigneeAddressPath = obj.salesConsigneeAddressPath.replaceAll(',', '')
 | 
					                obj.salesConsigneeAddressPath = obj.salesConsigneeAddressPath.replaceAll(
 | 
				
			||||||
 | 
					                  ",",
 | 
				
			||||||
 | 
					                  ""
 | 
				
			||||||
 | 
					                );
 | 
				
			||||||
                this.storeMsg = obj;
 | 
					                this.storeMsg = obj;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            })
 | 
					            });
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -462,9 +524,12 @@ export default {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    filterOrderStatus (status) { // 获取订单状态中文
 | 
					    filterOrderStatus(status) {
 | 
				
			||||||
      const ob = this.afterSaleStatusList.filter(e => { return e.status === status });
 | 
					      // 获取订单状态中文
 | 
				
			||||||
      return ob[0].name
 | 
					      const ob = this.afterSaleStatusList.filter((e) => {
 | 
				
			||||||
 | 
					        return e.status === status;
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      return ob[0].name;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 根据订单状态判断是否显示物流信息
 | 
					    // 根据订单状态判断是否显示物流信息
 | 
				
			||||||
    showDelivery(status) {
 | 
					    showDelivery(status) {
 | 
				
			||||||
@ -472,11 +537,11 @@ export default {
 | 
				
			|||||||
      this.afterSaleStatusList.forEach((e, index) => {
 | 
					      this.afterSaleStatusList.forEach((e, index) => {
 | 
				
			||||||
        // 订单为买家退货,待卖家收货之后的状态,并且不是买家取消售后,展示物流信息
 | 
					        // 订单为买家退货,待卖家收货之后的状态,并且不是买家取消售后,展示物流信息
 | 
				
			||||||
        if (e.status === status && index >= 3 && index !== 6) {
 | 
					        if (e.status === status && index >= 3 && index !== 6) {
 | 
				
			||||||
          flag = true
 | 
					          flag = true;
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
      return flag
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      return flag;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.sn = this.$route.query.sn;
 | 
					    this.sn = this.$route.query.sn;
 | 
				
			||||||
 | 
				
			|||||||
@ -4,9 +4,22 @@
 | 
				
			|||||||
      <Card style="height: 60px">
 | 
					      <Card style="height: 60px">
 | 
				
			||||||
        <div style="">
 | 
					        <div style="">
 | 
				
			||||||
          <Button v-if="allowOperation.editPrice" @click="modifyPrice">调整价格</Button>
 | 
					          <Button v-if="allowOperation.editPrice" @click="modifyPrice">调整价格</Button>
 | 
				
			||||||
          <Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary" ghost>修改收货地址</Button>
 | 
					          <Button
 | 
				
			||||||
          <Button v-if="allowOperation.cancel" @click="orderCancel" type="warning" ghost>订单取消</Button>
 | 
					            v-if="allowOperation.editConsignee"
 | 
				
			||||||
          <Button v-if="orderInfo.order.orderStatus === 'UNPAID'" @click="confirmPrice" type="primary">收款</Button>
 | 
					            @click="editAddress"
 | 
				
			||||||
 | 
					            type="primary"
 | 
				
			||||||
 | 
					            ghost
 | 
				
			||||||
 | 
					            >修改收货地址</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					          <Button v-if="allowOperation.cancel" @click="orderCancel" type="warning" ghost
 | 
				
			||||||
 | 
					            >订单取消</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					          <Button
 | 
				
			||||||
 | 
					            v-if="orderInfo.order.orderStatus === 'UNPAID'"
 | 
				
			||||||
 | 
					            @click="confirmPrice"
 | 
				
			||||||
 | 
					            type="primary"
 | 
				
			||||||
 | 
					            >收款</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
          <Button @click="orderLog" type="info" ghost>订单日志</Button>
 | 
					          <Button @click="orderLog" type="info" ghost>订单日志</Button>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </Card>
 | 
					      </Card>
 | 
				
			||||||
@ -45,21 +58,30 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票抬头:</div>
 | 
					            <div class="div-item-left">发票抬头:</div>
 | 
				
			||||||
            <div class="div-item-right">{{
 | 
					            <div class="div-item-right">
 | 
				
			||||||
                orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : '暂无'
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : "暂无"
 | 
				
			||||||
              }}
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId">
 | 
					          <div
 | 
				
			||||||
 | 
					            class="div-item"
 | 
				
			||||||
 | 
					            v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <div class="div-item-left">发票税号:</div>
 | 
					            <div class="div-item-left">发票税号:</div>
 | 
				
			||||||
            <div class="div-item-right">{{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : '暂无' }}</div>
 | 
					            <div class="div-item-right">
 | 
				
			||||||
 | 
					              {{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : "暂无" }}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票内容:</div>
 | 
					            <div class="div-item-left">发票内容:</div>
 | 
				
			||||||
            <div class="div-item-right">{{
 | 
					            <div class="div-item-right">
 | 
				
			||||||
                orderInfo.receipt.receiptContent ? orderInfo.receipt.receiptContent : '暂无'
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptContent
 | 
				
			||||||
 | 
					                  ? orderInfo.receipt.receiptContent
 | 
				
			||||||
 | 
					                  : "暂无"
 | 
				
			||||||
              }}
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
@ -67,13 +89,19 @@
 | 
				
			|||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票金额:</div>
 | 
					            <div class="div-item-left">发票金额:</div>
 | 
				
			||||||
            <div class="div-item-right">
 | 
					            <div class="div-item-right">
 | 
				
			||||||
              {{ orderInfo.receipt.receiptPrice ? orderInfo.receipt.receiptPrice : '暂无' | unitPrice('¥') }}
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptPrice
 | 
				
			||||||
 | 
					                  ? orderInfo.receipt.receiptPrice
 | 
				
			||||||
 | 
					                  : "暂无" | unitPrice("¥")
 | 
				
			||||||
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">是否开票:</div>
 | 
					            <div class="div-item-left">是否开票:</div>
 | 
				
			||||||
            <div class="div-item-right">{{ orderInfo.receipt.receiptStatus == 0 ? '未开' : '已开' }}</div>
 | 
					            <div class="div-item-right">
 | 
				
			||||||
 | 
					              {{ orderInfo.receipt.receiptStatus == 0 ? "未开" : "已开" }}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div style="width: 36%; float: left">
 | 
					        <div style="width: 36%; float: left">
 | 
				
			||||||
@ -105,21 +133,30 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票抬头:</div>
 | 
					            <div class="div-item-left">发票抬头:</div>
 | 
				
			||||||
            <div class="div-item-right">{{
 | 
					            <div class="div-item-right">
 | 
				
			||||||
                orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : '暂无'
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : "暂无"
 | 
				
			||||||
              }}
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId">
 | 
					          <div
 | 
				
			||||||
 | 
					            class="div-item"
 | 
				
			||||||
 | 
					            v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <div class="div-item-left">发票税号:</div>
 | 
					            <div class="div-item-left">发票税号:</div>
 | 
				
			||||||
            <div class="div-item-right">{{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : '暂无' }}</div>
 | 
					            <div class="div-item-right">
 | 
				
			||||||
 | 
					              {{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : "暂无" }}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票内容:</div>
 | 
					            <div class="div-item-left">发票内容:</div>
 | 
				
			||||||
            <div class="div-item-right">{{
 | 
					            <div class="div-item-right">
 | 
				
			||||||
                orderInfo.receipt.receiptContent ? orderInfo.receipt.receiptContent : '暂无'
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptContent
 | 
				
			||||||
 | 
					                  ? orderInfo.receipt.receiptContent
 | 
				
			||||||
 | 
					                  : "暂无"
 | 
				
			||||||
              }}
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
@ -127,13 +164,19 @@
 | 
				
			|||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">发票金额:</div>
 | 
					            <div class="div-item-left">发票金额:</div>
 | 
				
			||||||
            <div class="div-item-right">
 | 
					            <div class="div-item-right">
 | 
				
			||||||
              {{ orderInfo.receipt.receiptPrice ? orderInfo.receipt.receiptPrice : '暂无' | unitPrice('¥') }}
 | 
					              {{
 | 
				
			||||||
 | 
					                orderInfo.receipt.receiptPrice
 | 
				
			||||||
 | 
					                  ? orderInfo.receipt.receiptPrice
 | 
				
			||||||
 | 
					                  : "暂无" | unitPrice("¥")
 | 
				
			||||||
 | 
					              }}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
					          <div class="div-item" v-if="orderInfo.order.needReceipt == true">
 | 
				
			||||||
            <div class="div-item-left">是否开票:</div>
 | 
					            <div class="div-item-left">是否开票:</div>
 | 
				
			||||||
            <div class="div-item-right">{{ orderInfo.receipt.receiptStatus == 0 ? '未开' : '已开' }}</div>
 | 
					            <div class="div-item-right">
 | 
				
			||||||
 | 
					              {{ orderInfo.receipt.receiptStatus == 0 ? "未开" : "已开" }}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="div-item">
 | 
					          <div class="div-item">
 | 
				
			||||||
@ -145,12 +188,22 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </Card>
 | 
					      </Card>
 | 
				
			||||||
      <Card class="mt_10">
 | 
					      <Card class="mt_10">
 | 
				
			||||||
        <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom">
 | 
					        <Table
 | 
				
			||||||
 | 
					          :loading="loading"
 | 
				
			||||||
 | 
					          border
 | 
				
			||||||
 | 
					          :columns="columns"
 | 
				
			||||||
 | 
					          :data="data"
 | 
				
			||||||
 | 
					          ref="table"
 | 
				
			||||||
 | 
					          sortable="custom"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <!-- 商品栏目格式化 -->
 | 
					          <!-- 商品栏目格式化 -->
 | 
				
			||||||
          <template slot="goodsSlot" slot-scope="{ row }">
 | 
					          <template slot="goodsSlot" slot-scope="{ row }">
 | 
				
			||||||
            <div style="margin-top: 5px; height: 80px; display: flex">
 | 
					            <div style="margin-top: 5px; height: 80px; display: flex">
 | 
				
			||||||
              <div style="">
 | 
					              <div style="">
 | 
				
			||||||
                <img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" />
 | 
					                <img
 | 
				
			||||||
 | 
					                  :src="row.image"
 | 
				
			||||||
 | 
					                  style="height: 60px; margin-top: 1px; width: 60px"
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              <div style="margin-left: 13px">
 | 
					              <div style="margin-left: 13px">
 | 
				
			||||||
@ -158,16 +211,32 @@
 | 
				
			|||||||
                  <a @click="linkTo(row.goodsId, row.skuId)">{{ row.goodsName }}</a>
 | 
					                  <a @click="linkTo(row.goodsId, row.skuId)">{{ row.goodsName }}</a>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <span v-for="(item, key) in JSON.parse(row.specs)" :key="key">
 | 
					                <span v-for="(item, key) in JSON.parse(row.specs)" :key="key">
 | 
				
			||||||
                  <span v-show="key!='images'" style="font-size: 12px;color: #999999;">
 | 
					                  <span v-show="key != 'images'" style="font-size: 12px; color: #999999">
 | 
				
			||||||
                    {{ key }} : {{ item }}
 | 
					                    {{ key }} : {{ item }}
 | 
				
			||||||
                  </span>
 | 
					                  </span>
 | 
				
			||||||
                </span>
 | 
					                </span>
 | 
				
			||||||
                <Poptip trigger="hover" style="display: block;" title="扫码在手机中查看" transfer>
 | 
					                <Poptip
 | 
				
			||||||
 | 
					                  trigger="hover"
 | 
				
			||||||
 | 
					                  style="display: block"
 | 
				
			||||||
 | 
					                  title="扫码在手机中查看"
 | 
				
			||||||
 | 
					                  transfer
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
                  <div slot="content">
 | 
					                  <div slot="content">
 | 
				
			||||||
                    <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff"
 | 
					                    <vue-qr
 | 
				
			||||||
                      :size="150"></vue-qr>
 | 
					                      :text="wapLinkTo(row.goodsId, row.skuId)"
 | 
				
			||||||
 | 
					                      :margin="0"
 | 
				
			||||||
 | 
					                      colorDark="#000"
 | 
				
			||||||
 | 
					                      colorLight="#fff"
 | 
				
			||||||
 | 
					                      :size="150"
 | 
				
			||||||
 | 
					                    ></vue-qr>
 | 
				
			||||||
                  </div>
 | 
					                  </div>
 | 
				
			||||||
                  <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
 | 
					                  <img
 | 
				
			||||||
 | 
					                    src="../../../assets/qrcode.svg"
 | 
				
			||||||
 | 
					                    class="hover-pointer"
 | 
				
			||||||
 | 
					                    width="20"
 | 
				
			||||||
 | 
					                    height="20"
 | 
				
			||||||
 | 
					                    alt=""
 | 
				
			||||||
 | 
					                  />
 | 
				
			||||||
                </Poptip>
 | 
					                </Poptip>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
@ -177,32 +246,56 @@
 | 
				
			|||||||
          <ul>
 | 
					          <ul>
 | 
				
			||||||
            <li>
 | 
					            <li>
 | 
				
			||||||
              <span class="label">商品总额:</span>
 | 
					              <span class="label">商品总额:</span>
 | 
				
			||||||
              <span class="txt">{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥') }}</span>
 | 
					              <span class="txt">{{
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.goodsPrice | unitPrice("¥")
 | 
				
			||||||
 | 
					              }}</span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
            <li v-if="orderInfo.order.priceDetailDTO.discountPrice && orderInfo.order.priceDetailDTO.discountPrice > 0">
 | 
					            <li
 | 
				
			||||||
 | 
					              v-if="
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.discountPrice &&
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.discountPrice > 0
 | 
				
			||||||
 | 
					              "
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
              <span class="label">优惠金额:</span>
 | 
					              <span class="label">优惠金额:</span>
 | 
				
			||||||
              <span class="txt"> {{ orderInfo.order.priceDetailDTO.discountPrice | unitPrice('¥') }} </span>
 | 
					              <span class="txt">
 | 
				
			||||||
 | 
					                {{ orderInfo.order.priceDetailDTO.discountPrice | unitPrice("¥") }}
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <li v-if="orderInfo.order.priceDetailDTO.couponPrice && orderInfo.order.priceDetailDTO.couponPrice > 0">
 | 
					            <li
 | 
				
			||||||
 | 
					              v-if="
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.couponPrice &&
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.couponPrice > 0
 | 
				
			||||||
 | 
					              "
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
              <span class="label">优惠券金额:</span>
 | 
					              <span class="label">优惠券金额:</span>
 | 
				
			||||||
              <span class="txt"> {{ orderInfo.order.priceDetailDTO.couponPrice | unitPrice('¥') }} </span>
 | 
					              <span class="txt">
 | 
				
			||||||
 | 
					                {{ orderInfo.order.priceDetailDTO.couponPrice | unitPrice("¥") }}
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
            <li>
 | 
					            <li>
 | 
				
			||||||
              <span class="label">运费:</span>
 | 
					              <span class="label">运费:</span>
 | 
				
			||||||
              <span class="txt">{{ orderInfo.order.freightPrice | unitPrice('¥') }}</span>
 | 
					              <span class="txt">{{
 | 
				
			||||||
 | 
					                orderInfo.order.freightPrice | unitPrice("¥")
 | 
				
			||||||
 | 
					              }}</span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
            <li v-if="orderInfo.order.priceDetailDTO.updatePrice">
 | 
					            <li v-if="orderInfo.order.priceDetailDTO.updatePrice">
 | 
				
			||||||
              <span class="label">修改金额:</span>
 | 
					              <span class="label">修改金额:</span>
 | 
				
			||||||
              <span class="txt theme_color">¥{{ orderInfo.order.priceDetailDTO.updatePrice | unitPrice }}</span>
 | 
					              <span class="txt theme_color"
 | 
				
			||||||
 | 
					                >¥{{ orderInfo.order.priceDetailDTO.updatePrice | unitPrice }}</span
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
            <li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
 | 
					            <li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
 | 
				
			||||||
              <span class="label">使用积分:</span>
 | 
					              <span class="label">使用积分:</span>
 | 
				
			||||||
              <span class="txt flowPrice">{{ orderInfo.order.priceDetailDTO.payPoint }}</span>
 | 
					              <span class="txt flowPrice">{{
 | 
				
			||||||
 | 
					                orderInfo.order.priceDetailDTO.payPoint
 | 
				
			||||||
 | 
					              }}</span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
            <li>
 | 
					            <li>
 | 
				
			||||||
              <span class="label">应付金额:</span>
 | 
					              <span class="label">应付金额:</span>
 | 
				
			||||||
              <span class="txt flowPrice">¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span>
 | 
					              <span class="txt flowPrice"
 | 
				
			||||||
 | 
					                >¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
          </ul>
 | 
					          </ul>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
@ -215,10 +308,20 @@
 | 
				
			|||||||
        <span>修改金额</span>
 | 
					        <span>修改金额</span>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
      <div>
 | 
					      <div>
 | 
				
			||||||
        <Form ref="modifyPriceForm" :model="modifyPriceForm" label-position="left" :label-width="70"
 | 
					        <Form
 | 
				
			||||||
          :rules="modifyPriceValidate">
 | 
					          ref="modifyPriceForm"
 | 
				
			||||||
 | 
					          :model="modifyPriceForm"
 | 
				
			||||||
 | 
					          label-position="left"
 | 
				
			||||||
 | 
					          :label-width="70"
 | 
				
			||||||
 | 
					          :rules="modifyPriceValidate"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <FormItem label="订单金额" prop="price">
 | 
					          <FormItem label="订单金额" prop="price">
 | 
				
			||||||
            <InputNumber style="width:100px;" v-model="modifyPriceForm.price" :min="0" :max="999999"></InputNumber>
 | 
					            <InputNumber
 | 
				
			||||||
 | 
					              style="width: 100px"
 | 
				
			||||||
 | 
					              v-model="modifyPriceForm.price"
 | 
				
			||||||
 | 
					              :min="0"
 | 
				
			||||||
 | 
					              :max="999999"
 | 
				
			||||||
 | 
					            ></InputNumber>
 | 
				
			||||||
            <span class="ml_10">元</span>
 | 
					            <span class="ml_10">元</span>
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
        </Form>
 | 
					        </Form>
 | 
				
			||||||
@ -235,11 +338,20 @@
 | 
				
			|||||||
        <span>订单取消</span>
 | 
					        <span>订单取消</span>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
      <div>
 | 
					      <div>
 | 
				
			||||||
        <Form ref="orderCancelForm" :model="orderCancelForm" label-position="left" :label-width="100"
 | 
					        <Form
 | 
				
			||||||
          :rules="orderCancelValidate">
 | 
					          ref="orderCancelForm"
 | 
				
			||||||
 | 
					          :model="orderCancelForm"
 | 
				
			||||||
 | 
					          label-position="left"
 | 
				
			||||||
 | 
					          :label-width="100"
 | 
				
			||||||
 | 
					          :rules="orderCancelValidate"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <FormItem label="取消原因" prop="reason">
 | 
					          <FormItem label="取消原因" prop="reason">
 | 
				
			||||||
            <Input v-model="orderCancelForm.reason" type="textarea" :autosize="{ minRows: 2, maxRows: 5 }"
 | 
					            <Input
 | 
				
			||||||
              placeholder="请输入取消原因"></Input>
 | 
					              v-model="orderCancelForm.reason"
 | 
				
			||||||
 | 
					              type="textarea"
 | 
				
			||||||
 | 
					              :autosize="{ minRows: 2, maxRows: 5 }"
 | 
				
			||||||
 | 
					              placeholder="请输入取消原因"
 | 
				
			||||||
 | 
					            ></Input>
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
        </Form>
 | 
					        </Form>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -255,22 +367,55 @@
 | 
				
			|||||||
        <span>修改收件信息</span>
 | 
					        <span>修改收件信息</span>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
      <div>
 | 
					      <div>
 | 
				
			||||||
        <Form ref="addressForm" :model="addressForm" label-position="left" :label-width="100" :rules="addressRule">
 | 
					        <Form
 | 
				
			||||||
 | 
					          ref="addressForm"
 | 
				
			||||||
 | 
					          :model="addressForm"
 | 
				
			||||||
 | 
					          label-position="left"
 | 
				
			||||||
 | 
					          :label-width="100"
 | 
				
			||||||
 | 
					          :rules="addressRule"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <FormItem label="收件人" prop="consigneeName">
 | 
					          <FormItem label="收件人" prop="consigneeName">
 | 
				
			||||||
            <Input v-model="addressForm.consigneeName" size="large" maxlength="20"></Input>
 | 
					            <Input
 | 
				
			||||||
 | 
					              v-model="addressForm.consigneeName"
 | 
				
			||||||
 | 
					              size="large"
 | 
				
			||||||
 | 
					              maxlength="20"
 | 
				
			||||||
 | 
					            ></Input>
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
          <FormItem label="联系方式" prop="consigneeMobile">
 | 
					          <FormItem label="联系方式" prop="consigneeMobile">
 | 
				
			||||||
            <Input v-model="addressForm.consigneeMobile" size="large" maxlength="11"></Input>
 | 
					            <Input
 | 
				
			||||||
 | 
					              v-model="addressForm.consigneeMobile"
 | 
				
			||||||
 | 
					              size="large"
 | 
				
			||||||
 | 
					              maxlength="11"
 | 
				
			||||||
 | 
					            ></Input>
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
          <FormItem label="地址信息" prop="consigneeAddressPath">
 | 
					          <FormItem label="地址信息" prop="consigneeAddressPath">
 | 
				
			||||||
            <Input v-model="addr" disabled style="width: 305px" v-if="showRegion == false" />
 | 
					            <Input
 | 
				
			||||||
            <Button v-if="showRegion == false" @click="regionClick" :loading="submitLoading" type="primary"
 | 
					              v-model="addr"
 | 
				
			||||||
              icon="ios-create-outline" style="margin-left: 8px">修改
 | 
					              disabled
 | 
				
			||||||
 | 
					              style="width: 305px"
 | 
				
			||||||
 | 
					              v-if="showRegion == false"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
 | 
					            <Button
 | 
				
			||||||
 | 
					              v-if="showRegion == false"
 | 
				
			||||||
 | 
					              @click="regionClick"
 | 
				
			||||||
 | 
					              :loading="submitLoading"
 | 
				
			||||||
 | 
					              type="primary"
 | 
				
			||||||
 | 
					              icon="ios-create-outline"
 | 
				
			||||||
 | 
					              style="margin-left: 8px"
 | 
				
			||||||
 | 
					              >修改
 | 
				
			||||||
            </Button>
 | 
					            </Button>
 | 
				
			||||||
            <region style="width: 400px" @selected="selectedRegion" v-if="showRegion == true" />
 | 
					            <region
 | 
				
			||||||
 | 
					              style="width: 400px"
 | 
				
			||||||
 | 
					              @selected="selectedRegion"
 | 
				
			||||||
 | 
					              v-if="showRegion == true"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
          <FormItem label="详细地址" prop="consigneeDetail">
 | 
					          <FormItem label="详细地址" prop="consigneeDetail">
 | 
				
			||||||
            <Input v-model="addressForm.consigneeDetail" size="large" maxlength="50"></Input>
 | 
					            <Input
 | 
				
			||||||
 | 
					              v-model="addressForm.consigneeDetail"
 | 
				
			||||||
 | 
					              size="large"
 | 
				
			||||||
 | 
					              maxlength="50"
 | 
				
			||||||
 | 
					            ></Input>
 | 
				
			||||||
          </FormItem>
 | 
					          </FormItem>
 | 
				
			||||||
        </Form>
 | 
					        </Form>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -285,8 +430,14 @@
 | 
				
			|||||||
        <span>订单日志</span>
 | 
					        <span>订单日志</span>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
      <div class="order-log-div">
 | 
					      <div class="order-log-div">
 | 
				
			||||||
        <Table :loading="loading" border :columns="orderLogColumns" :data="orderInfo.orderLogs" ref="table"
 | 
					        <Table
 | 
				
			||||||
          sortable="custom"></Table>
 | 
					          :loading="loading"
 | 
				
			||||||
 | 
					          border
 | 
				
			||||||
 | 
					          :columns="orderLogColumns"
 | 
				
			||||||
 | 
					          :data="orderInfo.orderLogs"
 | 
				
			||||||
 | 
					          ref="table"
 | 
				
			||||||
 | 
					          sortable="custom"
 | 
				
			||||||
 | 
					        ></Table>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div slot="footer" style="text-align: right">
 | 
					      <div slot="footer" style="text-align: right">
 | 
				
			||||||
@ -359,9 +510,7 @@ export default {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      //验证取消订单原因
 | 
					      //验证取消订单原因
 | 
				
			||||||
      orderCancelValidate: {
 | 
					      orderCancelValidate: {
 | 
				
			||||||
        reason: [
 | 
					        reason: [{ required: true, message: "取消原因不能为空", trigger: "blur" }],
 | 
				
			||||||
          { required: true, message: "取消原因不能为空", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      addressModal: false, //弹出修改收件信息框
 | 
					      addressModal: false, //弹出修改收件信息框
 | 
				
			||||||
      //收件地址表单
 | 
					      //收件地址表单
 | 
				
			||||||
@ -373,12 +522,8 @@ export default {
 | 
				
			|||||||
        consigneeAddressIdPath: "",
 | 
					        consigneeAddressIdPath: "",
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      orderDeliverFormValidate: {
 | 
					      orderDeliverFormValidate: {
 | 
				
			||||||
        logisticsNo: [
 | 
					        logisticsNo: [{ required: true, message: "发货单号不能为空", trigger: "change" }],
 | 
				
			||||||
          { required: true, message: "发货单号不能为空", trigger: "change" },
 | 
					        logisticsId: [{ required: true, message: "请选择物流公司", trigger: "blur" }],
 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        logisticsId: [
 | 
					 | 
				
			||||||
          { required: true, message: "请选择物流公司", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      addressRule: {
 | 
					      addressRule: {
 | 
				
			||||||
        consigneeName: [
 | 
					        consigneeName: [
 | 
				
			||||||
@ -442,10 +587,7 @@ export default {
 | 
				
			|||||||
            if (!params.row.goodsPrice) {
 | 
					            if (!params.row.goodsPrice) {
 | 
				
			||||||
              return h("div", this.$options.filters.unitPrice(0, "¥"));
 | 
					              return h("div", this.$options.filters.unitPrice(0, "¥"));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return h(
 | 
					            return h("div", this.$options.filters.unitPrice(params.row.goodsPrice, "¥"));
 | 
				
			||||||
              "div",
 | 
					 | 
				
			||||||
              this.$options.filters.unitPrice(params.row.goodsPrice, "¥")
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -459,10 +601,7 @@ export default {
 | 
				
			|||||||
          key: "flowPrice",
 | 
					          key: "flowPrice",
 | 
				
			||||||
          minWidth: 100,
 | 
					          minWidth: 100,
 | 
				
			||||||
          render: (h, params) => {
 | 
					          render: (h, params) => {
 | 
				
			||||||
            return h(
 | 
					            return h("div", this.$options.filters.unitPrice(params.row.flowPrice, "¥"));
 | 
				
			||||||
              "div",
 | 
					 | 
				
			||||||
              this.$options.filters.unitPrice(params.row.flowPrice, "¥")
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
@ -542,15 +681,13 @@ export default {
 | 
				
			|||||||
    modifyPriceSubmit() {
 | 
					    modifyPriceSubmit() {
 | 
				
			||||||
      this.$refs.modifyPriceForm.validate((valid) => {
 | 
					      this.$refs.modifyPriceForm.validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          API_Order.updateOrderPrice(this.sn, this.modifyPriceForm).then(
 | 
					          API_Order.updateOrderPrice(this.sn, this.modifyPriceForm).then((res) => {
 | 
				
			||||||
            (res) => {
 | 
					 | 
				
			||||||
            if (res.success) {
 | 
					            if (res.success) {
 | 
				
			||||||
              this.$Message.success("修改订单金额成功");
 | 
					              this.$Message.success("修改订单金额成功");
 | 
				
			||||||
              this.modal = false;
 | 
					              this.modal = false;
 | 
				
			||||||
              this.getDataList();
 | 
					              this.getDataList();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            }
 | 
					          });
 | 
				
			||||||
          );
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -594,10 +731,8 @@ export default {
 | 
				
			|||||||
      this.addressForm.consigneeName = this.orderInfo.order.consigneeName;
 | 
					      this.addressForm.consigneeName = this.orderInfo.order.consigneeName;
 | 
				
			||||||
      this.addressForm.consigneeMobile = this.orderInfo.order.consigneeMobile;
 | 
					      this.addressForm.consigneeMobile = this.orderInfo.order.consigneeMobile;
 | 
				
			||||||
      this.addressForm.consigneeDetail = this.orderInfo.order.consigneeDetail;
 | 
					      this.addressForm.consigneeDetail = this.orderInfo.order.consigneeDetail;
 | 
				
			||||||
      this.addressForm.consigneeAddressPath =
 | 
					      this.addressForm.consigneeAddressPath = this.orderInfo.order.consigneeAddressPath;
 | 
				
			||||||
        this.orderInfo.order.consigneeAddressPath;
 | 
					      this.addressForm.consigneeAddressIdPath = this.orderInfo.order.consigneeAddressIdPath;
 | 
				
			||||||
      this.addressForm.consigneeAddressIdPath =
 | 
					 | 
				
			||||||
        this.orderInfo.order.consigneeAddressIdPath;
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    //修改收货地址
 | 
					    //修改收货地址
 | 
				
			||||||
    editAddressSubmit() {
 | 
					    editAddressSubmit() {
 | 
				
			||||||
@ -609,15 +744,13 @@ export default {
 | 
				
			|||||||
      this.addressForm.consigneeAddressIdPath = this.regionId;
 | 
					      this.addressForm.consigneeAddressIdPath = this.regionId;
 | 
				
			||||||
      this.$refs.addressForm.validate((valid) => {
 | 
					      this.$refs.addressForm.validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          API_Order.editOrderConsignee(this.sn, this.addressForm).then(
 | 
					          API_Order.editOrderConsignee(this.sn, this.addressForm).then((res) => {
 | 
				
			||||||
            (res) => {
 | 
					 | 
				
			||||||
            if (res.success) {
 | 
					            if (res.success) {
 | 
				
			||||||
              this.$Message.success("收货地址修改成功");
 | 
					              this.$Message.success("收货地址修改成功");
 | 
				
			||||||
              this.addressModal = false;
 | 
					              this.addressModal = false;
 | 
				
			||||||
              this.getDataList();
 | 
					              this.getDataList();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            }
 | 
					          });
 | 
				
			||||||
          );
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -657,7 +790,6 @@ export default {
 | 
				
			|||||||
    margin-bottom: 2vh;
 | 
					    margin-bottom: 2vh;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
  .select-clear {
 | 
					  .select-clear {
 | 
				
			||||||
    margin-left: 10px;
 | 
					    margin-left: 10px;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
@ -121,8 +121,7 @@ export default {
 | 
				
			|||||||
      // 表单验证规则
 | 
					      // 表单验证规则
 | 
				
			||||||
      formValidate: {
 | 
					      formValidate: {
 | 
				
			||||||
        articleCategoryName:[
 | 
					        articleCategoryName:[
 | 
				
			||||||
          regular.REQUIRED,
 | 
					          regular.REQUIRED
 | 
				
			||||||
          regular.VARCHAR20,
 | 
					 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        sort:[
 | 
					        sort:[
 | 
				
			||||||
          regular.REQUIRED,
 | 
					          regular.REQUIRED,
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,13 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="search">
 | 
					  <div class="search">
 | 
				
			||||||
    <Card>
 | 
					    <Card>
 | 
				
			||||||
      <Form ref="searchForm" :model="searchForm" inline :label-width="70"   class="search-form">
 | 
					      <Form
 | 
				
			||||||
 | 
					        ref="searchForm"
 | 
				
			||||||
 | 
					        :model="searchForm"
 | 
				
			||||||
 | 
					        inline
 | 
				
			||||||
 | 
					        :label-width="70"
 | 
				
			||||||
 | 
					        class="search-form"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
        <Form-item label="搜索日志" prop="searchKey">
 | 
					        <Form-item label="搜索日志" prop="searchKey">
 | 
				
			||||||
          <Input
 | 
					          <Input
 | 
				
			||||||
            type="text"
 | 
					            type="text"
 | 
				
			||||||
@ -32,20 +37,21 @@
 | 
				
			|||||||
            style="width: 200px"
 | 
					            style="width: 200px"
 | 
				
			||||||
          ></DatePicker>
 | 
					          ></DatePicker>
 | 
				
			||||||
        </Form-item>
 | 
					        </Form-item>
 | 
				
			||||||
        <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
 | 
					        <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn"
 | 
				
			||||||
 | 
					          >搜索</Button
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
      </Form>
 | 
					      </Form>
 | 
				
			||||||
      <Row class="operation padding-row">
 | 
					      <Row class="operation padding-row">
 | 
				
			||||||
        <Button @click="getLogList" icon="md-refresh">刷新</Button>
 | 
					        <Button @click="getLogList" icon="md-refresh">刷新</Button>
 | 
				
			||||||
        <Button type="dashed" @click="openTip=!openTip">{{openTip ? "关闭提示" : "开启提示"}}</Button>
 | 
					        <Button type="dashed" @click="openTip = !openTip">{{
 | 
				
			||||||
 | 
					          openTip ? "关闭提示" : "开启提示"
 | 
				
			||||||
 | 
					        }}</Button>
 | 
				
			||||||
      </Row>
 | 
					      </Row>
 | 
				
			||||||
      <Row v-show="openTip">
 | 
					      <Row v-show="openTip">
 | 
				
			||||||
        <Alert show-icon>
 | 
					        <Alert show-icon>
 | 
				
			||||||
          <span>展示详细内容</span>
 | 
					          <span>展示详细内容</span>
 | 
				
			||||||
          <Icon type="ios-bulb-outline" slot="icon"></Icon>
 | 
					          <Icon type="ios-bulb-outline" slot="icon"></Icon>
 | 
				
			||||||
          <i-switch
 | 
					          <i-switch size="large" v-model="showDev">
 | 
				
			||||||
            size="large"
 | 
					 | 
				
			||||||
            v-model="showDev"
 | 
					 | 
				
			||||||
          >
 | 
					 | 
				
			||||||
            <span slot="open">开发</span>
 | 
					            <span slot="open">开发</span>
 | 
				
			||||||
            <span slot="close">普通</span>
 | 
					            <span slot="close">普通</span>
 | 
				
			||||||
          </i-switch>
 | 
					          </i-switch>
 | 
				
			||||||
@ -83,7 +89,6 @@
 | 
				
			|||||||
          :page-size-opts="[10, 20, 50]"
 | 
					          :page-size-opts="[10, 20, 50]"
 | 
				
			||||||
          size="small"
 | 
					          size="small"
 | 
				
			||||||
          show-totalzx
 | 
					          show-totalzx
 | 
				
			||||||
 | 
					 | 
				
			||||||
          show-elevator
 | 
					          show-elevator
 | 
				
			||||||
          show-sizer
 | 
					          show-sizer
 | 
				
			||||||
        ></Page>
 | 
					        ></Page>
 | 
				
			||||||
@ -103,25 +108,27 @@
 | 
				
			|||||||
      loading: true, // 加载状态
 | 
					      loading: true, // 加载状态
 | 
				
			||||||
      selectDate: null, // 选择时间段
 | 
					      selectDate: null, // 选择时间段
 | 
				
			||||||
      showDev: false, //展示进阶日志
 | 
					      showDev: false, //展示进阶日志
 | 
				
			||||||
        searchForm: { // 请求参数
 | 
					      searchForm: {
 | 
				
			||||||
 | 
					        // 请求参数
 | 
				
			||||||
        type: 1,
 | 
					        type: 1,
 | 
				
			||||||
          key: '',
 | 
					        key: "",
 | 
				
			||||||
          operatorName: '',
 | 
					        operatorName: "",
 | 
				
			||||||
        pageNumber: 1,
 | 
					        pageNumber: 1,
 | 
				
			||||||
        pageSize: 10,
 | 
					        pageSize: 10,
 | 
				
			||||||
        startDate: "",
 | 
					        startDate: "",
 | 
				
			||||||
        endDate: "",
 | 
					        endDate: "",
 | 
				
			||||||
        sort: "createTime",
 | 
					        sort: "createTime",
 | 
				
			||||||
          order: "desc"
 | 
					        order: "desc",
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
        columns: [ // 表头
 | 
					      columns: [
 | 
				
			||||||
 | 
					        // 表头
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "操作名称",
 | 
					          title: "操作名称",
 | 
				
			||||||
          key: "name",
 | 
					          key: "name",
 | 
				
			||||||
          width: 150,
 | 
					          width: 150,
 | 
				
			||||||
          fixed: "left",
 | 
					          fixed: "left",
 | 
				
			||||||
          ellipsis: false,
 | 
					          ellipsis: false,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "日志内容",
 | 
					          title: "日志内容",
 | 
				
			||||||
@ -129,21 +136,21 @@
 | 
				
			|||||||
          minWidth: 200,
 | 
					          minWidth: 200,
 | 
				
			||||||
          fixed: "left",
 | 
					          fixed: "left",
 | 
				
			||||||
          ellipsis: false,
 | 
					          ellipsis: false,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "操作用户",
 | 
					          title: "操作用户",
 | 
				
			||||||
          minWidth: 115,
 | 
					          minWidth: 115,
 | 
				
			||||||
          key: "username",
 | 
					          key: "username",
 | 
				
			||||||
          width: 120,
 | 
					          width: 120,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "操作时间",
 | 
					          title: "操作时间",
 | 
				
			||||||
          key: "createTime",
 | 
					          key: "createTime",
 | 
				
			||||||
          align: "center",
 | 
					          align: "center",
 | 
				
			||||||
            width: 170
 | 
					          width: 170,
 | 
				
			||||||
          }
 | 
					        },
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      columns_dev: [
 | 
					      columns_dev: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -152,7 +159,7 @@
 | 
				
			|||||||
          minWidth: 100,
 | 
					          minWidth: 100,
 | 
				
			||||||
          fixed: "left",
 | 
					          fixed: "left",
 | 
				
			||||||
          ellipsis: false,
 | 
					          ellipsis: false,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "日志内容",
 | 
					          title: "日志内容",
 | 
				
			||||||
@ -170,7 +177,7 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "IP",
 | 
					          title: "IP",
 | 
				
			||||||
          key: "ip",
 | 
					          key: "ip",
 | 
				
			||||||
            width: 150
 | 
					          width: 150,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "IP信息",
 | 
					          title: "IP信息",
 | 
				
			||||||
@ -184,7 +191,7 @@
 | 
				
			|||||||
          width: 150,
 | 
					          width: 150,
 | 
				
			||||||
          ellipsis: false,
 | 
					          ellipsis: false,
 | 
				
			||||||
          tooltip: true,
 | 
					          tooltip: true,
 | 
				
			||||||
            key: "requestUrl"
 | 
					          key: "requestUrl",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "请求类型",
 | 
					          title: "请求类型",
 | 
				
			||||||
@ -194,20 +201,20 @@
 | 
				
			|||||||
          filters: [
 | 
					          filters: [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "GET",
 | 
					              label: "GET",
 | 
				
			||||||
                value: "GET"
 | 
					              value: "GET",
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "POST",
 | 
					              label: "POST",
 | 
				
			||||||
                value: "POST"
 | 
					              value: "POST",
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "PUT",
 | 
					              label: "PUT",
 | 
				
			||||||
                value: "PUT"
 | 
					              value: "PUT",
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "DELETE",
 | 
					              label: "DELETE",
 | 
				
			||||||
                value: "DELETE"
 | 
					              value: "DELETE",
 | 
				
			||||||
              }
 | 
					            },
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
          filterMultiple: false,
 | 
					          filterMultiple: false,
 | 
				
			||||||
          filterMethod(value, row) {
 | 
					          filterMethod(value, row) {
 | 
				
			||||||
@ -220,14 +227,14 @@
 | 
				
			|||||||
            } else if (value == "DELETE") {
 | 
					            } else if (value == "DELETE") {
 | 
				
			||||||
              return row.requestType == "DELETE";
 | 
					              return row.requestType == "DELETE";
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            }
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "请求参数",
 | 
					          title: "请求参数",
 | 
				
			||||||
          minWidth: 100,
 | 
					          minWidth: 100,
 | 
				
			||||||
          key: "requestParam",
 | 
					          key: "requestParam",
 | 
				
			||||||
          ellipsis: false,
 | 
					          ellipsis: false,
 | 
				
			||||||
            tooltip: true
 | 
					          tooltip: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "耗时-毫秒",
 | 
					          title: "耗时-毫秒",
 | 
				
			||||||
@ -237,16 +244,16 @@
 | 
				
			|||||||
          filters: [
 | 
					          filters: [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "≤300毫秒",
 | 
					              label: "≤300毫秒",
 | 
				
			||||||
                value: 0
 | 
					              value: 0,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: "300毫秒<x<1000毫秒",
 | 
					              label: "300毫秒<x<1000毫秒",
 | 
				
			||||||
                value: 0.3
 | 
					              value: 0.3,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              label: ">1000毫秒",
 | 
					              label: ">1000毫秒",
 | 
				
			||||||
                value: 1
 | 
					              value: 1,
 | 
				
			||||||
              }
 | 
					            },
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
          filterMultiple: false,
 | 
					          filterMultiple: false,
 | 
				
			||||||
          filterMethod(value, row) {
 | 
					          filterMethod(value, row) {
 | 
				
			||||||
@ -257,18 +264,18 @@
 | 
				
			|||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              return row.costTime > 1000;
 | 
					              return row.costTime > 1000;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            }
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "操作时间",
 | 
					          title: "操作时间",
 | 
				
			||||||
          key: "createTime",
 | 
					          key: "createTime",
 | 
				
			||||||
          align: "center",
 | 
					          align: "center",
 | 
				
			||||||
          width: 170,
 | 
					          width: 170,
 | 
				
			||||||
            sortType: "desc"
 | 
					          sortType: "desc",
 | 
				
			||||||
          }
 | 
					        },
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      data: [], // 日志数据
 | 
					      data: [], // 日志数据
 | 
				
			||||||
        total: 0 // 数据总数
 | 
					      total: 0, // 数据总数
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
@ -302,17 +309,17 @@
 | 
				
			|||||||
    // 获取日志数据
 | 
					    // 获取日志数据
 | 
				
			||||||
    getLogList() {
 | 
					    getLogList() {
 | 
				
			||||||
      this.loading = true;
 | 
					      this.loading = true;
 | 
				
			||||||
        getLogListData(this.searchForm).then(res => {
 | 
					      getLogListData(this.searchForm).then((res) => {
 | 
				
			||||||
        this.loading = false;
 | 
					        this.loading = false;
 | 
				
			||||||
        if (res.success) {
 | 
					        if (res.success) {
 | 
				
			||||||
          this.data = res.result.records;
 | 
					          this.data = res.result.records;
 | 
				
			||||||
          this.total = res.result.total;
 | 
					          this.total = res.result.total;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      }
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.init();
 | 
					    this.init();
 | 
				
			||||||
    }
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
				
			|||||||
@ -35,12 +35,12 @@ export const delCategdelShopGoodsLabel = id => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//  根据goodsId分页获取商品列表
 | 
					//  根据goodsId分页获取商品列表
 | 
				
			||||||
export const getQueryGoodsIdGoodsList = goodsId => {
 | 
					export const getQueryGoodsIdGoodsList = goodsId => {
 | 
				
			||||||
  return getRequest(`/goods/sku/${goodsId}/list`);
 | 
					  return getRequest(`/goods/goods/sku/${goodsId}/list`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  获取商品分页列表
 | 
					//  获取商品分页列表
 | 
				
			||||||
export const getGoodsSkuListDataSeller = params => {
 | 
					export const getGoodsSkuListDataSeller = params => {
 | 
				
			||||||
  return getRequest("/goods/sku/list", params);
 | 
					  return getRequest("/goods/goods/sku/list", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  获取商品品牌分页列表
 | 
					//  获取商品品牌分页列表
 | 
				
			||||||
@ -139,7 +139,7 @@ export const getGoodsCategory = parent_id => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//  获取商品sku分页列表
 | 
					//  获取商品sku分页列表
 | 
				
			||||||
export const getGoodsSkuData = params => {
 | 
					export const getGoodsSkuData = params => {
 | 
				
			||||||
  return getRequest("/goods/sku/list", params);
 | 
					  return getRequest("/goods/goods/sku/list", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  获取商品分页列表
 | 
					//  获取商品分页列表
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ import {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//获取所有city
 | 
					//获取所有city
 | 
				
			||||||
export const getAllCity = (params) => {
 | 
					export const getAllCity = (params) => {
 | 
				
			||||||
  return getRequest(commonUrl+'/common/region/allCity', params)
 | 
					  return getRequest(commonUrl+'/common/common/region/allCity', params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 登陆
 | 
					// 登陆
 | 
				
			||||||
@ -171,47 +171,47 @@ export const getLogListData = params => {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
// 分页获取消息数据
 | 
					// 分页获取消息数据
 | 
				
			||||||
export const getMessageData = params => {
 | 
					export const getMessageData = params => {
 | 
				
			||||||
  return getRequest("/message/getByCondition", params);
 | 
					  return getRequest("/message/storeMessage/getByCondition", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 获取单个消息详情
 | 
					// 获取单个消息详情
 | 
				
			||||||
export const getMessageDataById = (id, params) => {
 | 
					export const getMessageDataById = (id, params) => {
 | 
				
			||||||
  return getRequest(`/message/get/${id}`, params);
 | 
					  return getRequest(`/message/storeMessage/get/${id}`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 添加消息
 | 
					// 添加消息
 | 
				
			||||||
export const addMessage = params => {
 | 
					export const addMessage = params => {
 | 
				
			||||||
  return postRequest("/message/add", params);
 | 
					  return postRequest("/message/storeMessage/add", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 编辑消息
 | 
					// 编辑消息
 | 
				
			||||||
export const editMessage = params => {
 | 
					export const editMessage = params => {
 | 
				
			||||||
  return postRequest("/message/edit", params);
 | 
					  return postRequest("/message/storeMessage/edit", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 回收站还原消息
 | 
					// 回收站还原消息
 | 
				
			||||||
export const reductionMessage = (ids, params) => {
 | 
					export const reductionMessage = (ids, params) => {
 | 
				
			||||||
  return putRequest(`/message/${ids}/reduction`, params);
 | 
					  return putRequest(`/message/storeMessage/${ids}/reduction`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 彻底删除消息
 | 
					// 彻底删除消息
 | 
				
			||||||
export const clearMessage = (ids, params) => {
 | 
					export const clearMessage = (ids, params) => {
 | 
				
			||||||
  return deleteRequest(`/message/${ids}`, params);
 | 
					  return deleteRequest(`/message/storeMessage/${ids}`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 已读消息放入回收站
 | 
					// 已读消息放入回收站
 | 
				
			||||||
export const deleteMessage = (ids, params) => {
 | 
					export const deleteMessage = (ids, params) => {
 | 
				
			||||||
  return deleteRequest(`/message/${ids}/delete`, params);
 | 
					  return deleteRequest(`/message/storeMessage/${ids}/delete`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 分页获取消息推送数据
 | 
					// 分页获取消息推送数据
 | 
				
			||||||
export const getMessageSendData = params => {
 | 
					export const getMessageSendData = params => {
 | 
				
			||||||
  return getRequest("/message", params);
 | 
					  return getRequest("/message/storeMessage", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 进入消息中心首次加载全部数据
 | 
					// 进入消息中心首次加载全部数据
 | 
				
			||||||
export const getAllMessage = params => {
 | 
					export const getAllMessage = params => {
 | 
				
			||||||
  return getRequest("/message/all", params);
 | 
					  return getRequest("/message/storeMessage/all", params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 已读消息
 | 
					// 已读消息
 | 
				
			||||||
export const read = (id) => {
 | 
					export const read = (id) => {
 | 
				
			||||||
  return putRequest(`/message/${id}/read`);
 | 
					  return putRequest(`/message/storeMessage/${id}/read`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
// 删除发送消息
 | 
					// 删除发送消息
 | 
				
			||||||
export const deleteMessageSend = (ids, params) => {
 | 
					export const deleteMessageSend = (ids, params) => {
 | 
				
			||||||
  return deleteRequest(`/messageSend/delByIds/${ids}`, params);
 | 
					  return deleteRequest(`/message/storeMessageSend/delByIds/${ids}`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 分页获取文件数据
 | 
					// 分页获取文件数据
 | 
				
			||||||
 | 
				
			|||||||
@ -125,10 +125,10 @@ export const getAfterSaleTraces = (sn, params) => {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
//获取发票列表
 | 
					//获取发票列表
 | 
				
			||||||
export const getReceiptPage = params => {
 | 
					export const getReceiptPage = params => {
 | 
				
			||||||
  return getRequest(`/receipt`, params);
 | 
					  return getRequest(`/trade/receipt`, params);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//获取发票列表
 | 
					//获取发票列表
 | 
				
			||||||
export const invoicing = id => {
 | 
					export const invoicing = id => {
 | 
				
			||||||
  return postRequest(`receipt/${id}/invoicing`);
 | 
					  return postRequest(`/trade/receipt/${id}/invoicing`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -80,15 +80,15 @@ export const updateArticleCategory = (params, id) => {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
//文章添加
 | 
					//文章添加
 | 
				
			||||||
export const saveArticle = (params) => {
 | 
					export const saveArticle = (params) => {
 | 
				
			||||||
    return postRequest('/article', params)
 | 
					    return postRequest('/other/article', params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//文章修改
 | 
					//文章修改
 | 
				
			||||||
export const updateArticle = (params) => {
 | 
					export const updateArticle = (params) => {
 | 
				
			||||||
    return putRequest(`/article/update/${params.id}`, params)
 | 
					    return putRequest(`/other/article/update/${params.id}`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//查看文章
 | 
					//查看文章
 | 
				
			||||||
export const seeArticle = (id) => {
 | 
					export const seeArticle = (id) => {
 | 
				
			||||||
    return getRequest(`/article/${id}`)
 | 
					    return getRequest(`/other/article/${id}`)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//获取文章列表数据
 | 
					//获取文章列表数据
 | 
				
			||||||
export const getArticle = (params) => {
 | 
					export const getArticle = (params) => {
 | 
				
			||||||
@ -100,7 +100,7 @@ export const getArticle = (params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//删除文章数据
 | 
					//删除文章数据
 | 
				
			||||||
export const delArticle = (ids) => {
 | 
					export const delArticle = (ids) => {
 | 
				
			||||||
    return deleteRequest(`/article/delByIds/${ids}`)
 | 
					    return deleteRequest(`/other/article/delByIds/${ids}`)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@ export const getBillPage = (params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 获取商家结算单流水分页
 | 
					// 获取商家结算单流水分页
 | 
				
			||||||
export const getSellerFlow = (id, params) => {
 | 
					export const getSellerFlow = (id, params) => {
 | 
				
			||||||
  return getRequest(`/member/bill/${id}/getStoreFlow`, params)
 | 
					  return getRequest(`/order/bill/${id}/getStoreFlow`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 商家核对结算单
 | 
					// 商家核对结算单
 | 
				
			||||||
@ -29,7 +29,7 @@ export const reconciliation = (id, params) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 获取商家分销订单流水分页
 | 
					// 获取商家分销订单流水分页
 | 
				
			||||||
export const getDistributionFlow = (id, params) => {
 | 
					export const getDistributionFlow = (id, params) => {
 | 
				
			||||||
  return getRequest(`/member/bill/${id}/getDistributionFlow`, params)
 | 
					  return getRequest(`/order/bill/${id}/getDistributionFlow`, params)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 获取商家结算单详细
 | 
					// 获取商家结算单详细
 | 
				
			||||||
 | 
				
			|||||||
@ -311,7 +311,7 @@ export const result = [{
 | 
				
			|||||||
            type: 0,
 | 
					            type: 0,
 | 
				
			||||||
            title: "分销商品",
 | 
					            title: "分销商品",
 | 
				
			||||||
            path: "distributionGoods",
 | 
					            path: "distributionGoods",
 | 
				
			||||||
            component: "distribution/distribution/goods",
 | 
					            component: "distribution/distributionGoods",
 | 
				
			||||||
            children: null
 | 
					            children: null
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
@ -320,7 +320,7 @@ export const result = [{
 | 
				
			|||||||
            type: 0,
 | 
					            type: 0,
 | 
				
			||||||
            title: "分销订单",
 | 
					            title: "分销订单",
 | 
				
			||||||
            path: "distributionOrder",
 | 
					            path: "distributionOrder",
 | 
				
			||||||
            component: "distribution/distribution/order",
 | 
					            component: "distribution/distributionOrder",
 | 
				
			||||||
            children: null
 | 
					            children: null
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
 | 
				
			|||||||
@ -3,8 +3,13 @@
 | 
				
			|||||||
    <!-- 选择商品类型 -->
 | 
					    <!-- 选择商品类型 -->
 | 
				
			||||||
    <Modal v-model="selectGoodsType" width="550" :closable="false">
 | 
					    <Modal v-model="selectGoodsType" width="550" :closable="false">
 | 
				
			||||||
      <div class="goods-type-list" v-if="!showGoodsTemplates">
 | 
					      <div class="goods-type-list" v-if="!showGoodsTemplates">
 | 
				
			||||||
        <div class="goods-type-item" :class="{'active-goods-type':item.check}" @click="handleClickGoodsType(item)"
 | 
					        <div
 | 
				
			||||||
          v-for="(item,index) in goodsTypeWay" :key="index">
 | 
					          class="goods-type-item"
 | 
				
			||||||
 | 
					          :class="{ 'active-goods-type': item.check }"
 | 
				
			||||||
 | 
					          @click="handleClickGoodsType(item)"
 | 
				
			||||||
 | 
					          v-for="(item, index) in goodsTypeWay"
 | 
				
			||||||
 | 
					          :key="index"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <img :src="item.img" />
 | 
					          <img :src="item.img" />
 | 
				
			||||||
          <div>
 | 
					          <div>
 | 
				
			||||||
            <h2>{{ item.title }}</h2>
 | 
					            <h2>{{ item.title }}</h2>
 | 
				
			||||||
@ -14,12 +19,16 @@
 | 
				
			|||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div v-else class="goods-type-list">
 | 
					      <div v-else class="goods-type-list">
 | 
				
			||||||
        <h2 @click="showGoodsTemplates = !showGoodsTemplates">返回</h2>
 | 
					        <h2 @click="showGoodsTemplates = !showGoodsTemplates">返回</h2>
 | 
				
			||||||
        <div class="goods-type-item template-item" @click="handleClickGoodsTemplate(item)"
 | 
					        <div
 | 
				
			||||||
             v-for="(item,tempIndex) in goodsTemplates" :key="tempIndex">
 | 
					          class="goods-type-item template-item"
 | 
				
			||||||
 | 
					          @click="handleClickGoodsTemplate(item)"
 | 
				
			||||||
 | 
					          v-for="(item, tempIndex) in goodsTemplates"
 | 
				
			||||||
 | 
					          :key="tempIndex"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <img :src="item.thumbnail" />
 | 
					          <img :src="item.thumbnail" />
 | 
				
			||||||
          <div>
 | 
					          <div>
 | 
				
			||||||
            <h2>{{ item.goodsName }}</h2>
 | 
					            <h2>{{ item.goodsName }}</h2>
 | 
				
			||||||
            <p>{{ item.sellingPoint || '' }}</p>
 | 
					            <p>{{ item.sellingPoint || "" }}</p>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -28,22 +37,34 @@
 | 
				
			|||||||
    <div class="content-goods-publish">
 | 
					    <div class="content-goods-publish">
 | 
				
			||||||
      <div class="goods-category">
 | 
					      <div class="goods-category">
 | 
				
			||||||
        <ul v-if="categoryListLevel1.length > 0">
 | 
					        <ul v-if="categoryListLevel1.length > 0">
 | 
				
			||||||
          <li v-for="(item, index) in categoryListLevel1" :class="{ activeClass: category[0].name === item.name }"
 | 
					          <li
 | 
				
			||||||
              @click="handleSelectCategory(item, index, 1)" :key="index">
 | 
					            v-for="(item, index) in categoryListLevel1"
 | 
				
			||||||
 | 
					            :class="{ activeClass: category[0].name === item.name }"
 | 
				
			||||||
 | 
					            @click="handleSelectCategory(item, index, 1)"
 | 
				
			||||||
 | 
					            :key="index"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <span>{{ item.name }}</span>
 | 
					            <span>{{ item.name }}</span>
 | 
				
			||||||
            <span>></span>
 | 
					            <span>></span>
 | 
				
			||||||
          </li>
 | 
					          </li>
 | 
				
			||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
        <ul v-if="categoryListLevel2.length > 0">
 | 
					        <ul v-if="categoryListLevel2.length > 0">
 | 
				
			||||||
          <li v-for="(item, index) in categoryListLevel2" :class="{ activeClass: category[1].name === item.name }"
 | 
					          <li
 | 
				
			||||||
              @click="handleSelectCategory(item, index, 2)" :key="index">
 | 
					            v-for="(item, index) in categoryListLevel2"
 | 
				
			||||||
 | 
					            :class="{ activeClass: category[1].name === item.name }"
 | 
				
			||||||
 | 
					            @click="handleSelectCategory(item, index, 2)"
 | 
				
			||||||
 | 
					            :key="index"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <span>{{ item.name }}</span>
 | 
					            <span>{{ item.name }}</span>
 | 
				
			||||||
            <span>></span>
 | 
					            <span>></span>
 | 
				
			||||||
          </li>
 | 
					          </li>
 | 
				
			||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
        <ul v-if="categoryListLevel3.length > 0">
 | 
					        <ul v-if="categoryListLevel3.length > 0">
 | 
				
			||||||
          <li v-for="(item, index) in categoryListLevel3" :class="{ activeClass: category[2].name === item.name }"
 | 
					          <li
 | 
				
			||||||
              @click="handleSelectCategory(item, index, 3)" :key="index">
 | 
					            v-for="(item, index) in categoryListLevel3"
 | 
				
			||||||
 | 
					            :class="{ activeClass: category[2].name === item.name }"
 | 
				
			||||||
 | 
					            @click="handleSelectCategory(item, index, 3)"
 | 
				
			||||||
 | 
					            :key="index"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <span>{{ item.name }}</span>
 | 
					            <span>{{ item.name }}</span>
 | 
				
			||||||
          </li>
 | 
					          </li>
 | 
				
			||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
@ -100,19 +121,19 @@ export default {
 | 
				
			|||||||
      ],
 | 
					      ],
 | 
				
			||||||
      // 商品分类选择数组
 | 
					      // 商品分类选择数组
 | 
				
			||||||
      category: [
 | 
					      category: [
 | 
				
			||||||
        {name: '', id: ''},
 | 
					        { name: "", id: "" },
 | 
				
			||||||
        {name: '', id: ''},
 | 
					        { name: "", id: "" },
 | 
				
			||||||
        {name: '', id: ''}
 | 
					        { name: "", id: "" },
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      // 商品类型
 | 
					      // 商品类型
 | 
				
			||||||
      goodsType: '',
 | 
					      goodsType: "",
 | 
				
			||||||
      /** 1级分类列表*/
 | 
					      /** 1级分类列表*/
 | 
				
			||||||
      categoryListLevel1: [],
 | 
					      categoryListLevel1: [],
 | 
				
			||||||
      /** 2级分类列表*/
 | 
					      /** 2级分类列表*/
 | 
				
			||||||
      categoryListLevel2: [],
 | 
					      categoryListLevel2: [],
 | 
				
			||||||
      /** 3级分类列表*/
 | 
					      /** 3级分类列表*/
 | 
				
			||||||
      categoryListLevel3: [],
 | 
					      categoryListLevel3: [],
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    // 点击商品类型
 | 
					    // 点击商品类型
 | 
				
			||||||
@ -123,26 +144,25 @@ export default {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      val.check = !val.check;
 | 
					      val.check = !val.check;
 | 
				
			||||||
      if (!val.type) {
 | 
					      if (!val.type) {
 | 
				
			||||||
        this.GET_GoodsTemplate()
 | 
					        this.GET_GoodsTemplate();
 | 
				
			||||||
        this.showGoodsTemplates = true;
 | 
					        this.showGoodsTemplates = true;
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        this.goodsType = val.type;
 | 
					        this.goodsType = val.type;
 | 
				
			||||||
        this.selectedTemplate = {}
 | 
					        this.selectedTemplate = {};
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 点击商品模板
 | 
					    // 点击商品模板
 | 
				
			||||||
    handleClickGoodsTemplate(val) {
 | 
					    handleClickGoodsTemplate(val) {
 | 
				
			||||||
      console.log(val);
 | 
					 | 
				
			||||||
      this.selectedTemplate = val;
 | 
					      this.selectedTemplate = val;
 | 
				
			||||||
      this.selectGoodsType = false;
 | 
					      this.selectGoodsType = false;
 | 
				
			||||||
      this.$emit('change', {tempId: val.id})
 | 
					      this.$emit("change", { tempId: val.id });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 获取商品模板
 | 
					    // 获取商品模板
 | 
				
			||||||
    GET_GoodsTemplate() {
 | 
					    GET_GoodsTemplate() {
 | 
				
			||||||
      let searchParams = {
 | 
					      let searchParams = {
 | 
				
			||||||
        saveType: "TEMPLATE",
 | 
					        saveType: "TEMPLATE",
 | 
				
			||||||
        sort: "create_time",
 | 
					        sort: "create_time",
 | 
				
			||||||
        order: "desc"
 | 
					        order: "desc",
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      API_GOODS.getDraftGoodsListData(searchParams).then((res) => {
 | 
					      API_GOODS.getDraftGoodsListData(searchParams).then((res) => {
 | 
				
			||||||
        if (res.success) {
 | 
					        if (res.success) {
 | 
				
			||||||
@ -153,10 +173,9 @@ export default {
 | 
				
			|||||||
    /** 选择商城商品分类 */
 | 
					    /** 选择商城商品分类 */
 | 
				
			||||||
    handleSelectCategory(row, index, level) {
 | 
					    handleSelectCategory(row, index, level) {
 | 
				
			||||||
      if (level === 1) {
 | 
					      if (level === 1) {
 | 
				
			||||||
        this.category.forEach(cate => {
 | 
					        this.category.forEach((cate) => {
 | 
				
			||||||
          cate.name = '',
 | 
					          (cate.name = ""), (cate.id = "");
 | 
				
			||||||
          cate.id = ''
 | 
					        });
 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        this.category[0].name = row.name;
 | 
					        this.category[0].name = row.name;
 | 
				
			||||||
        this.category[0].id = row.id;
 | 
					        this.category[0].id = row.id;
 | 
				
			||||||
        this.categoryListLevel2 = this.categoryListLevel1[index].children;
 | 
					        this.categoryListLevel2 = this.categoryListLevel1[index].children;
 | 
				
			||||||
@ -164,12 +183,12 @@ export default {
 | 
				
			|||||||
      } else if (level === 2) {
 | 
					      } else if (level === 2) {
 | 
				
			||||||
        this.category[1].name = row.name;
 | 
					        this.category[1].name = row.name;
 | 
				
			||||||
        this.category[1].id = row.id;
 | 
					        this.category[1].id = row.id;
 | 
				
			||||||
        this.category[2].name = '';
 | 
					        this.category[2].name = "";
 | 
				
			||||||
        this.category[2].id = '';
 | 
					        this.category[2].id = "";
 | 
				
			||||||
        this.categoryListLevel3 = this.categoryListLevel2[index].children;
 | 
					        this.categoryListLevel3 = this.categoryListLevel2[index].children;
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        this.category[2].name = row.name
 | 
					        this.category[2].name = row.name;
 | 
				
			||||||
        this.category[2].id = row.id
 | 
					        this.category[2].id = row.id;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    /** 查询下一级 商城商品分类*/
 | 
					    /** 查询下一级 商城商品分类*/
 | 
				
			||||||
@ -185,8 +204,8 @@ export default {
 | 
				
			|||||||
    next() {
 | 
					    next() {
 | 
				
			||||||
      window.scrollTo(0, 0);
 | 
					      window.scrollTo(0, 0);
 | 
				
			||||||
      if (!this.goodsType && !this.selectedTemplate.goodsName) {
 | 
					      if (!this.goodsType && !this.selectedTemplate.goodsName) {
 | 
				
			||||||
        this.$Message.error('请选择商品类型')
 | 
					        this.$Message.error("请选择商品类型");
 | 
				
			||||||
        return
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (!this.category[0].name) {
 | 
					      if (!this.category[0].name) {
 | 
				
			||||||
        this.$Message.error("请选择商品分类");
 | 
					        this.$Message.error("请选择商品分类");
 | 
				
			||||||
@ -196,18 +215,17 @@ export default {
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
      } else if (this.category[2].name) {
 | 
					      } else if (this.category[2].name) {
 | 
				
			||||||
        if (this.selectedTemplate.id) {
 | 
					        if (this.selectedTemplate.id) {
 | 
				
			||||||
          this.$emit('change',{tempId: this.selectedTemplate.id})
 | 
					          this.$emit("change", { tempId: this.selectedTemplate.id });
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.$emit('change',{category: this.category,goodsType:this.goodsType})
 | 
					          this.$emit("change", { category: this.category, goodsType: this.goodsType });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.GET_NextLevelCategory()
 | 
					    this.GET_NextLevelCategory();
 | 
				
			||||||
    
 | 
					  },
 | 
				
			||||||
  }
 | 
					};
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang="scss" scoped>
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
@import "./addGoods.scss";
 | 
					@import "./addGoods.scss";
 | 
				
			||||||
 | 
				
			|||||||
@ -1279,6 +1279,9 @@ export default {
 | 
				
			|||||||
            delete sku.specValueId;
 | 
					            delete sku.specValueId;
 | 
				
			||||||
            return sku;
 | 
					            return sku;
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
 | 
					          if (this.firstData.tempId) {
 | 
				
			||||||
 | 
					            delete submit.id;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (submit.goodsGalleryFiles.length > 0) {
 | 
					          if (submit.goodsGalleryFiles.length > 0) {
 | 
				
			||||||
            submit.goodsGalleryList = submit.goodsGalleryFiles.map((i) => i.url);
 | 
					            submit.goodsGalleryList = submit.goodsGalleryFiles.map((i) => i.url);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,8 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div>
 | 
					  <div>
 | 
				
			||||||
    <Card style="position:relative;">
 | 
					    <Card style="position: relative">
 | 
				
			||||||
      <Spin size="large" fix v-if="spinShow"></Spin>
 | 
					      <Spin size="large" fix v-if="spinShow"></Spin>
 | 
				
			||||||
      <Alert type="warning">
 | 
					      <Alert type="warning">
 | 
				
			||||||
 | 
					 | 
				
			||||||
        <template slot="desc">
 | 
					        <template slot="desc">
 | 
				
			||||||
          为了方便在创建直播间时从选择商品,请尽量提前提审直播商品
 | 
					          为了方便在创建直播间时从选择商品,请尽量提前提审直播商品
 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
@ -11,64 +10,128 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      <Form :model="liveForm" ref="liveForm" :rules="liveRulesForm" :label-width="120">
 | 
					      <Form :model="liveForm" ref="liveForm" :rules="liveRulesForm" :label-width="120">
 | 
				
			||||||
        <FormItem label="直播标题" prop="name">
 | 
					        <FormItem label="直播标题" prop="name">
 | 
				
			||||||
          <Input :disabled="liveStatus!='NEW'" v-model="liveForm.name" style="width:460px"></Input>
 | 
					          <Input
 | 
				
			||||||
          <div class="tips">直播间名字,最短3个汉字,最长17个汉字,1个汉字相当于2个字符</div>
 | 
					            :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					            v-model="liveForm.name"
 | 
				
			||||||
 | 
					            style="width: 460px"
 | 
				
			||||||
 | 
					          ></Input>
 | 
				
			||||||
 | 
					          <div class="tips">
 | 
				
			||||||
 | 
					            直播间名字,最短3个汉字,最长17个汉字,1个汉字相当于2个字符
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
        <FormItem label="主播昵称" prop="anchorName">
 | 
					        <FormItem label="主播昵称" prop="anchorName">
 | 
				
			||||||
          <Input :disabled="liveStatus!='NEW'" v-model="liveForm.anchorName" style="width:360px"></Input>
 | 
					          <Input
 | 
				
			||||||
          <div class="tips">主播昵称,最短2个汉字,最长15个汉字,1个汉字相当于2个字符</div>
 | 
					            :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					            v-model="liveForm.anchorName"
 | 
				
			||||||
 | 
					            style="width: 360px"
 | 
				
			||||||
 | 
					          ></Input>
 | 
				
			||||||
 | 
					          <div class="tips">
 | 
				
			||||||
 | 
					            主播昵称,最短2个汉字,最长15个汉字,1个汉字相当于2个字符
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
        <FormItem label="直播时间" prop="startTime">
 | 
					        <FormItem label="直播时间" prop="startTime">
 | 
				
			||||||
 | 
					          <DatePicker
 | 
				
			||||||
          <DatePicker :disabled="liveStatus!='NEW'" format="yyyy-MM-dd HH:mm" type="datetimerange" v-model="times" @on-change="handleChangeTime" :options="optionsTime" placeholder="直播计划开始时间-直播计划结束时间"
 | 
					            :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
            style="width: 300px">
 | 
					            format="yyyy-MM-dd HH:mm"
 | 
				
			||||||
 | 
					            type="datetimerange"
 | 
				
			||||||
 | 
					            v-model="times"
 | 
				
			||||||
 | 
					            @on-change="handleChangeTime"
 | 
				
			||||||
 | 
					            :options="optionsTime"
 | 
				
			||||||
 | 
					            placeholder="直播计划开始时间-直播计划结束时间"
 | 
				
			||||||
 | 
					            style="width: 300px"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
          </DatePicker>
 | 
					          </DatePicker>
 | 
				
			||||||
          <div class="tips">直播开播时间需要在当前时间的10分钟后并且,开始时间不能在6个月后,直播计划结束时间(开播时间和结束时间间隔不得短于30分钟,不得超过24小时)</div>
 | 
					          <div class="tips">
 | 
				
			||||||
 | 
					            直播开播时间需要在当前时间的10分钟后并且,开始时间不能在6个月后,直播计划结束时间(开播时间和结束时间间隔不得短于30分钟,不得超过24小时)
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <FormItem label="主播微信号" prop="anchorWechat">
 | 
					        <FormItem label="主播微信号" prop="anchorWechat">
 | 
				
			||||||
          <Input :disabled="liveStatus!='NEW'" v-model="liveForm.anchorWechat" style="width:360px" placeholder="主播微信号"></Input>
 | 
					          <Input
 | 
				
			||||||
          <div class="tips">主播微信号,如果未实名认证,需要先前往“小程序直播”小程序进行<a target="_black" href="https://res.wx.qq.com/op_res/9rSix1dhHfK4rR049JL0PHJ7TpOvkuZ3mE0z7Ou_Etvjf-w1J_jVX0rZqeStLfwh">实名验证</a></div>
 | 
					            :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					            v-model="liveForm.anchorWechat"
 | 
				
			||||||
 | 
					            style="width: 360px"
 | 
				
			||||||
 | 
					            placeholder="主播微信号"
 | 
				
			||||||
 | 
					          ></Input>
 | 
				
			||||||
 | 
					          <div class="tips">
 | 
				
			||||||
 | 
					            主播微信号,如果未实名认证,需要先前往“小程序直播”小程序进行<a
 | 
				
			||||||
 | 
					              target="_black"
 | 
				
			||||||
 | 
					              href="https://res.wx.qq.com/op_res/9rSix1dhHfK4rR049JL0PHJ7TpOvkuZ3mE0z7Ou_Etvjf-w1J_jVX0rZqeStLfwh"
 | 
				
			||||||
 | 
					              >实名验证</a
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <!-- 分享卡片 -->
 | 
					        <!-- 分享卡片 -->
 | 
				
			||||||
        <FormItem label="分享卡片封面" prop="feedsImg">
 | 
					        <FormItem label="分享卡片封面" prop="feedsImg">
 | 
				
			||||||
          <div class="upload-list" v-if="liveForm.feedsImg">
 | 
					          <div class="upload-list" v-if="liveForm.feedsImg">
 | 
				
			||||||
            <template>
 | 
					            <template>
 | 
				
			||||||
              <img :src="liveForm.feedsImg">
 | 
					              <img :src="liveForm.feedsImg" />
 | 
				
			||||||
              <div class="upload-list-cover">
 | 
					              <div class="upload-list-cover">
 | 
				
			||||||
                <Icon type="ios-eye-outline" @click.native="handleView(liveForm.feedsImg)"></Icon>
 | 
					                <Icon
 | 
				
			||||||
                <Icon type="ios-trash-outline" @click.native="handleRemove('feedsImg')"></Icon>
 | 
					                  type="ios-eye-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleView(liveForm.feedsImg)"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
 | 
					                <Icon
 | 
				
			||||||
 | 
					                  type="ios-trash-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleRemove('feedsImg')"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <Upload v-if="liveForm.feedsImg.length ==0" ref="upload" :show-upload-list="false" :on-success="handleFeedsImgSuccess" :format="['jpg','jpeg','png']" :on-format-error="handleFormatError"
 | 
					          <Upload
 | 
				
			||||||
            :max-size="1024" :on-exceeded-size="handleMaxSize" type="drag" :action="action" :headers="accessToken" style="display: inline-block;width:58px;">
 | 
					            v-if="liveForm.feedsImg.length == 0"
 | 
				
			||||||
            <div style="width: 58px;height:58px;line-height: 58px;">
 | 
					            ref="upload"
 | 
				
			||||||
 | 
					            :show-upload-list="false"
 | 
				
			||||||
 | 
					            :on-success="handleFeedsImgSuccess"
 | 
				
			||||||
 | 
					            :format="['jpg', 'jpeg', 'png']"
 | 
				
			||||||
 | 
					            :on-format-error="handleFormatError"
 | 
				
			||||||
 | 
					            :max-size="1024"
 | 
				
			||||||
 | 
					            :on-exceeded-size="handleMaxSize"
 | 
				
			||||||
 | 
					            type="drag"
 | 
				
			||||||
 | 
					            :action="action"
 | 
				
			||||||
 | 
					            :headers="accessToken"
 | 
				
			||||||
 | 
					            style="display: inline-block; width: 58px"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <div style="width: 58px; height: 58px; line-height: 58px">
 | 
				
			||||||
              <Icon type="ios-camera" size="20"></Icon>
 | 
					              <Icon type="ios-camera" size="20"></Icon>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </Upload>
 | 
					          </Upload>
 | 
				
			||||||
          <div class="tips">
 | 
					          <div class="tips">直播间分享图,图片规则:建议像素800*640,大小不超过1M;</div>
 | 
				
			||||||
            直播间分享图,图片规则:建议像素800*640,大小不超过1M;
 | 
					 | 
				
			||||||
          </div>
 | 
					 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <!-- 直播间背景墙 -->
 | 
					        <!-- 直播间背景墙 -->
 | 
				
			||||||
        <FormItem label="直播间背景墙" prop="coverImg">
 | 
					        <FormItem label="直播间背景墙" prop="coverImg">
 | 
				
			||||||
 | 
					 | 
				
			||||||
          <div class="upload-list" v-if="liveForm.coverImg">
 | 
					          <div class="upload-list" v-if="liveForm.coverImg">
 | 
				
			||||||
            <template>
 | 
					            <template>
 | 
				
			||||||
              <img :src="liveForm.coverImg">
 | 
					              <img :src="liveForm.coverImg" />
 | 
				
			||||||
              <div class="upload-list-cover">
 | 
					              <div class="upload-list-cover">
 | 
				
			||||||
                <Icon type="ios-eye-outline" @click.native="handleView(liveForm.coverImg)"></Icon>
 | 
					                <Icon
 | 
				
			||||||
                <Icon type="ios-trash-outline" @click.native="handleRemove('coverImg')"></Icon>
 | 
					                  type="ios-eye-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleView(liveForm.coverImg)"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
 | 
					                <Icon
 | 
				
			||||||
 | 
					                  type="ios-trash-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleRemove('coverImg')"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <Upload v-if="liveForm.coverImg.length ==0" ref="upload" :show-upload-list="false" :on-success="handleCoverImgSuccess" :format="['jpg','jpeg','png']" :on-format-error="handleFormatError"
 | 
					          <Upload
 | 
				
			||||||
            :max-size="1024" :on-exceeded-size="handleMaxSize" type="drag" :action="action" :headers="accessToken" style="display: inline-block;width:58px;">
 | 
					            v-if="liveForm.coverImg.length == 0"
 | 
				
			||||||
            <div style="width: 58px;height:58px;line-height: 58px;">
 | 
					            ref="upload"
 | 
				
			||||||
 | 
					            :show-upload-list="false"
 | 
				
			||||||
 | 
					            :on-success="handleCoverImgSuccess"
 | 
				
			||||||
 | 
					            :format="['jpg', 'jpeg', 'png']"
 | 
				
			||||||
 | 
					            :on-format-error="handleFormatError"
 | 
				
			||||||
 | 
					            :max-size="1024"
 | 
				
			||||||
 | 
					            :on-exceeded-size="handleMaxSize"
 | 
				
			||||||
 | 
					            type="drag"
 | 
				
			||||||
 | 
					            :action="action"
 | 
				
			||||||
 | 
					            :headers="accessToken"
 | 
				
			||||||
 | 
					            style="display: inline-block; width: 58px"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <div style="width: 58px; height: 58px; line-height: 58px">
 | 
				
			||||||
              <Icon type="ios-camera" size="20"></Icon>
 | 
					              <Icon type="ios-camera" size="20"></Icon>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </Upload>
 | 
					          </Upload>
 | 
				
			||||||
@ -77,19 +140,36 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        <!-- 直播间背景墙 -->
 | 
					        <!-- 直播间背景墙 -->
 | 
				
			||||||
        <FormItem label="直播间分享图" prop="shareImg">
 | 
					        <FormItem label="直播间分享图" prop="shareImg">
 | 
				
			||||||
 | 
					 | 
				
			||||||
          <div class="upload-list" v-if="liveForm.shareImg">
 | 
					          <div class="upload-list" v-if="liveForm.shareImg">
 | 
				
			||||||
            <template>
 | 
					            <template>
 | 
				
			||||||
              <img :src="liveForm.shareImg">
 | 
					              <img :src="liveForm.shareImg" />
 | 
				
			||||||
              <div class="upload-list-cover">
 | 
					              <div class="upload-list-cover">
 | 
				
			||||||
                <Icon type="ios-eye-outline" @click.native="handleView(liveForm.shareImg)"></Icon>
 | 
					                <Icon
 | 
				
			||||||
                <Icon type="ios-trash-outline" @click.native="handleRemove('shareImg')"></Icon>
 | 
					                  type="ios-eye-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleView(liveForm.shareImg)"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
 | 
					                <Icon
 | 
				
			||||||
 | 
					                  type="ios-trash-outline"
 | 
				
			||||||
 | 
					                  @click.native="handleRemove('shareImg')"
 | 
				
			||||||
 | 
					                ></Icon>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <Upload v-if="liveForm.shareImg.length ==0" ref="upload" :show-upload-list="false" :on-success="handleShareImgSuccess" :format="['jpg','jpeg','png']" :on-format-error="handleFormatError"
 | 
					          <Upload
 | 
				
			||||||
            :max-size="1024" :on-exceeded-size="handleMaxSize" type="drag" :action="action" :headers="accessToken" style="display: inline-block;width:58px;">
 | 
					            v-if="liveForm.shareImg.length == 0"
 | 
				
			||||||
            <div style="width: 58px;height:58px;line-height: 58px;">
 | 
					            ref="upload"
 | 
				
			||||||
 | 
					            :show-upload-list="false"
 | 
				
			||||||
 | 
					            :on-success="handleShareImgSuccess"
 | 
				
			||||||
 | 
					            :format="['jpg', 'jpeg', 'png']"
 | 
				
			||||||
 | 
					            :on-format-error="handleFormatError"
 | 
				
			||||||
 | 
					            :max-size="1024"
 | 
				
			||||||
 | 
					            :on-exceeded-size="handleMaxSize"
 | 
				
			||||||
 | 
					            type="drag"
 | 
				
			||||||
 | 
					            :action="action"
 | 
				
			||||||
 | 
					            :headers="accessToken"
 | 
				
			||||||
 | 
					            style="display: inline-block; width: 58px"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <div style="width: 58px; height: 58px; line-height: 58px">
 | 
				
			||||||
              <Icon type="ios-camera" size="20"></Icon>
 | 
					              <Icon type="ios-camera" size="20"></Icon>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </Upload>
 | 
					          </Upload>
 | 
				
			||||||
@ -97,20 +177,32 @@
 | 
				
			|||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <FormItem label="商品" v-if="$route.query.id">
 | 
					        <FormItem label="商品" v-if="$route.query.id">
 | 
				
			||||||
          <Button type="primary" ghost @click="liveGoodsVisible=true" :disabled="liveStatus!='NEW'" icon="md-add">添加商品</Button>
 | 
					          <Button
 | 
				
			||||||
 | 
					            type="primary"
 | 
				
			||||||
 | 
					            ghost
 | 
				
			||||||
 | 
					            @click="liveGoodsVisible = true"
 | 
				
			||||||
 | 
					            :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					            icon="md-add"
 | 
				
			||||||
 | 
					            >添加商品</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
          <Table class="goods-table" :columns="liveColumns" :data="liveData">
 | 
					          <Table class="goods-table" :columns="liveColumns" :data="liveData">
 | 
				
			||||||
            <template slot-scope="{ row, index }" slot="goodsName">
 | 
					            <template slot-scope="{ row, index }" slot="goodsName">
 | 
				
			||||||
              <div class="flex-goods">
 | 
					              <div class="flex-goods">
 | 
				
			||||||
                <Badge v-if="index == 0 || index == 1" color="volcano"></Badge>
 | 
					                <Badge v-if="index == 0 || index == 1" color="volcano"></Badge>
 | 
				
			||||||
                <img class="thumbnail" :src="row.thumbnail || row.goodsImage">
 | 
					                <img class="thumbnail" :src="row.thumbnail || row.goodsImage" />
 | 
				
			||||||
                {{ row.goodsName || row.name }}
 | 
					                {{ row.goodsName || row.name }}
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
            <template slot-scope="{ row }" class="price" slot="price">
 | 
					            <template slot-scope="{ row }" class="price" slot="price">
 | 
				
			||||||
              <div>
 | 
					              <div>
 | 
				
			||||||
                <div v-if="row.priceType == 1">{{row.price | unitPrice('¥')}}</div>
 | 
					                <div v-if="row.priceType == 1">{{ row.price | unitPrice("¥") }}</div>
 | 
				
			||||||
                <div v-if="row.priceType == 2">{{row.price | unitPrice('¥')}}至{{row.price2 | unitPrice('¥')}}</div>
 | 
					                <div v-if="row.priceType == 2">
 | 
				
			||||||
                <div v-if="row.priceType == 3">{{row.price | unitPrice('¥')}}<span class="original-price">{{row.price2 | unitPrice('¥')}}</span></div>
 | 
					                  {{ row.price | unitPrice("¥") }}至{{ row.price2 | unitPrice("¥") }}
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div v-if="row.priceType == 3">
 | 
				
			||||||
 | 
					                  {{ row.price | unitPrice("¥")
 | 
				
			||||||
 | 
					                  }}<span class="original-price">{{ row.price2 | unitPrice("¥") }}</span>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
            <template slot-scope="{ row }" slot="quantity">
 | 
					            <template slot-scope="{ row }" slot="quantity">
 | 
				
			||||||
@ -118,9 +210,29 @@
 | 
				
			|||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
            <template slot-scope="{ row, index }" slot="action">
 | 
					            <template slot-scope="{ row, index }" slot="action">
 | 
				
			||||||
              <div class="action">
 | 
					              <div class="action">
 | 
				
			||||||
                <Button size="small" type="primary" :disabled="liveStatus!='NEW'" @click="deleteGoods(row,index)">删除</Button>
 | 
					                <Button
 | 
				
			||||||
                <Button size="small" ghost type="primary" :disabled="liveStatus!='NEW'" @click="onMove(row.id,1)">上移</Button>
 | 
					                  size="small"
 | 
				
			||||||
                <Button size="small" ghost type="primary" :disabled="liveStatus!='NEW'" @click="onMove(row.id,0)">下移</Button>
 | 
					                  type="primary"
 | 
				
			||||||
 | 
					                  :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					                  @click="deleteGoods(row, index)"
 | 
				
			||||||
 | 
					                  >删除</Button
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                <Button
 | 
				
			||||||
 | 
					                  size="small"
 | 
				
			||||||
 | 
					                  ghost
 | 
				
			||||||
 | 
					                  type="primary"
 | 
				
			||||||
 | 
					                  :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					                  @click="onMove(row.id, 1)"
 | 
				
			||||||
 | 
					                  >上移</Button
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                <Button
 | 
				
			||||||
 | 
					                  size="small"
 | 
				
			||||||
 | 
					                  ghost
 | 
				
			||||||
 | 
					                  type="primary"
 | 
				
			||||||
 | 
					                  :disabled="liveStatus != 'NEW'"
 | 
				
			||||||
 | 
					                  @click="onMove(row.id, 0)"
 | 
				
			||||||
 | 
					                  >下移</Button
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
          </Table>
 | 
					          </Table>
 | 
				
			||||||
@ -130,13 +242,15 @@
 | 
				
			|||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <FormItem>
 | 
					        <FormItem>
 | 
				
			||||||
          <Button type="primary" v-if="liveStatus=='NEW'" @click="createLives()">保存</Button>
 | 
					          <Button type="primary" v-if="liveStatus == 'NEW'" @click="createLives()"
 | 
				
			||||||
 | 
					            >保存</Button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
        </FormItem>
 | 
					        </FormItem>
 | 
				
			||||||
      </Form>
 | 
					      </Form>
 | 
				
			||||||
    </Card>
 | 
					    </Card>
 | 
				
			||||||
    <!-- 浏览图片 -->
 | 
					    <!-- 浏览图片 -->
 | 
				
			||||||
    <Modal title="查看图片" v-model="imageVisible">
 | 
					    <Modal title="查看图片" v-model="imageVisible">
 | 
				
			||||||
      <img :src="imageSrc" v-if="imageVisible" style="width: 100%">
 | 
					      <img :src="imageSrc" v-if="imageVisible" style="width: 100%" />
 | 
				
			||||||
    </Modal>
 | 
					    </Modal>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <Modal width="800" v-model="liveGoodsVisible" footer-hide>
 | 
					    <Modal width="800" v-model="liveGoodsVisible" footer-hide>
 | 
				
			||||||
@ -184,24 +298,16 @@ export default {
 | 
				
			|||||||
          { required: true, message: "请输入主播昵称", trigger: "blur" },
 | 
					          { required: true, message: "请输入主播昵称", trigger: "blur" },
 | 
				
			||||||
          { max: 15, min: 2, message: "主播昵称最短2个汉字,最长15个汉字" },
 | 
					          { max: 15, min: 2, message: "主播昵称最短2个汉字,最长15个汉字" },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        anchorWechat: [
 | 
					        anchorWechat: [{ required: true, message: "请输入主播微信号", trigger: "blur" }],
 | 
				
			||||||
          { required: true, message: "请输入主播微信号", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        startTime: [
 | 
					        startTime: [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            required: true,
 | 
					            required: true,
 | 
				
			||||||
            message: "请正确输入开始时间以及结束时间",
 | 
					            message: "请正确输入开始时间以及结束时间",
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        feedsImg: [
 | 
					        feedsImg: [{ required: true, message: "分享卡片封面不能为空", trigger: "blur" }],
 | 
				
			||||||
          { required: true, message: "分享卡片封面不能为空", trigger: "blur" },
 | 
					        coverImg: [{ required: true, message: "直播间背景墙不能为空", trigger: "blur" }],
 | 
				
			||||||
        ],
 | 
					        shareImg: [{ required: true, message: "直播间分享图不能为空", trigger: "blur" }],
 | 
				
			||||||
        coverImg: [
 | 
					 | 
				
			||||||
          { required: true, message: "直播间背景墙不能为空", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        shareImg: [
 | 
					 | 
				
			||||||
          { required: true, message: "直播间分享图不能为空", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      liveForm: {
 | 
					      liveForm: {
 | 
				
			||||||
        name: "", //直播标题
 | 
					        name: "", //直播标题
 | 
				
			||||||
@ -438,16 +544,8 @@ export default {
 | 
				
			|||||||
        this.times[1] = daterange[1];
 | 
					        this.times[1] = daterange[1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // this.times = daterange;
 | 
					        // this.times = daterange;
 | 
				
			||||||
        this.$set(
 | 
					        this.$set(this.liveForm, "startTime", new Date(daterange[0]).getTime() / 1000);
 | 
				
			||||||
          this.liveForm,
 | 
					        this.$set(this.liveForm, "endTime", new Date(daterange[1]).getTime() / 1000);
 | 
				
			||||||
          "startTime",
 | 
					 | 
				
			||||||
          new Date(daterange[0]).getTime() / 1000
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        this.$set(
 | 
					 | 
				
			||||||
          this.liveForm,
 | 
					 | 
				
			||||||
          "endTime",
 | 
					 | 
				
			||||||
          new Date(daterange[1]).getTime() / 1000
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -493,9 +591,7 @@ export default {
 | 
				
			|||||||
          // 需判断当前是否是添加商品
 | 
					          // 需判断当前是否是添加商品
 | 
				
			||||||
          if (this.$route.query.id) {
 | 
					          if (this.$route.query.id) {
 | 
				
			||||||
            this.spinShow = true;
 | 
					            this.spinShow = true;
 | 
				
			||||||
            this.liveForm.commodityList = JSON.stringify(
 | 
					            this.liveForm.commodityList = JSON.stringify(this.liveForm.commodityList);
 | 
				
			||||||
              this.liveForm.commodityList
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
            delete this.liveForm.updateTime;
 | 
					            delete this.liveForm.updateTime;
 | 
				
			||||||
            // 将当前直播间修改
 | 
					            // 将当前直播间修改
 | 
				
			||||||
            editLive(this.liveForm).then((res) => {
 | 
					            editLive(this.liveForm).then((res) => {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user