|
|
@@ -48,7 +48,7 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="登录帐号" prop="account">
|
|
|
+<!-- <el-form-item label="登录帐号" prop="account">
|
|
|
<el-input
|
|
|
v-model="queryParams.account"
|
|
|
placeholder="请输入登录帐号"
|
|
|
@@ -56,7 +56,7 @@
|
|
|
size="small"
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
@@ -155,16 +155,16 @@
|
|
|
<dict-tag :options="isAuditOptions" :value="scope.row.isAudit"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="商品总数" align="center" prop="productCount" />
|
|
|
+<!-- <el-table-column label="商品总数" align="center" prop="productCount" />-->
|
|
|
<el-table-column label="状态" align="center" prop="status">
|
|
|
<template slot-scope="scope">
|
|
|
<dict-tag :options="statusOptions" :value="scope.row.status"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="销量" align="center" prop="salesCount" />
|
|
|
- <el-table-column label="余额" align="center" prop="balance" />
|
|
|
- <el-table-column label="累计金额" align="center" prop="totalMoney" />
|
|
|
- <el-table-column label="登录帐号" align="center" prop="account" width="150px" />
|
|
|
+<!-- <el-table-column label="销量" align="center" prop="salesCount" />-->
|
|
|
+<!-- <el-table-column label="余额" align="center" prop="balance" />-->
|
|
|
+<!-- <el-table-column label="累计金额" align="center" prop="totalMoney" />-->
|
|
|
+<!-- <el-table-column label="登录帐号" align="center" prop="account" width="150px" />-->
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime" width="150px"/>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150px">
|
|
|
<template slot-scope="scope">
|
|
|
@@ -207,355 +207,376 @@
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
<!-- 添加或修改店铺管理对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="top">
|
|
|
-
|
|
|
- <el-divider content-position="left">基础信息</el-divider>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="店铺名称" prop="storeName">
|
|
|
- <el-input v-model="form.storeName" placeholder="请输入店铺名称" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="电话" prop="phone">
|
|
|
- <el-input v-model="form.phone" placeholder="请输入店铺电话" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="企业全称" prop="fullName">
|
|
|
- <el-input v-model="form.fullName" placeholder="请输入企业全称" />
|
|
|
- </el-form-item>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="店铺LOGO" prop="logoUrl">
|
|
|
- <el-upload
|
|
|
- v-model="form.logoUrl"
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="handleAvatarSuccess"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.logoUrl" :src="form.logoUrl" class="avatar" width="200px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col >
|
|
|
- <el-col :span="12">
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="店铺介绍" prop="descs" >
|
|
|
- <el-input v-model="form.descs" placeholder="请输入店铺介绍" type="textarea"/>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="所属城市" prop="cityIds">
|
|
|
- <el-cascader
|
|
|
- ref="citySelect"
|
|
|
- v-model="form.cityIds"
|
|
|
- :options="citys"
|
|
|
- @change="handleCityChange">
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="地址" prop="address">
|
|
|
- <el-input v-model="form.address" placeholder="请输入地址" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="法人姓名" prop="legalPersonName">
|
|
|
- <el-input v-model="form.legalPersonName" placeholder="请输入法人姓名" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
|
|
|
- <el-input v-model="form.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="营业范围" prop="businessScope">
|
|
|
- <el-input v-model="form.businessScope" placeholder="请输入营业范围" type="textarea" />
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <!-- 证书上传相关字段 -->
|
|
|
- <el-divider content-position="left">资质证书信息</el-divider>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="营业执照上传" prop="businessLicense">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'businessLicense')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.businessLicense" :src="form.businessLicense" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="营业执照失效日期" prop="businessLicenseExpire">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.businessLicenseExpire"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="药品经营许可证上传" prop="drugLicense">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'drugLicense')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.drugLicense" :src="form.drugLicense" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="药品经营许可证有效期" prop="drugLicenseExpiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.drugLicenseExpiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="1类器械生产备案上传" prop="medicalDevice1">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice1')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.medicalDevice1" :src="form.medicalDevice1" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="1类生产备案有效期" prop="medicalDevice1Expiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.medicalDevice1Expiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="2类医疗器械备案证书上传" prop="medicalDevice2">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice2')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.medicalDevice2" :src="form.medicalDevice2" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="2类医疗器械备案有效期" prop="medicalDevice2Expiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.medicalDevice2Expiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="3类器械经营许可证上传" prop="medicalDevice3">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice3')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.medicalDevice3" :src="form.medicalDevice3" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="3类器械经营许可证有效期" prop="medicalDevice3Expiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.medicalDevice3Expiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="食品经营许可证上传" prop="foodLicense">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'foodLicense')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.foodLicense" :src="form.foodLicense" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="食品经营许可证有效期" prop="foodLicenseExpiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.foodLicenseExpiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="医疗机构执业许可证上传" prop="medicalLicense">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- :action="uploadUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="(response, file) => handleFileSuccess(response, file, 'medicalLicense')"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <img v-if="form.medicalLicense" :src="form.medicalLicense" class="avatar" width="100px">
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="医疗机构执业许可证有效期" prop="medicalLicenseExpiry">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.medicalLicenseExpiry"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <el-divider content-position="left">店铺配置信息</el-divider>
|
|
|
- <el-form-item label="退货地址" prop="refundAddress">
|
|
|
- <el-input v-model="form.refundAddress" placeholder="请输入退货地址" />
|
|
|
- </el-form-item>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="退货电话" prop="refundPhone">
|
|
|
- <el-input v-model="form.refundPhone" placeholder="请输入退货电话" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="退货收货人" prop="refundConsignee">
|
|
|
- <el-input v-model="form.refundConsignee" placeholder="请输入退货收货人" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="寄件人电话" prop="sendPhone">
|
|
|
- <el-input v-model="form.sendPhone" placeholder="请输入寄件人电话" />
|
|
|
- </el-form-item>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="商品总数" prop="productCount">
|
|
|
- <el-input-number v-model="form.productCount" :min="0" label="描述文字"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="销量" prop="salesCount">
|
|
|
- <el-input-number v-model="form.salesCount" :min="0" label="描述文字"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="累计金额" prop="totalMoney">
|
|
|
- <el-input-number v-model="form.totalMoney" :precision="2" :step="0.1"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <!-- <el-form-item label="分佣比例%" prop="shippingType">
|
|
|
- <el-input-number v-model="form.brokerageRate" :min="0" :max="100"></el-input-number>
|
|
|
- </el-form-item> -->
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="状态">
|
|
|
- <el-radio-group v-model="form.status">
|
|
|
- <el-radio
|
|
|
- v-for="dict in statusOptions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="parseInt(dict.dictValue)"
|
|
|
- >{{dict.dictLabel}}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="分佣方式" prop="brokerageType" >
|
|
|
- <el-radio v-model="form.brokerageType" label="1">每盒</el-radio>
|
|
|
- <el-radio v-model="form.brokerageType" label="2">总价</el-radio>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="配送方式" prop="shippingType">
|
|
|
- <el-checkbox-group v-model="form.shippingType" size="medium">
|
|
|
- <el-checkbox v-for="(item, index) in shippingTypeOptions" :key="index" :label="item.value"
|
|
|
- :disabled="item.disabled">{{item.label}}</el-checkbox>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-divider content-position="left">登录信息</el-divider>
|
|
|
- <el-form-item label="登录帐号" prop="account" v-if="title != '修改店铺管理'">
|
|
|
- <el-input v-model="form.account" placeholder="请输入登录帐号" />
|
|
|
- </el-form-item>
|
|
|
- <!-- tips-->
|
|
|
- <span class="tip-text" v-if="title !== '修改店铺管理'">请牢记登录账号,初试密码123456,请及时修改密码</span>
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
+ <!-- 基础信息 -->
|
|
|
+ <div class="form-section">
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-s-shop"></i>基础信息
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="店铺名称" prop="storeName">
|
|
|
+ <el-input v-model="form.storeName" placeholder="请输入店铺名称" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="电话" prop="phone">
|
|
|
+ <el-input v-model="form.phone" placeholder="请输入店铺电话" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业全称" prop="fullName">
|
|
|
+ <el-input v-model="form.fullName" placeholder="请输入企业全称" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="店铺编号" prop="storeNo">
|
|
|
+ <el-input v-model="form.storeNo" placeholder="请输入店铺编号" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="店铺LOGO" prop="logoUrl">
|
|
|
+ <el-upload
|
|
|
+ v-model="form.logoUrl"
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="uploadUrl"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="handleAvatarSuccess"
|
|
|
+ :before-upload="beforeAvatarUpload">
|
|
|
+ <img v-if="form.logoUrl" :src="form.logoUrl" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ <div class="tip-text">建议尺寸:200×200px,支持JPG、PNG格式</div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="店铺介绍" prop="descs">
|
|
|
+ <el-input
|
|
|
+ v-model="form.descs"
|
|
|
+ placeholder="请输入店铺介绍"
|
|
|
+ type="textarea"
|
|
|
+ :rows="5"
|
|
|
+ maxlength="200"
|
|
|
+ show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="所属城市" prop="cityIds">
|
|
|
+ <el-cascader
|
|
|
+ ref="citySelect"
|
|
|
+ v-model="form.cityIds"
|
|
|
+ :options="citys"
|
|
|
+ :props="{ expandTrigger: 'hover' }"
|
|
|
+ placeholder="请选择城市"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="handleCityChange">
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="详细地址" prop="address">
|
|
|
+ <el-input v-model="form.address" placeholder="请输入详细地址" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="法人姓名" prop="legalPersonName">
|
|
|
+ <el-input v-model="form.legalPersonName" placeholder="请输入法人姓名" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="统一信用代码" prop="unifiedSocialCreditCode">
|
|
|
+ <el-input v-model="form.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-form-item label="营业范围" prop="businessScope">
|
|
|
+ <el-input
|
|
|
+ v-model="form.businessScope"
|
|
|
+ placeholder="请输入营业范围"
|
|
|
+ type="textarea"
|
|
|
+ :rows="3"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 资质证书信息 -->
|
|
|
+ <div class="form-section">
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-document"></i>资质证书信息
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="certificate-row">
|
|
|
+<!-- <div class="certificate-title">营业执照</div>-->
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="营业执照上传" prop="businessLicense">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="uploadUrl"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="(response, file) => handleFileSuccess(response, file, 'businessLicense')"
|
|
|
+ :before-upload="beforeAvatarUpload">
|
|
|
+ <img v-if="form.businessLicense" :src="form.businessLicense" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ <div class="tip-text">支持JPG、PNG、PDF格式,大小不超过5MB</div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="营业执照有效期" prop="businessLicenseExpire">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.businessLicenseExpire"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 其他证书部分可以根据需要取消注释 -->
|
|
|
+ <!--
|
|
|
+ <div v-if="this.$store.state.user.medicalMallConfig.medicalMall">
|
|
|
+ <div class="certificate-row">
|
|
|
+ <div class="certificate-title">药品经营许可证</div>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="许可证上传" prop="drugLicense">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="uploadUrl"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="(response, file) => handleFileSuccess(response, file, 'drugLicense')"
|
|
|
+ :before-upload="beforeAvatarUpload">
|
|
|
+ <img v-if="form.drugLicense" :src="form.drugLicense" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="许可证有效期" prop="drugLicenseExpiry">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.drugLicenseExpiry"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="certificate-row">
|
|
|
+ <div class="certificate-title">医疗器械相关证书</div>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="1类器械生产备案" prop="medicalDevice1">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="uploadUrl"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice1')"
|
|
|
+ :before-upload="beforeAvatarUpload">
|
|
|
+ <img v-if="form.medicalDevice1" :src="form.medicalDevice1" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="备案有效期" prop="medicalDevice1Expiry">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.medicalDevice1Expiry"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="certificate-row">
|
|
|
+ <div class="certificate-title">食品经营许可证</div>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="许可证上传" prop="foodLicense">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="uploadUrl"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="(response, file) => handleFileSuccess(response, file, 'foodLicense')"
|
|
|
+ :before-upload="beforeAvatarUpload">
|
|
|
+ <img v-if="form.foodLicense" :src="form.foodLicense" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="许可证有效期" prop="foodLicenseExpiry">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.foodLicenseExpiry"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ -->
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 店铺配置信息 (根据需要取消注释) -->
|
|
|
+ <!--
|
|
|
+ <div class="form-section">
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-setting"></i>店铺配置信息
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-form-item label="退货地址" prop="refundAddress">
|
|
|
+ <el-input v-model="form.refundAddress" placeholder="请输入退货地址" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="退货电话" prop="refundPhone">
|
|
|
+ <el-input v-model="form.refundPhone" placeholder="请输入退货电话" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="退货收货人" prop="refundConsignee">
|
|
|
+ <el-input v-model="form.refundConsignee" placeholder="请输入退货收货人" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-form-item label="寄件人电话" prop="sendPhone">
|
|
|
+ <el-input v-model="form.sendPhone" placeholder="请输入寄件人电话" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="商品总数" prop="productCount">
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.productCount"
|
|
|
+ :min="0"
|
|
|
+ controls-position="right"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="销量" prop="salesCount">
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.salesCount"
|
|
|
+ :min="0"
|
|
|
+ controls-position="right"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="累计金额" prop="totalMoney">
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.totalMoney"
|
|
|
+ :precision="2"
|
|
|
+ :step="0.1"
|
|
|
+ controls-position="right"
|
|
|
+ style="width: 100%">
|
|
|
+ </el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="分佣方式" prop="brokerageType">
|
|
|
+ <el-radio-group v-model="form.brokerageType">
|
|
|
+ <el-radio label="1">每盒</el-radio>
|
|
|
+ <el-radio label="2">总价</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+-->
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="状态">
|
|
|
+ <el-radio-group v-model="form.status">
|
|
|
+ <el-radio
|
|
|
+ v-for="dict in statusOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="parseInt(dict.dictValue)"
|
|
|
+ >{{dict.dictLabel}}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+<!-- <el-col :span="12">
|
|
|
+ <el-form-item label="配送方式" prop="shippingType">
|
|
|
+ <el-checkbox-group v-model="form.shippingType" size="medium">
|
|
|
+ <el-checkbox
|
|
|
+ v-for="(item, index) in shippingTypeOptions"
|
|
|
+ :key="index"
|
|
|
+ :label="item.value"
|
|
|
+ :disabled="item.disabled">{{item.label}}</el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>-->
|
|
|
+ </el-row>
|
|
|
+<!-- </div>-->
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 登录信息 (根据需要取消注释) -->
|
|
|
+ <!--
|
|
|
+ <div class="form-section">
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-user"></i>登录信息
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-form-item label="登录帐号" prop="account" v-if="title != '修改店铺管理'">
|
|
|
+ <el-input v-model="form.account" placeholder="请输入登录帐号" size="medium" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <span class="tip-text" v-if="title !== '修改店铺管理'">请及时修改密码,初始密码:XyzAbc~12</span>
|
|
|
+ </div>
|
|
|
+ -->
|
|
|
</el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
+
|
|
|
+ <div class="form-footer" slot="footer">
|
|
|
+ <el-button @click="cancel" size="medium">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm" size="medium">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<el-drawer
|
|
|
@@ -641,7 +662,7 @@ export default {
|
|
|
{ required: true, message: "店铺名称不能为空", trigger: "blur" }
|
|
|
],
|
|
|
fullName: [
|
|
|
- { required: true, message: "店铺名称不能为空", trigger: "blur" }
|
|
|
+ { required: true, message: "店铺全称不能为空", trigger: "blur" }
|
|
|
],
|
|
|
businessLicenseExpire: [
|
|
|
{ required: true, message: "营业执照失效日期不能为空", trigger: "blur" }
|
|
|
@@ -664,7 +685,7 @@ export default {
|
|
|
shippingType: [
|
|
|
{ required: true, message: "配送方式不能为空", trigger: "blur" }
|
|
|
],
|
|
|
- account: [
|
|
|
+ /* account: [
|
|
|
{ required: true, message: "登录账号不能为空", trigger: "blur" }
|
|
|
],
|
|
|
brokerageType: [
|
|
|
@@ -681,7 +702,7 @@ export default {
|
|
|
],
|
|
|
sendPhone: [
|
|
|
{ required: true, message: "寄件人电话不能为空", trigger: "blur" },
|
|
|
- ],
|
|
|
+ ],*/
|
|
|
phone: [
|
|
|
{
|
|
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
@@ -691,6 +712,9 @@ export default {
|
|
|
}
|
|
|
],
|
|
|
// 新增字段校验规则
|
|
|
+ storeNo: [
|
|
|
+ { required: true, message: "店铺编号不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
enterpriseShortName: [
|
|
|
{ required: true, message: "企业简称不能为空", trigger: "blur" }
|
|
|
],
|
|
|
@@ -712,10 +736,10 @@ export default {
|
|
|
businessScope: [
|
|
|
{ required: true, message: "营业范围不能为空", trigger: "blur" }
|
|
|
],
|
|
|
- password: [
|
|
|
+ /* password: [
|
|
|
{ required: true, message: "新密码不能为空", trigger: "blur" },
|
|
|
{ min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
|
|
|
- ],
|
|
|
+ ],*/
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
@@ -1046,7 +1070,7 @@ export default {
|
|
|
},
|
|
|
handleRefresh(row) {
|
|
|
const storeIds = row.storeId || this.ids;
|
|
|
- this.$confirm('是否确认重置店铺管理编号为"' + storeIds + '"的密码为123456?', "警告", {
|
|
|
+ this.$confirm('是否确认重置店铺管理编号为"' + storeIds + '"的密码为XyzAbc~12 ', "警告", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
|
@@ -1054,7 +1078,7 @@ export default {
|
|
|
return refreshPasWod(storeIds);
|
|
|
}).then(() => {
|
|
|
this.getList();
|
|
|
- this.msgSuccess("删除成功");
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
}).catch(() => {
|
|
|
});
|
|
|
},
|
|
|
@@ -1094,9 +1118,6 @@ export default {
|
|
|
.avatar-uploader-icon {
|
|
|
font-size: 28px;
|
|
|
color: #8c939d;
|
|
|
- width: 150px;
|
|
|
- height: 150px;
|
|
|
- line-height: 150px;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
@@ -1104,4 +1125,97 @@ export default {
|
|
|
font-size: 16px;
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
+.store-form-container {
|
|
|
+ padding: 20px;
|
|
|
+ background-color: #f5f7fa;
|
|
|
+}
|
|
|
+
|
|
|
+.form-section {
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 20px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
+}
|
|
|
+
|
|
|
+.section-title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #303133;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ padding-bottom: 10px;
|
|
|
+ border-bottom: 1px solid #ebeef5;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.section-title i {
|
|
|
+ margin-right: 8px;
|
|
|
+ color: #409EFF;
|
|
|
+}
|
|
|
+
|
|
|
+.el-row {
|
|
|
+ margin-bottom: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-row:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.avatar-uploader {
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
+ border-radius: 6px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ width: 100%;
|
|
|
+ height: 150px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.avatar-uploader:hover {
|
|
|
+ border-color: #409EFF;
|
|
|
+}
|
|
|
+
|
|
|
+/*.avatar-uploader-icon {*/
|
|
|
+/* font-size: 28px;*/
|
|
|
+/* color: #8c939d;*/
|
|
|
+/*}*/
|
|
|
+
|
|
|
+.avatar {
|
|
|
+ max-width: 100%;
|
|
|
+ max-height: 100%;
|
|
|
+ display: block;
|
|
|
+}
|
|
|
+
|
|
|
+.form-footer {
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 30px;
|
|
|
+ padding-top: 20px;
|
|
|
+ border-top: 1px solid #ebeef5;
|
|
|
+}
|
|
|
+
|
|
|
+.tip-text {
|
|
|
+ font-size: 12px;
|
|
|
+ color: #909399;
|
|
|
+ display: block;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.certificate-row {
|
|
|
+ margin-bottom: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+.certificate-title {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #606266;
|
|
|
+ margin-bottom: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-divider__text {
|
|
|
+ background-color: #f5f7fa;
|
|
|
+}
|
|
|
</style>
|