fix: 创建新商户
This commit is contained in:
		
							parent
							
								
									66ba90718d
								
							
						
					
					
						commit
						cb32ba47ef
					
				| 
						 | 
					@ -18,7 +18,7 @@ export function setMerchantPermissions(data) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function shopBaseConfig(query, data) {
 | 
					export function shopBaseConfig(query, data) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/shop/base_config',
 | 
					    url: '/merchant-api/shop/base_config',
 | 
				
			||||||
    method: 'put',
 | 
					    method: 'put',
 | 
				
			||||||
    params: query,
 | 
					    params: query,
 | 
				
			||||||
    data
 | 
					    data
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ export function shopBaseConfig(query, data) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function listPlatformCategory(params) {
 | 
					export function listPlatformCategory(params) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/category/list',
 | 
					    url: '/merchant-api/category/list',
 | 
				
			||||||
    method: 'get',
 | 
					    method: 'get',
 | 
				
			||||||
    params
 | 
					    params
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,8 +8,16 @@
 | 
				
			||||||
      :rules="rules"
 | 
					      :rules="rules"
 | 
				
			||||||
      style="max-width: 600px"
 | 
					      style="max-width: 600px"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <el-form-item v-if="!marketId && markets.length > 0" label="选择市场" prop="selectedMarketId">
 | 
					      <el-form-item
 | 
				
			||||||
        <el-select v-model="form.selectedMarketId" placeholder="请选择市场" style="width: 100%">
 | 
					        v-if="!marketId && markets.length > 0"
 | 
				
			||||||
 | 
					        label="选择市场"
 | 
				
			||||||
 | 
					        prop="selectedMarketId"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        <el-select
 | 
				
			||||||
 | 
					          v-model="form.selectedMarketId"
 | 
				
			||||||
 | 
					          placeholder="请选择市场"
 | 
				
			||||||
 | 
					          style="width: 100%"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <el-option
 | 
					          <el-option
 | 
				
			||||||
            v-for="market in markets"
 | 
					            v-for="market in markets"
 | 
				
			||||||
            :key="market.marketId"
 | 
					            :key="market.marketId"
 | 
				
			||||||
| 
						 | 
					@ -20,7 +28,11 @@
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <el-form-item label="操作类型" prop="operationType">
 | 
					      <el-form-item label="操作类型" prop="operationType">
 | 
				
			||||||
        <el-select v-model="form.operationType" placeholder="请选择操作类型" style="width: 100%">
 | 
					        <el-select
 | 
				
			||||||
 | 
					          v-model="form.operationType"
 | 
				
			||||||
 | 
					          placeholder="请选择操作类型"
 | 
				
			||||||
 | 
					          style="width: 100%"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
          <el-option label="创建新商户" value="create"></el-option>
 | 
					          <el-option label="创建新商户" value="create"></el-option>
 | 
				
			||||||
          <el-option label="维护商户信息" value="update"></el-option>
 | 
					          <el-option label="维护商户信息" value="update"></el-option>
 | 
				
			||||||
        </el-select>
 | 
					        </el-select>
 | 
				
			||||||
| 
						 | 
					@ -28,10 +40,17 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <template v-if="form.operationType === 'create'">
 | 
					      <template v-if="form.operationType === 'create'">
 | 
				
			||||||
        <el-form-item label="商户账号" prop="mobile">
 | 
					        <el-form-item label="商户账号" prop="mobile">
 | 
				
			||||||
          <el-input v-model="form.mobile" placeholder="请输入商户账号"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.mobile"
 | 
				
			||||||
 | 
					            placeholder="请输入商户账号"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="密码" prop="password">
 | 
					        <el-form-item label="密码" prop="password">
 | 
				
			||||||
          <el-input v-model="form.password" type="password" placeholder="请输入密码"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.password"
 | 
				
			||||||
 | 
					            type="password"
 | 
				
			||||||
 | 
					            placeholder="请输入密码"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <h3>店铺基础信息</h3>
 | 
					        <h3>店铺基础信息</h3>
 | 
				
			||||||
| 
						 | 
					@ -39,7 +58,11 @@
 | 
				
			||||||
          <el-input v-model="form.name" placeholder="请输入摊位名称"></el-input>
 | 
					          <el-input v-model="form.name" placeholder="请输入摊位名称"></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="主营类目" prop="categoryId">
 | 
					        <el-form-item label="主营类目" prop="categoryId">
 | 
				
			||||||
          <el-select v-model="form.categoryId" placeholder="请选择主营类目" style="width: 100%">
 | 
					          <el-select
 | 
				
			||||||
 | 
					            v-model="form.categoryId"
 | 
				
			||||||
 | 
					            placeholder="请选择主营类目"
 | 
				
			||||||
 | 
					            style="width: 100%"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in categoryList"
 | 
					              v-for="item in categoryList"
 | 
				
			||||||
              :key="item.id"
 | 
					              :key="item.id"
 | 
				
			||||||
| 
						 | 
					@ -50,22 +73,27 @@
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="摊位背景图" prop="background">
 | 
					        <el-form-item label="摊位背景图" prop="background">
 | 
				
			||||||
          <el-upload
 | 
					          <el-upload
 | 
				
			||||||
            class="avatar-uploader"
 | 
					            accept="image/*"
 | 
				
			||||||
            :action="uploadUrl"
 | 
					            :action="uploadUrl"
 | 
				
			||||||
 | 
					            list-type="picture-card"
 | 
				
			||||||
            :headers="uploadHeaders"
 | 
					            :headers="uploadHeaders"
 | 
				
			||||||
            :show-file-list="false"
 | 
					            :show-file-list="false"
 | 
				
			||||||
            :on-success="handleBackgroundSuccess"
 | 
					            :on-success="handleBackgroundSuccess"
 | 
				
			||||||
            :before-upload="beforeAvatarUpload"
 | 
					            :before-upload="beforeAvatarUpload"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            <img v-if="form.background" :src="form.background" class="avatar">
 | 
					            <img v-if="form.background" :src="form.background" width="148px" height="148px" />
 | 
				
			||||||
            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
 | 
					            <i v-else class="el-icon-plus"></i>
 | 
				
			||||||
          </el-upload>
 | 
					          </el-upload>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="摊位联系电话" prop="contactPhone">
 | 
					        <el-form-item label="摊位联系电话" prop="contactPhone">
 | 
				
			||||||
          <el-input v-model="form.contactPhone" placeholder="请输入联系电话/手机号"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.contactPhone"
 | 
				
			||||||
 | 
					            placeholder="请输入联系电话/手机号"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="摊位照片" prop="fileList">
 | 
					        <el-form-item label="摊位照片" prop="fileList">
 | 
				
			||||||
          <el-upload
 | 
					          <el-upload
 | 
				
			||||||
 | 
					            accept="image/*"
 | 
				
			||||||
            :action="uploadUrl"
 | 
					            :action="uploadUrl"
 | 
				
			||||||
            :headers="uploadHeaders"
 | 
					            :headers="uploadHeaders"
 | 
				
			||||||
            list-type="picture-card"
 | 
					            list-type="picture-card"
 | 
				
			||||||
| 
						 | 
					@ -78,13 +106,20 @@
 | 
				
			||||||
          </el-upload>
 | 
					          </el-upload>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="摊位位置" prop="address">
 | 
					        <el-form-item label="摊位位置" prop="address">
 | 
				
			||||||
          <el-input v-model="form.address" placeholder="请输入摊位位置"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.address"
 | 
				
			||||||
 | 
					            placeholder="请输入摊位位置"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="摊位详细地址" prop="detailAddress">
 | 
					        <el-form-item label="摊位详细地址" prop="detailAddress">
 | 
				
			||||||
          <el-input v-model="form.detailAddress" placeholder="请输入摊位详细地址"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.detailAddress"
 | 
				
			||||||
 | 
					            placeholder="请输入摊位详细地址"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="许可证" prop="permits">
 | 
					        <el-form-item label="许可证" prop="permits">
 | 
				
			||||||
          <el-upload
 | 
					          <el-upload
 | 
				
			||||||
 | 
					            accept="image/*"
 | 
				
			||||||
            :action="uploadUrl"
 | 
					            :action="uploadUrl"
 | 
				
			||||||
            :headers="uploadHeaders"
 | 
					            :headers="uploadHeaders"
 | 
				
			||||||
            list-type="picture-card"
 | 
					            list-type="picture-card"
 | 
				
			||||||
| 
						 | 
					@ -106,30 +141,41 @@
 | 
				
			||||||
            range-separator="至"
 | 
					            range-separator="至"
 | 
				
			||||||
            start-placeholder="开始时间"
 | 
					            start-placeholder="开始时间"
 | 
				
			||||||
            end-placeholder="结束时间"
 | 
					            end-placeholder="结束时间"
 | 
				
			||||||
            placeholder="选择时间范围">
 | 
					            placeholder="选择时间范围"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
          </el-time-picker>
 | 
					          </el-time-picker>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="顾客自提点位置" prop="pickName">
 | 
					        <el-form-item label="顾客自提点位置" prop="pickName">
 | 
				
			||||||
          <el-input v-model="form.pickName" placeholder="请输入顾客自提点位置"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.pickName"
 | 
				
			||||||
 | 
					            placeholder="请输入顾客自提点位置"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="自提点详细地址" prop="pickAddress">
 | 
					        <el-form-item label="自提点详细地址" prop="pickAddress">
 | 
				
			||||||
          <el-input v-model="form.pickAddress" placeholder="请输入自提点详细地址"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="form.pickAddress"
 | 
				
			||||||
 | 
					            placeholder="请输入自提点详细地址"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="自提点位置示意图" prop="pickImg">
 | 
					        <el-form-item label="自提点位置示意图" prop="pickImg">
 | 
				
			||||||
          <el-upload
 | 
					          <el-upload
 | 
				
			||||||
            class="avatar-uploader"
 | 
					            accept="image/*"
 | 
				
			||||||
            :action="uploadUrl"
 | 
					            :action="uploadUrl"
 | 
				
			||||||
 | 
					            list-type="picture-card"
 | 
				
			||||||
            :headers="uploadHeaders"
 | 
					            :headers="uploadHeaders"
 | 
				
			||||||
            :show-file-list="false"
 | 
					            :show-file-list="false"
 | 
				
			||||||
            :on-success="handlePickImgSuccess"
 | 
					            :on-success="handlePickImgSuccess"
 | 
				
			||||||
            :before-upload="beforeAvatarUpload"
 | 
					            :before-upload="beforeAvatarUpload"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            <img v-if="form.pickImg" :src="form.pickImg" class="avatar">
 | 
					            <img v-if="form.pickImg" :src="form.pickImg" width="148px" height="148px" />
 | 
				
			||||||
            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
 | 
					            <i v-else class="el-icon-plus"></i>
 | 
				
			||||||
          </el-upload>
 | 
					          </el-upload>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="承诺送达自提点时间" prop="promisePickDeliveryTime">
 | 
					        <el-form-item label="承诺送达自提点时间" prop="promisePickDeliveryTime">
 | 
				
			||||||
          <el-input v-model.number="form.promisePickDeliveryTime" placeholder="请输入小时数">
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model.number="form.promisePickDeliveryTime"
 | 
				
			||||||
 | 
					            placeholder="请输入小时数"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <template slot="append">小时以内</template>
 | 
					            <template slot="append">小时以内</template>
 | 
				
			||||||
          </el-input>
 | 
					          </el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
| 
						 | 
					@ -137,7 +183,12 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <template v-if="form.operationType === 'update'">
 | 
					      <template v-if="form.operationType === 'update'">
 | 
				
			||||||
        <el-form-item label="选择商户账号" prop="merchantId">
 | 
					        <el-form-item label="选择商户账号" prop="merchantId">
 | 
				
			||||||
          <el-select v-model="form.merchantId" placeholder="请选择要更新的商户账号" @change="handleAccountChange" style="width: 100%">
 | 
					          <el-select
 | 
				
			||||||
 | 
					            v-model="form.merchantId"
 | 
				
			||||||
 | 
					            placeholder="请选择要更新的商户账号"
 | 
				
			||||||
 | 
					            @change="handleAccountChange"
 | 
				
			||||||
 | 
					            style="width: 100%"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in merchantAccountList"
 | 
					              v-for="item in merchantAccountList"
 | 
				
			||||||
              :key="item.merchantId"
 | 
					              :key="item.merchantId"
 | 
				
			||||||
| 
						 | 
					@ -147,10 +198,16 @@
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item>
 | 
					        <el-form-item>
 | 
				
			||||||
          <el-button type="warning" @click="openResetPasswordDialog">重置密码</el-button>
 | 
					          <el-button type="warning" @click="openResetPasswordDialog"
 | 
				
			||||||
 | 
					            >重置密码</el-button
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="状态">
 | 
					        <el-form-item label="状态">
 | 
				
			||||||
          <el-switch v-model="form.enable" active-text="启用" inactive-text="禁用"></el-switch>
 | 
					          <el-switch
 | 
				
			||||||
 | 
					            v-model="form.enable"
 | 
				
			||||||
 | 
					            active-text="启用"
 | 
				
			||||||
 | 
					            inactive-text="禁用"
 | 
				
			||||||
 | 
					          ></el-switch>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </template>
 | 
					      </template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -179,7 +236,11 @@
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <el-form label-width="80px">
 | 
					      <el-form label-width="80px">
 | 
				
			||||||
        <el-form-item label="新密码">
 | 
					        <el-form-item label="新密码">
 | 
				
			||||||
          <el-input v-model="newPassword" type="password" placeholder="请输入新密码"></el-input>
 | 
					          <el-input
 | 
				
			||||||
 | 
					            v-model="newPassword"
 | 
				
			||||||
 | 
					            type="password"
 | 
				
			||||||
 | 
					            placeholder="请输入新密码"
 | 
				
			||||||
 | 
					          ></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
      <span slot="footer" class="dialog-footer">
 | 
					      <span slot="footer" class="dialog-footer">
 | 
				
			||||||
| 
						 | 
					@ -193,9 +254,16 @@
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
  getAvailablePermissions,
 | 
					  getAvailablePermissions,
 | 
				
			||||||
  checkUsername,
 | 
					  checkUsername
 | 
				
			||||||
} from '@/api/modules/subaccount' // Assuming some APIs can be reused
 | 
					} from '@/api/modules/subaccount' // Assuming some APIs can be reused
 | 
				
			||||||
