a
doum
13 小时以前 6d45e1bd9a6527015c09e60e47b53e3a3ffb269b
admin/src/views/business/shop.vue
@@ -2,58 +2,37 @@
  <TableLayout :permissions="['business:shop:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="店铺名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入店铺名称" @keypress.enter.native="search"></el-input>
      <el-form-item label="名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="店铺状态" prop="status">
      <el-form-item label="登录账号" prop="name">
        <el-input v-model="searchForm.username" placeholder="请输入登录账号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="销售模式" prop="saleType" >
        <!-- 0正常 1禁用 -->
        <el-select
          v-model="searchForm.status"
          placeholder="请选择店铺状态"
        >
          <el-option
            :key="0"
            :value="0"
            label="正常"
          ></el-option>
          <el-option
            :key="1"
            :value="1"
            label="禁用"
          ></el-option>
        <el-select     v-model="searchForm.saleType"  placeholder="销售模式"  @change="search"  >
          <el-option  :key="0" :value="0"  label="平台铺货"  ></el-option>
          <el-option   :key="1" :value="1" label="自主采购"  ></el-option>
        </el-select>
        <!-- <el-input v-model="searchForm.status" placeholder="请输入状态0正常 1禁用" @keypress.enter.native="search"></el-input> -->
      </el-form-item>
      <el-form-item label="推荐" prop="isrec">
        <!-- 0否 1是 -->
        <el-select
          v-model="searchForm.isrec"
          placeholder="请选择店铺状态"
        >
          <el-option
            :key="0"
            :value="0"
            label="否"
          ></el-option>
          <el-option
            :key="1"
            :value="1"
            label="是"
          ></el-option>
      <el-form-item label="状态" prop="status">
        <!-- 0正常 1禁用 -->
        <el-select     v-model="searchForm.status"  placeholder="请选择状态"    @change="search"   >
          <el-option  :key="0" :value="0"  label="正常"  ></el-option>
          <el-option   :key="1" :value="1" label="禁用"  ></el-option>
        </el-select>
        <!-- <el-input v-model="searchForm.isrec" placeholder="请输入是否推荐0否 1是" @keypress.enter.native="search"></el-input> -->
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <!-- <el-button type="primary" @click="showDetail">搜索</el-button> -->
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:shop:create', 'business:shop:delete']">
        <li><el-button type="primary" @click="$refs.operaShopWindow.open('新建店铺')" icon="el-icon-plus" v-permissions="['business:shop:create']">新建</el-button></li>
      <ul class="toolbar" >
        <li><el-button type="primary" @click="$refs.operaShopWindow.open('新建经销商')" icon="el-icon-plus" v-permissions="['business:shop:create']">新建</el-button></li>
        <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:shop:delete']">删除</el-button></li> -->
        <li><p class="tip-warn" style="width: 100%;margin-left: 20px;"><i class="el-icon-warning"></i>提示:【供货价设置】只统计上架状态的商品价格设置数据,(已定价商品数/全部商品数)</p></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
@@ -63,37 +42,49 @@
        @selection-change="handleSelectionChange"
      >
        <!-- <el-table-column type="selection" width="55"></el-table-column> -->
        <el-table-column prop="name" label="店铺名称" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="imgurl" label="店铺LOGO" align="center" min-width="100px">
        <el-table-column prop="name" label="名称" fixed align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-image :scr="row.imgFullUrl + row.imgurl" :preview-src-list="[row.imgFullUrl + row.imgurl]"></el-image>
            <el-button type="text" @click="showDetail(row)">{{row.name}}</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="addr" label="地址" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="门店ID" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="integral" label="现有积分" align="center" min-width="100px">
          <template slot-scope="{row}">
            <span class="orange">{{(row.integral || 0).toFixed(0)}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="totalIntegral" label="累计积分" align="center" min-width="100px">
          <template slot-scope="{row}">
            <span class="orange">  {{(row.totalIntegral || 0).toFixed(0)}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="username" label="登录账号" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="bigAreaName" label="所属区域" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="areaFullName" label="省市区" align="center" min-width="150px" show-overflow-tooltip>
          <template slot-scope="{row}">
            <span v-if="row.areas!=null">{{(row.areas.provinceName||'') + (row.areas.cityName||'') + (row.areas.name||'')}}</span>
          </template>
        </el-table-column>
<!--        <el-table-column prop="imgurl" label="门头图" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-image v-if=" row.imgurl" :scr="row.imgFullUrl + row.imgurl" :preview-src-list="[row.imgFullUrl + row.imgurl]"></el-image>
          </template>
        </el-table-column>-->
        <el-table-column prop="addr" label="详细地址" align="center" min-width="150px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="realname" label="联系人" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="phone" label="联系电话" align="center" min-width="150px"></el-table-column>
        <el-table-column prop="saleType"  label="销售模式" align="center" min-width="150px">
          <template slot-scope="{row}">
            {{ row.saleType == 1?'自主采购':'平台铺货'}}
          </template>
        </el-table-column>
        <el-table-column prop="shopPrice" label="供货价设置" min-width="100px" align="center">
          <template slot-scope="{row}" >
            <div title="针对上架商品价格设置统计" @click="goPriceSet(row)" style="cursor:pointer;"><span  class="red"> {{row.pricedGoodsNum||0}}</span> / <span class="green"> {{row.goodsNum||0}}</span>  </div>
          </template>
        </el-table-column>
        <el-table-column prop="createDate" label="创建时间" align="center" min-width="140px"></el-table-column>
        <el-table-column label="负责人" align="center" min-width="150px">
          <template slot-scope="{row}">
            {{ `${row.nickName} ${row.memberPhone}` }}
          </template>
        </el-table-column>
        <el-table-column label="经销商数据" align="center" min-width="150px">
          <template slot-scope="{row}">
            <el-button type="text" @click="showDetail(row)">查看</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="isrec" label="是否推荐" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.isrec"
              active-color="#13ce66"
              inactive-color="#999"
              :active-value="1"
              :inactive-value="0"
              @change="statusChange(row)"
            ></el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="status" label="状态" align="center" min-width="100px">
        <el-table-column prop="status" label="状态" align="center" min-width="100px" fixed="right">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.status"
@@ -105,38 +96,18 @@
            ></el-switch>
          </template>
        </el-table-column>
        <!-- <el-table-column prop="editor" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="isdeleted" label="是否删除0否 1是" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="sex" label="性别 0男 1女 2未知" min-width="100px"></el-table-column>
        <el-table-column prop="idcard" label="身份证号" min-width="100px"></el-table-column>
        <el-table-column prop="idcardImg" label="身份证正面照" min-width="100px"></el-table-column>
        <el-table-column prop="idcardImgBack" label="身份证反面照" min-width="100px"></el-table-column>
        <el-table-column prop="businessImg" label="营业执照" min-width="100px"></el-table-column>
        <el-table-column prop="longitude" label="定位经度" min-width="100px"></el-table-column>
        <el-table-column prop="latitude" label="定位维度" min-width="100px"></el-table-column>
        <el-table-column prop="areaId" label="所属县区编码(关联areas)" min-width="100px"></el-table-column>
        <el-table-column prop="info" label="店铺描述" min-width="100px"></el-table-column>
        <el-table-column prop="origin" label="数据来源 0小程序申请 1后台录入" min-width="100px"></el-table-column>
        <el-table-column prop="memberId" label="用户编码(关联member表)" min-width="100px"></el-table-column>
        <el-table-column prop="applyId" label="申请编码(关联shop_apply表)" min-width="100px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="looknum" label="总浏览量" min-width="100px"></el-table-column>
        <el-table-column prop="startTime" label="营业开始时间" min-width="100px"></el-table-column>
        <el-table-column prop="endTime" label="营业结束时间" min-width="100px"></el-table-column>
        <el-table-column prop="brandStory" label="品牌故事" min-width="100px"></el-table-column> -->
        <el-table-column
          v-if="containPermissions(['business:shop:update', 'business:shop:delete'])"
          label="操作"
          min-width="120"
          min-width="280"
          fixed="right"
          align="center"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaShopWindow.open('编辑店铺', row)" icon="el-icon-edit" v-permissions="['business:shop:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:shop:delete']">删除</el-button>
            <el-button type="text" @click="$refs.operaShopWindow.open('编辑经销商', row)" icon="el-icon-edit" v-permissions="['business:shop:update']">编辑</el-button>
            <el-button type="text" v-permissions="['business:shop:update']" icon="el-icon-edit" @click="goPriceSet(row)">供货价</el-button>
            <el-button type="text" @click="resetPwd(row)" icon="el-icon-edit"  v-permissions="['business:shop:update']">重置密码</el-button>
            <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:shop:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -149,7 +120,9 @@
    </template>
    <!-- 新建/修改 -->
    <OperaShopWindow ref="operaShopWindow" @success="handlePageChange"/>
    <OperaShopDetailWindow ref="operaShopDetailWindow" />
    <OperaShopInfoWindow ref="OperaShopInfoWindow" />
    <ResetPwdShopWindow ref="resetPwdWindow"/>
    <OperaGoodsShopWindow ref="OperaGoodsShopWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
@@ -158,26 +131,30 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaShopWindow from '@/components/business/OperaShopWindow'
import OperaShopDetailWindow from '@/components/business/OperaShopDetailWindow'
import { updateIsRecById } from '@/api/business/shop'
import OperaShopInfoWindow from '@/components/business/OperaShopInfoWindow'
import OperaGoodsShopWindow from '@/components/business/OperaGoodsShopWindow'
import { resetPwd, updateIsRecById } from '@/api/business/shop'
import ResetPwdShopWindow from '@/components/business/ResetPwdShopWindow'
export default {
  name: 'Shop',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaShopWindow, OperaShopDetailWindow },
  components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow,OperaGoodsShopWindow },
  data () {
    return {
      // 搜索
      searchForm: {
        name: '',
        username: '',
        status: '',
        isrec: '',
        saleType: '',
        isrec: ''
      }
    }
  },
  created () {
    this.config({
      module: '店铺基本信息表',
      module: '经销商基本信息表',
      api: '/business/shop',
      'field.id': 'id',
      'field.main': 'id'
@@ -185,7 +162,27 @@
    this.search()
  },
  methods: {
    statusChange(row) {
    goPriceSet(row){
      this.$refs.OperaGoodsShopWindow.open('设置供货价 - '+row.name, row )
    },
    resetPwd (row) {
      this.$dialog.messageWaring('确认重置该经销商【' + row.name + '】的登录密码吗?')
        .then(() => {
          resetPwd({
            id: row.id
          })
            .then(() => {
              this.$tip.apiSuccess('密码重置成功')
            })
            .catch(e => {
              this.$tip.apiFailed(e)
            })
            .finally(() => {
            })
        })
    },
    statusChange (row) {
      updateIsRecById(row)
        .then(() => {
          this.$message.success('操作成功')
@@ -197,9 +194,9 @@
          this.handlePageChange()
        })
    },
    showDetail(row) {
      this.$refs.operaShopDetailWindow.open('店铺详情', row)
    showDetail (row) {
      this.$refs.OperaShopInfoWindow.open('经销商详情【'+row.name+'】', row)
    }
  },
  }
}
</script>