import { inviteJoin, setMerchantPermissions, shopBaseConfig, listPlatformCategory, getMerchantList, updatePassword } from '@/api/modules/merchant' // New merchant API
 | 
					import {
 | 
				
			||||||
 | 
					  inviteJoin,
 | 
				
			||||||
 | 
					  setMerchantPermissions,
 | 
				
			||||||
 | 
					  shopBaseConfig,
 | 
				
			||||||
 | 
					  listPlatformCategory,
 | 
				
			||||||
 | 
					  getMerchantList,
 | 
				
			||||||
 | 
					  updatePassword
 | 
				
			||||||
 | 
					} from '@/api/modules/merchant' // New merchant API
 | 
				
			||||||
import { mer_admin } from '@/api/modules/mer_admin'
 | 
					import { mer_admin } from '@/api/modules/mer_admin'
 | 
				
			||||||
import routerConfig from '@/router/full-routers'
 | 
					import routerConfig from '@/router/full-routers'
 | 
				
			||||||
import { mapState } from 'vuex'
 | 
					import { mapState } from 'vuex'
 | 
				
			||||||
| 
						 | 
					@ -204,52 +272,61 @@ import cookie from 'js-cookie'
 | 
				
			||||||
// Function to filter the full menu tree based on available permissions
 | 
					// Function to filter the full menu tree based on available permissions
 | 
				
			||||||
const filterTreeByPerms = (tree, availablePerms) => {
 | 
					const filterTreeByPerms = (tree, availablePerms) => {
 | 
				
			||||||
  if (!Array.isArray(tree)) {
 | 
					  if (!Array.isArray(tree)) {
 | 
				
			||||||
    return [];
 | 
					    return []
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return tree.reduce((acc, node) => {
 | 
					  return tree.reduce((acc, node) => {
 | 
				
			||||||
    const children = node.list && node.list.length > 0
 | 
					    const children =
 | 
				
			||||||
 | 
					      node.list && node.list.length > 0
 | 
				
			||||||
        ? filterTreeByPerms(node.list, availablePerms)
 | 
					        ? filterTreeByPerms(node.list, availablePerms)
 | 
				
			||||||
      : [];
 | 
					        : []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (availablePerms.includes(node.perms) || children.length > 0) {
 | 
					    if (availablePerms.includes(node.perms) || children.length > 0) {
 | 
				
			||||||
      acc.push({
 | 
					      acc.push({
 | 
				
			||||||
        ...node,
 | 
					        ...node,
 | 
				
			||||||
        list: children,
 | 
					        list: children
 | 
				
			||||||
      });
 | 
					      })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return acc;
 | 
					    return acc
 | 
				
			||||||
  }, []);
 | 
					  }, [])
 | 
				
			||||||
};
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Function to map the filtered tree to the format required by el-tree
 | 
					// Function to map the filtered tree to the format required by el-tree
 | 
				
			||||||
const mapTreeForElTree = (tree) => {
 | 
					const mapTreeForElTree = tree => {
 | 
				
			||||||
  return tree.map((item) => ({
 | 
					  return tree.map(item => ({
 | 
				
			||||||
    id: item.perms,
 | 
					    id: item.perms,
 | 
				
			||||||
    label: item.name,
 | 
					    label: item.name,
 | 
				
			||||||
    children: item.list && item.list.length > 0 ? mapTreeForElTree(item.list) : [],
 | 
					    children:
 | 
				
			||||||
  }));
 | 
					      item.list && item.list.length > 0 ? mapTreeForElTree(item.list) : []
 | 
				
			||||||
};
 | 
					  }))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'MerchantAccount',
 | 
					  name: 'MerchantAccount',
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    const validateMobile = (rule, value, callback) => {
 | 
					    const validateMobile = (rule, value, callback) => {
 | 
				
			||||||
      if (this.form.operationType !== 'create') {
 | 
					      if (this.form.operationType !== 'create') {
 | 
				
			||||||
        return callback();
 | 
					        return callback()
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (!value) {
 | 
					      if (!value) {
 | 
				
			||||||
        return callback(new Error('请输入商户账号'));
 | 
					        return callback(new Error('请输入商户账号'))
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      checkUsername(value, this.form.selectedMarketId || this.marketId).then(res => {
 | 
					      checkUsername(value, this.form.selectedMarketId || this.marketId)
 | 
				
			||||||
        if (res && res.data && res.data.data && res.data.data.available === true) {
 | 
					        .then(res => {
 | 
				
			||||||
          callback();
 | 
					          if (
 | 
				
			||||||
 | 
					            res &&
 | 
				
			||||||
 | 
					            res.data &&
 | 
				
			||||||
 | 
					            res.data.data &&
 | 
				
			||||||
 | 
					            res.data.data.available === true
 | 
				
			||||||
 | 
					          ) {
 | 
				
			||||||
 | 
					            callback()
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
          callback(new Error('商户账号已被占用'));
 | 
					            callback(new Error('商户账号已被占用'))
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {
 | 
				
			||||||
 | 
					          callback(new Error('商户账号校验失败'))
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
      }).catch(() => {
 | 
					 | 
				
			||||||
        callback(new Error('商户账号校验失败'));
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      resetPasswordDialogVisible: false,
 | 
					      resetPasswordDialogVisible: false,
 | 
				
			||||||
| 
						 | 
					@ -281,9 +358,12 @@ export default {
 | 
				
			||||||
        pickAddress: '',
 | 
					        pickAddress: '',
 | 
				
			||||||
        pickLat: '',
 | 
					        pickLat: '',
 | 
				
			||||||
        pickImg: '',
 | 
					        pickImg: '',
 | 
				
			||||||
        promisePickDeliveryTime: '',
 | 
					        promisePickDeliveryTime: ''
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      businessHours: [new Date(2016, 9, 10, 0, 0), new Date(2016, 9, 10, 23, 59)],
 | 
					      businessHours: [
 | 
				
			||||||
 | 
					        new Date(2016, 9, 10, 0, 0),
 | 
				
			||||||
 | 
					        new Date(2016, 9, 10, 23, 59)
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
      categoryList: [],
 | 
					      categoryList: [],
 | 
				
			||||||
      merchantAccountList: [], // To be populated with merchant accounts
 | 
					      merchantAccountList: [], // To be populated with merchant accounts
 | 
				
			||||||
      permissionList: [],
 | 
					      permissionList: [],
 | 
				
			||||||
| 
						 | 
					@ -293,180 +373,197 @@ export default {
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      rules: {
 | 
					      rules: {
 | 
				
			||||||
        operationType: [
 | 
					        operationType: [
 | 
				
			||||||
          { required: true, message: "请选择操作类型", trigger: "change" },
 | 
					          { required: true, message: '请选择操作类型', trigger: 'change' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        mobile: [
 | 
					        mobile: [
 | 
				
			||||||
          { required: true, validator: validateMobile, trigger: "blur" },
 | 
					          { required: true, validator: validateMobile, trigger: 'blur' }
 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        password: [
 | 
					 | 
				
			||||||
          { required: true, message: "请输入密码", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        name: [
 | 
					 | 
				
			||||||
          { required: true, message: "请输入摊位名称", trigger: "blur" },
 | 
					 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
 | 
				
			||||||
 | 
					        name: [{ required: true, message: '请输入摊位名称', trigger: 'blur' }],
 | 
				
			||||||
        categoryId: [
 | 
					        categoryId: [
 | 
				
			||||||
          { required: true, message: "请选择主营类目", trigger: "change" },
 | 
					          { required: true, message: '请选择主营类目', trigger: 'change' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        background: [
 | 
					        background: [
 | 
				
			||||||
          { required: true, message: "请上传摊位背景图", trigger: "change" },
 | 
					          { required: true, message: '请上传摊位背景图', trigger: 'change' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        fileList: [
 | 
					        fileList: [
 | 
				
			||||||
          { required: true, message: "请上传摊位照片", trigger: "change" },
 | 
					          { required: true, message: '请上传摊位照片', trigger: 'change' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        address: [
 | 
					        address: [
 | 
				
			||||||
          { required: true, message: "请输入摊位位置", trigger: "blur" },
 | 
					          { required: true, message: '请输入摊位位置', trigger: 'blur' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        detailAddress: [
 | 
					        detailAddress: [
 | 
				
			||||||
          { required: true, message: "请输入摊位详细地址", trigger: "blur" },
 | 
					          { required: true, message: '请输入摊位详细地址', trigger: 'blur' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        pickName: [
 | 
					        pickName: [
 | 
				
			||||||
          { required: true, message: "请输入顾客自提点位置", trigger: "blur" },
 | 
					          { required: true, message: '请输入顾客自提点位置', trigger: 'blur' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        pickAddress: [
 | 
					        pickAddress: [
 | 
				
			||||||
          { required: true, message: "请输入自提点详细地址", trigger: "blur" },
 | 
					          { required: true, message: '请输入自提点详细地址', trigger: 'blur' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        promisePickDeliveryTime: [
 | 
					        promisePickDeliveryTime: [
 | 
				
			||||||
          { required: true, message: "请输入承诺送达自提点时间", trigger: "blur" },
 | 
					          {
 | 
				
			||||||
          { type: 'number', message: '必须为数字值'}
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: '请输入承诺送达自提点时间',
 | 
				
			||||||
 | 
					            trigger: 'blur'
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          { type: 'number', message: '必须为数字值' }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        permissionCodes: [
 | 
					        permissionCodes: [
 | 
				
			||||||
          { required: true, message: "请选择菜单权限", trigger: "change", type: 'array' },
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: '请选择菜单权限',
 | 
				
			||||||
 | 
					            trigger: 'change',
 | 
				
			||||||
 | 
					            type: 'array'
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        merchantId: [
 | 
					        merchantId: [
 | 
				
			||||||
          { required: true, message: "请选择要更新的商户账号", trigger: "change" },
 | 
					          {
 | 
				
			||||||
        ],
 | 
					            required: true,
 | 
				
			||||||
      },
 | 
					            message: '请选择要更新的商户账号',
 | 
				
			||||||
    };
 | 
					            trigger: 'change'
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  computed: {
 | 
					  computed: {
 | 
				
			||||||
    ...mapState("userData", [
 | 
					    ...mapState('userData', [
 | 
				
			||||||
      "isMerchant",
 | 
					      'isMerchant',
 | 
				
			||||||
      "marketList",
 | 
					      'marketList',
 | 
				
			||||||
      "storeList",
 | 
					      'storeList',
 | 
				
			||||||
      "marketId",
 | 
					      'marketId',
 | 
				
			||||||
      "shopId",
 | 
					      'shopId',
 | 
				
			||||||
      "markets"
 | 
					      'markets'
 | 
				
			||||||
    ]),
 | 
					    ]),
 | 
				
			||||||
    uploadUrl() {
 | 
					    uploadUrl() {
 | 
				
			||||||
      return mer_admin.uploadFile();
 | 
					      return mer_admin.uploadFile()
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    uploadHeaders() {
 | 
					    uploadHeaders() {
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        token: cookie.get('token')
 | 
					        token: cookie.get('token')
 | 
				
			||||||
      };
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  watch: {
 | 
					  watch: {
 | 
				
			||||||
    'form.operationType'(newType) {
 | 
					    'form.operationType'(newType) {
 | 
				
			||||||
      this.form.mobile = '';
 | 
					      this.form.mobile = ''
 | 
				
			||||||
      this.form.password = '';
 | 
					      this.form.password = ''
 | 
				
			||||||
      this.form.permissionCodes = [];
 | 
					      this.form.permissionCodes = []
 | 
				
			||||||
      this.form.merchantId = null;
 | 
					      this.form.merchantId = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs.ruleFormRef.clearValidate();
 | 
					        this.$refs.ruleFormRef.clearValidate()
 | 
				
			||||||
      });
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (this.$refs.permissionTree) {
 | 
					      if (this.$refs.permissionTree) {
 | 
				
			||||||
        this.$refs.permissionTree.setCheckedKeys([]);
 | 
					        this.$refs.permissionTree.setCheckedKeys([])
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (newType === 'update') {
 | 
					      if (newType === 'update') {
 | 
				
			||||||
        this.loadMerchantAccountList();
 | 
					        this.loadMerchantAccountList()
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  created() {
 | 
					  created() {
 | 
				
			||||||
    this.getPermissions();
 | 
					    this.getPermissions()
 | 
				
			||||||
    this.getPlatformCategory();
 | 
					    this.getPlatformCategory()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    getPlatformCategory() {
 | 
					    getPlatformCategory() {
 | 
				
			||||||
      listPlatformCategory({ type: this.isCloudShop ? 1 : 0 }).then(res => {
 | 
					      listPlatformCategory({ type: this.isCloudShop ? 1 : 0 }).then(res => {
 | 
				
			||||||
        this.categoryList = res.data.data;
 | 
					        this.categoryList = res.data.data
 | 
				
			||||||
      });
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getPermissions() {
 | 
					    getPermissions() {
 | 
				
			||||||
      getAvailablePermissions().then((res) => {
 | 
					      getAvailablePermissions().then(res => {
 | 
				
			||||||
        const availablePerms = (res && res.data && Array.isArray(res.data.data)) ? res.data.data : [];
 | 
					        const availablePerms =
 | 
				
			||||||
        const menuList = (routerConfig && Array.isArray(routerConfig.menuList)) ? routerConfig.menuList : [];
 | 
					          res && res.data && Array.isArray(res.data.data) ? res.data.data : []
 | 
				
			||||||
        const filteredTree = filterTreeByPerms(menuList, availablePerms);
 | 
					        const menuList =
 | 
				
			||||||
        this.permissionList = mapTreeForElTree(filteredTree);
 | 
					          routerConfig && Array.isArray(routerConfig.menuList)
 | 
				
			||||||
      });
 | 
					            ? routerConfig.menuList
 | 
				
			||||||
 | 
					            : []
 | 
				
			||||||
 | 
					        const filteredTree = filterTreeByPerms(menuList, availablePerms)
 | 
				
			||||||
 | 
					        this.permissionList = mapTreeForElTree(filteredTree)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    openResetPasswordDialog() {
 | 
					    openResetPasswordDialog() {
 | 
				
			||||||
      if (!this.form.merchantId) {
 | 
					      if (!this.form.merchantId) {
 | 
				
			||||||
        this.$message.error('请先选择要更新的商户账号');
 | 
					        this.$message.error('请先选择要更新的商户账号')
 | 
				
			||||||
        return;
 | 
					        return
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      this.resetPasswordDialogVisible = true;
 | 
					      this.resetPasswordDialogVisible = true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleResetPassword() {
 | 
					    handleResetPassword() {
 | 
				
			||||||
      if (!this.newPassword) {
 | 
					      if (!this.newPassword) {
 | 
				
			||||||
        this.$message.error('请输入新密码');
 | 
					        this.$message.error('请输入新密码')
 | 
				
			||||||
        return;
 | 
					        return
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      updatePassword({ password: this.newPassword }).then(() => {
 | 
					      updatePassword({ password: this.newPassword }).then(() => {
 | 
				
			||||||
        this.$message.success('密码重置成功');
 | 
					        this.$message.success('密码重置成功')
 | 
				
			||||||
        this.resetPasswordDialogVisible = false;
 | 
					        this.resetPasswordDialogVisible = false
 | 
				
			||||||
      });
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleTreeCheck() {
 | 
					    handleTreeCheck() {
 | 
				
			||||||
      this.form.permissionCodes = this.$refs.permissionTree.getCheckedKeys(true);
 | 
					      this.form.permissionCodes = this.$refs.permissionTree.getCheckedKeys(true)
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleBackgroundSuccess(res) {
 | 
					    handleBackgroundSuccess(res) {
 | 
				
			||||||
      this.form.background = res.data;
 | 
					      this.form.background = res.data
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleFileListSuccess(res, file, fileList) {
 | 
					    handleFileListSuccess(res, file, fileList) {
 | 
				
			||||||
      this.form.fileList = fileList;
 | 
					      this.form.fileList = fileList
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handlePermitsSuccess(res, file, fileList) {
 | 
					    handlePermitsSuccess(res, file, fileList) {
 | 
				
			||||||
      this.form.permits = fileList;
 | 
					      this.form.permits = fileList
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handlePickImgSuccess(res) {
 | 
					    handlePickImgSuccess(res) {
 | 
				
			||||||
      this.form.pickImg = res.data;
 | 
					      this.form.pickImg = res.data
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    beforeAvatarUpload(file) {
 | 
					    beforeAvatarUpload(file) {
 | 
				
			||||||
      const isJPG = file.type === 'image/jpeg';
 | 
					      const isImage = file.type.startsWith('image/')
 | 
				
			||||||
      const isLt2M = file.size / 1024 / 1024 < 2;
 | 
					      const isLt2M = file.size / 1024 / 1024 < 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (!isJPG) {
 | 
					      if (!isImage) {
 | 
				
			||||||
        this.$message.error('上传头像图片只能是 JPG 格式!');
 | 
					        this.$message.error('上传文件只能是图片格式!')
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (!isLt2M) {
 | 
					      if (!isLt2M) {
 | 
				
			||||||
        this.$message.error('上传头像图片大小不能超过 2MB!');
 | 
					        this.$message.error('上传图片大小不能超过 2MB!')
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return isJPG && isLt2M;
 | 
					      return isImage && isLt2M
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleRemove(file, fileList) {
 | 
					    handleRemove(file, fileList) {
 | 
				
			||||||
      this.form.fileList = fileList;
 | 
					      this.form.fileList = fileList
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handlePermitsRemove(file, fileList) {
 | 
					    handlePermitsRemove(file, fileList) {
 | 
				
			||||||
      this.form.permits = fileList;
 | 
					      this.form.permits = fileList
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    loadMerchantAccountList() {
 | 
					    loadMerchantAccountList() {
 | 
				
			||||||
      getMerchantList({ marketId: this.form.selectedMarketId || this.marketId }).then(res => {
 | 
					      getMerchantList({
 | 
				
			||||||
        this.merchantAccountList = res.data.data || [];
 | 
					        marketId: this.form.selectedMarketId || this.marketId
 | 
				
			||||||
      });
 | 
					      }).then(res => {
 | 
				
			||||||
 | 
					        this.merchantAccountList = res.data.data || []
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleAccountChange(merchantId) {
 | 
					    handleAccountChange(merchantId) {
 | 
				
			||||||
      if (!merchantId) return;
 | 
					      if (!merchantId) return
 | 
				
			||||||
      const accountDetails = this.merchantAccountList.find(item => item.merchantId === merchantId);
 | 
					      const accountDetails = this.merchantAccountList.find(
 | 
				
			||||||
 | 
					        item => item.merchantId === merchantId
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
      if (accountDetails) {
 | 
					      if (accountDetails) {
 | 
				
			||||||
        this.form.permissionCodes = accountDetails.permissionCodes || [];
 | 
					        this.form.permissionCodes = accountDetails.permissionCodes || []
 | 
				
			||||||
        this.form.enable = accountDetails.enabled;
 | 
					        this.form.enable = accountDetails.enabled
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.permissionTree.setCheckedKeys(this.form.permissionCodes);
 | 
					          this.$refs.permissionTree.setCheckedKeys(this.form.permissionCodes)
 | 
				
			||||||
        });
 | 
					        })
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    save() {
 | 
					    save() {
 | 
				
			||||||
      this.$refs.ruleFormRef.validate((valid) => {
 | 
					      this.$refs.ruleFormRef.validate(valid => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          const marketId = this.form.selectedMarketId || this.marketId;
 | 
					          const marketId = this.form.selectedMarketId || this.marketId
 | 
				
			||||||
          if (!marketId) {
 | 
					          if (!marketId) {
 | 
				
			||||||
            this.$message.error('请选择市场');
 | 
					            this.$message.error('请选择市场')
 | 
				
			||||||
            return;
 | 
					            return
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (this.form.operationType === 'create') {
 | 
					          if (this.form.operationType === 'create') {
 | 
				
			||||||
| 
						 | 
					@ -477,48 +574,52 @@ export default {
 | 
				
			||||||
              remark: '',
 | 
					              remark: '',
 | 
				
			||||||
              username: this.form.mobile,
 | 
					              username: this.form.mobile,
 | 
				
			||||||
              password: this.form.password
 | 
					              password: this.form.password
 | 
				
			||||||
            };
 | 
					            }
 | 
				
			||||||
            inviteJoin(createData).then((res) => {
 | 
					            inviteJoin(createData).then(res => {
 | 
				
			||||||
              const merchantAccountId = res.data.data.merchantId; // Assuming this is the merchant ID
 | 
					              const merchantAccountId = res.data.data.merchantAccountId // Assuming this is the merchant ID
 | 
				
			||||||
              const shopId = res.data.data.shopId; // Assuming this is the shop ID
 | 
					              const shopId = res.data.data.shopId // Assuming this is the shop ID
 | 
				
			||||||
              const permissionsData = {
 | 
					              const permissionsData = {
 | 
				
			||||||
                merchantAccountId,
 | 
					                merchantAccountId,
 | 
				
			||||||
                permissionCodes: this.form.permissionCodes,
 | 
					                permissionCodes: this.form.permissionCodes,
 | 
				
			||||||
                marketId
 | 
					                marketId
 | 
				
			||||||
              };
 | 
					              }
 | 
				
			||||||
              setMerchantPermissions(permissionsData).then(() => {
 | 
					              setMerchantPermissions(permissionsData).then(() => {
 | 
				
			||||||
                const shopData = {
 | 
					                const shopData = {
 | 
				
			||||||
                  ...this.form,
 | 
					                  ...this.form,
 | 
				
			||||||
                  imgs: this.form.fileList.map(f => f.url).join(','),
 | 
					                  imgs: this.form.fileList.map(f => f.url).join(','),
 | 
				
			||||||
                  permits: this.form.permits.map(f => f.url).join(','),
 | 
					                  permits: this.form.permits.map(f => f.url).join(','),
 | 
				
			||||||
                  startBusinessTime: this.businessHours[0].getHours() * 60 + this.businessHours[0].getMinutes(),
 | 
					                  startBusinessTime:
 | 
				
			||||||
                  endBusinessTime: this.businessHours[1].getHours() * 60 + this.businessHours[1].getMinutes(),
 | 
					                    this.businessHours[0].getHours() * 60 +
 | 
				
			||||||
                };
 | 
					                    this.businessHours[0].getMinutes(),
 | 
				
			||||||
 | 
					                  endBusinessTime:
 | 
				
			||||||
 | 
					                    this.businessHours[1].getHours() * 60 +
 | 
				
			||||||
 | 
					                    this.businessHours[1].getMinutes()
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
                shopBaseConfig({ shopId }, shopData).then(() => {
 | 
					                shopBaseConfig({ shopId }, shopData).then(() => {
 | 
				
			||||||
                  this.$message.success('商户创建成功,权限及店铺信息已设置');
 | 
					                  this.$message.success('商户创建成功,权限及店铺信息已设置')
 | 
				
			||||||
                  this.$refs.ruleFormRef.resetFields();
 | 
					                  this.$refs.ruleFormRef.resetFields()
 | 
				
			||||||
                });
 | 
					                })
 | 
				
			||||||
              });
 | 
					              })
 | 
				
			||||||
            });
 | 
					            })
 | 
				
			||||||
          } else if (this.form.operationType === 'update') {
 | 
					          } else if (this.form.operationType === 'update') {
 | 
				
			||||||
            if (!this.form.merchantId) {
 | 
					            if (!this.form.merchantId) {
 | 
				
			||||||
              this.$message.error('请先选择要更新的商户账号');
 | 
					              this.$message.error('请先选择要更新的商户账号')
 | 
				
			||||||
              return;
 | 
					              return
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const permissionsData = {
 | 
					            const permissionsData = {
 | 
				
			||||||
              merchantAccountId: this.form.merchantId,
 | 
					              merchantAccountId: this.form.merchantId,
 | 
				
			||||||
              permissionCodes: this.form.permissionCodes,
 | 
					              permissionCodes: this.form.permissionCodes,
 | 
				
			||||||
              marketId
 | 
					              marketId
 | 
				
			||||||
            };
 | 
					            }
 | 
				
			||||||
            setMerchantPermissions(permissionsData).then(() => {
 | 
					            setMerchantPermissions(permissionsData).then(() => {
 | 
				
			||||||
              this.$message.success('商户信息更新成功');
 | 
					              this.$message.success('商户信息更新成功')
 | 
				
			||||||
              this.$refs.ruleFormRef.resetFields();
 | 
					              this.$refs.ruleFormRef.resetFields()
 | 
				
			||||||
            });
 | 
					            })
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -532,20 +633,21 @@ export default {
 | 
				
			||||||
  cursor: pointer;
 | 
					  cursor: pointer;
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
  overflow: hidden;
 | 
					  overflow: hidden;
 | 
				
			||||||
  }
 | 
					}
 | 
				
			||||||
  .avatar-uploader .el-upload:hover {
 | 
					.avatar-uploader .el-upload:hover {
 | 
				
			||||||
    border-color: #409EFF;
 | 
					  border-color: #409eff;
 | 
				
			||||||
  }
 | 
					}
 | 
				
			||||||
  .avatar-uploader-icon {
 | 
					.avatar-uploader-icon {
 | 
				
			||||||
  font-size: 28px;
 | 
					  font-size: 28px;
 | 
				
			||||||
  color: #8c939d;
 | 
					  color: #8c939d;
 | 
				
			||||||
  width: 178px;
 | 
					  width: 178px;
 | 
				
			||||||
  height: 178px;
 | 
					  height: 178px;
 | 
				
			||||||
  line-height: 178px;
 | 
					  line-height: 178px;
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  }
 | 
					}
 | 
				
			||||||
  .avatar {
 | 
					.avatar {
 | 
				
			||||||
  width: 178px;
 | 
					  width: 178px;
 | 
				
			||||||
  height: 178px;
 | 
					  height: 178px;
 | 
				
			||||||
  display: block;
 | 
					  display: block;
 | 
				
			||||||
  }
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue