xuhaifeng 11 月之前
父节点
当前提交
56f1df72c2

+ 5 - 28
src/views/activity/clothInfo/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="标题" prop="title">
+            <el-form-item prop="title">
                 <el-input v-model="queryParams.title" placeholder="请输入标题" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             <el-form-item>
@@ -14,26 +14,10 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['activity:clothInfo:add']">新增</el-button>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="success" plain icon="el-icon-edit" :disabled="single" @click="handleUpdate" v-hasPermi="['activity:clothInfo:edit']">修改</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['activity:clothInfo:remove']">删除</el-button>
-            </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="warning"-->
-            <!--          plain-->
-            <!--          icon="el-icon-download"-->
-            <!--           -->
-            <!--          @click="handleExport"-->
-            <!--          v-hasPermi="['activity:clothInfo:export']"-->
-            <!--        >导出</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="infoList" @selection-change="handleSelectionChange">
+        <Page uri="/mapi/activity/clothInfo/list" :request-params="queryParams" ref="pagination">
             <el-table-column type="selection" width="55" align="center" fixed="left" />
             <el-table-column label="编号" align="center" prop="id" width="80" />
             <el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" width="250" />
@@ -65,9 +49,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:clothInfo:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改活动明细对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
@@ -146,8 +128,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 title: null,
                 activityType: null
             },
@@ -174,11 +154,8 @@ export default {
     methods: {
         /** 查询活动明细列表 */
         getList() {
-            this.loading = true
-            listInfo(this.queryParams).then((response) => {
-                this.infoList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 7 - 31
src/views/activity/clothItem/index.vue

@@ -1,12 +1,12 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="衣服" prop="clothItemId">
+            <el-form-item prop="clothItemId">
                 <el-select v-model="queryParams.clothItemId" filterable placeholder="选择衣服" clearable>
                     <el-option v-for="item in clothItemList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item label="洗衣类型" prop="washModeId">
+            <el-form-item prop="washModeId">
                 <el-select v-model="queryParams.washModeId" filterable placeholder="洗衣类型" clearable>
                     <el-option v-for="item in washModeList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
                 </el-select>
@@ -21,26 +21,10 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['activity:clothInfo:add']">新增</el-button>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="success" plain icon="el-icon-edit" :disabled="single" @click="handleUpdate" v-hasPermi="['activity:clothInfo:edit']">修改</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['activity:clothInfo:remove']">删除</el-button>
-            </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="warning"-->
-            <!--          plain-->
-            <!--          icon="el-icon-download"-->
-            <!--           -->
-            <!--          @click="handleExport"-->
-            <!--          v-hasPermi="['activity:clothInfo:export']"-->
-            <!--        >导出</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="activityClothItemList" @selection-change="handleSelectionChange">
+        <Page uri="/mapi/activity/clothItem/list" :request-params="queryParams" ref="pagination">
             <el-table-column type="selection" width="55" align="center" fixed="left" />
             <el-table-column label="序号" align="center" prop="id" />
             <el-table-column label="衣服名称" align="center" prop="clothItemName" />
@@ -52,9 +36,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:clothInfo:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改指定衣服折扣活动明细对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
@@ -120,10 +102,7 @@ export default {
             // 是否显示弹出层
             open: false,
             // 查询参数
-            queryParams: {
-                pageNum: 1,
-                pageSize: 10
-            },
+            queryParams: {},
             // 表单参数
             form: {},
             // 表单校验
@@ -150,11 +129,8 @@ export default {
     methods: {
         /** 查询指定衣服折扣活动明细列表 */
         getList() {
-            this.loading = true
-            listActivityClothItem({ ...this.queryParams, ...{ activityId: this.activityId } }).then((response) => {
-                this.activityClothItemList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 8 - 41
src/views/activity/couponInfo/index.vue

@@ -30,8 +30,7 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="couponInfoList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" fixed="left" />
+        <Page uri="/mapi/activity/couponInfo/list" :request-params="queryParams" ref="pagination">
             <el-table-column label="序号" align="center" prop="id" width="80" />
             <el-table-column label="标题" align="center" prop="title" width="150" :show-overflow-tooltip="true" />
             <el-table-column label="描述" align="center" prop="description" width="150" :show-overflow-tooltip="true" />
@@ -57,33 +56,22 @@
                 </template>
             </el-table-column>
             <el-table-column label="最大可购买数量" align="center" prop="maxBuyNum" width="150" />
-            <el-table-column label="单次订单最多使用券数" align="center" prop="maxUseCount" width="150" />
             <el-table-column label="适用用户范围" align="center" prop="userScope" width="150">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.activity_user_scope" :value="scope.row.userScope" />
                 </template>
             </el-table-column>
-            <!--      <el-table-column label="支付范围" align="center" prop="payScope">-->
-            <!--        <template slot-scope="scope">-->
-            <!--          <dict-tag :options="dict.type.activity_pay_scope" :value="scope.row.payScope"/>-->
-            <!--        </template>-->
-            <!--      </el-table-column>-->
-            <el-table-column label="是否可多张使用" align="center" prop="canMultiUse" width="150">
-                <template slot-scope="scope">
-                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.canMultiUse" />
-                </template>
-            </el-table-column>
-            <el-table-column label="是否展示在app购买页" align="center" prop="isShowAppBuyPage" width="150">
+            <el-table-column label="展示在app购买页" align="center" prop="isShowAppBuyPage" width="150">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isShowAppBuyPage" />
                 </template>
             </el-table-column>
-            <el-table-column label="是否展示在小程序购买页" align="center" prop="isShowWxBuyPage" width="180">
+            <el-table-column label="展示在小程序购买页" align="center" prop="isShowWxBuyPage" width="180">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isShowWxBuyPage" />
                 </template>
             </el-table-column>
-            <el-table-column label="是否展示在小程序购买页" align="center" prop="isShowWxBuyPageFromQrcode" width="180">
+            <el-table-column label="展示在扫码进入购买页" align="center" prop="isShowWxBuyPageFromQrcode" width="180">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isShowWxBuyPageFromQrcode" />
                 </template>
@@ -100,9 +88,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:couponInfo:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改送券活动对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="70%" append-to-body>
@@ -151,19 +137,6 @@
                             </el-select>
                         </el-form-item>
                     </el-col>
-                    <!--          <el-col :span="12">-->
-                    <!--            <el-form-item label="支付范围" prop="payScope">-->
-                    <!--              <el-select v-model="form.payScope" placeholder="请选择支付范围">-->
-                    <!--                <el-option-->
-                    <!--                  v-for="dict in dict.type.activity_pay_scope"-->
-                    <!--                  :key="dict.value"-->
-                    <!--                  :label="dict.label"-->
-                    <!--                  :value="dict.value"-->
-                    <!--                ></el-option>-->
-                    <!--              </el-select>-->
-                    <!--            </el-form-item>-->
-                    <!--          </el-col>-->
-
                     <el-col :span="8">
                         <el-form-item label="最大可购买数量" prop="maxBuyNum">
                             <el-input-number v-model="form.maxBuyNum" placeholder="请输入最大可购买数量" :precision="0" :min="0" :max="999999" />
@@ -281,10 +254,7 @@ export default {
             // 是否显示弹出层
             open: false,
             // 查询参数
-            queryParams: {
-                pageNum: 1,
-                pageSize: 10
-            },
+            queryParams: {},
             // 表单参数
             form: {},
             // 表单校验
@@ -316,11 +286,8 @@ export default {
     methods: {
         /** 查询送券活动列表 */
         getList() {
-            this.loading = true
-            listCouponInfo(this.queryParams).then((response) => {
-                this.couponInfoList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 5 - 36
src/views/activity/couponItem/index.vue

@@ -11,32 +11,10 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['activity:couponInfo:add', 'activity:groupInfo:add']">新增</el-button>
             </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="success"-->
-            <!--          plain-->
-            <!--          icon="el-icon-edit"-->
-            <!--           -->
-            <!--          :disabled="single"-->
-            <!--          @click="handleUpdate"-->
-            <!--          v-hasPermi="['activity:couponInfo:edit','activity:groupInfo:edit']"-->
-            <!--        >修改</el-button>-->
-            <!--      </el-col>-->
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="danger"-->
-            <!--          plain-->
-            <!--          icon="el-icon-delete"-->
-            <!--           -->
-            <!--          :disabled="multiple"-->
-            <!--          @click="handleDelete"-->
-            <!--          v-hasPermi="['activity:couponInfo:remove','activity:groupInfo:remove']"-->
-            <!--        >删除</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="couponItemList" @selection-change="handleSelectionChange">
+        <Page uri="/mapi/activity/couponItem/list" :request-params="queryParams" ref="pagination">
             <el-table-column type="selection" width="55" align="center" fixed="left" />
             <el-table-column label="编号" align="center" prop="id" width="80" />
             <el-table-column label="优惠券名称" align="center" prop="couponTypeTitle" width="150" />
@@ -66,9 +44,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:couponInfo:remove', 'activity:groupInfo:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改注册送券活动优惠券明细对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
@@ -149,10 +125,7 @@ export default {
             // 是否显示弹出层
             open: false,
             // 查询参数
-            queryParams: {
-                pageNum: 1,
-                pageSize: 10
-            },
+            queryParams: {},
             // 表单参数
             form: {
                 isCustomValidityPeriod: 'N'
@@ -181,12 +154,8 @@ export default {
     methods: {
         /** 查询注册送券活动优惠券明细列表 */
         getList() {
-            this.loading = true
-            this.queryParams.activityId = this.activityId
-            listCouponItem(this.queryParams).then((response) => {
-                this.couponItemList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 5 - 29
src/views/activity/discountInfo/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="标题" prop="title">
+            <el-form-item prop="title">
                 <el-input v-model="queryParams.title" placeholder="请输入标题" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             <el-form-item>
@@ -14,27 +14,10 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['activity:discountInfo:add']">新增</el-button>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="success" plain icon="el-icon-edit" :disabled="single" @click="handleUpdate" v-hasPermi="['activity:discountInfo:edit']">修改</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['activity:discountInfo:remove']">删除</el-button>
-            </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="warning"-->
-            <!--          plain-->
-            <!--          icon="el-icon-download"-->
-            <!--           -->
-            <!--          @click="handleExport"-->
-            <!--          v-hasPermi="['activity:info:export']"-->
-            <!--        >导出</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="infoList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" fixed="left" />
+        <Page uri="/mapi/activity/discountInfo/list" :request-params="queryParams" ref="pagination">
             <el-table-column label="序号" align="center" prop="id" width="80" />
             <el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" width="180" />
             <el-table-column label="描述" align="center" prop="description" :show-overflow-tooltip="true" />
@@ -75,9 +58,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:discountInfo:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改活动明细对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
@@ -177,8 +158,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 title: null,
                 activityType: null
             },
@@ -208,11 +187,8 @@ export default {
     methods: {
         /** 查询活动明细列表 */
         getList() {
-            this.loading = true
-            listDiscountInfo(this.queryParams).then((response) => {
-                this.infoList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 5 - 29
src/views/activity/rechargeInfo/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="标题" prop="title">
+            <el-form-item prop="title">
                 <el-input v-model="queryParams.title" placeholder="请输入标题" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             <el-form-item>
@@ -14,27 +14,10 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['activity:recharge:add']">新增</el-button>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="success" plain icon="el-icon-edit" :disabled="single" @click="handleUpdate" v-hasPermi="['activity:recharge:edit']">修改</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['activity:recharge:remove']">删除</el-button>
-            </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="warning"-->
-            <!--          plain-->
-            <!--          icon="el-icon-download"-->
-            <!--           -->
-            <!--          @click="handleExport"-->
-            <!--          v-hasPermi="['activity:recharge:export']"-->
-            <!--        >导出</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="infoList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" fixed="left" />
+        <Page uri="/mapi/activity/recharge/list" :request-params="queryParams" ref="pagination">
             <el-table-column label="编号" align="center" prop="id" width="80" />
             <el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" width="250" />
             <el-table-column label="描述" align="center" prop="description" :show-overflow-tooltip="true" />
@@ -65,9 +48,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['activity:recharge:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改活动明细对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
@@ -141,8 +122,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 title: null,
                 activityType: null
             },
@@ -169,11 +148,8 @@ export default {
     methods: {
         /** 查询活动明细列表 */
         getList() {
-            this.loading = true
-            listInfo(this.queryParams).then((response) => {
-                this.infoList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 57 - 63
src/views/coupon/type/index.vue

@@ -85,6 +85,13 @@
         <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
             <el-row :gutter="15">
                 <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+                    <el-col :span="12">
+                        <el-form-item label="优惠券类型" prop="discountWay" label-width="100px">
+                            <el-select v-model="form.discountWay" placeholder="请选择优惠券类型" clearable :disabled="disabled" style="width: 300px" @change="changeDiscountWay">
+                                <el-option v-for="dict in dict.type.coupon_type" :key="dict.value" :label="dict.label" :value="dict.value" />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
                     <el-col :span="24">
                         <el-form-item label="名称" prop="title">
                             <el-input v-model="form.title" placeholder="请输入优惠券类型名称" maxlength="100" show-word-limit style="width: 300px" />
@@ -95,78 +102,65 @@
                             <image-upload v-model="form.imgUrl" />
                         </el-form-item>
                     </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="优惠券类型" prop="discountWay" label-width="100px">
-                            <el-select v-model="form.discountWay" placeholder="请选择优惠券类型" clearable :disabled="disabled" style="width: 300px" @change="changeDiscountWay">
-                                <el-option v-for="dict in dict.type.coupon_type" :key="dict.value" :label="dict.label" :value="dict.value" />
-                            </el-select>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="有效期" prop="duringDate" label-width="120px">
-                            <el-date-picker v-model="form.duringDate" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                    <el-col :span="24">
+                        <el-form-item label="有效期" prop="duringDate">
+                            <el-date-picker v-model="form.duringDate" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
                         </el-form-item>
                     </el-col>
                     <el-col :span="24">
                         <template v-if="form.discountWay == 0">
-                            <el-col :span="12">
-                                <el-form-item label="抵用金额" prop="deductAmount" label-width="100px">
-                                    <el-input-number v-model="form.deductAmount" placeholder="请输入抵用金额" :precision="2" :min="0" :max="999999" />
-                                </el-form-item>
-                            </el-col>
+                            <el-form-item label="抵扣金额" prop="deductAmount" label-width="100px">
+                                <el-input-number v-model="form.deductAmount" placeholder="请输入抵扣金额" :precision="2" :min="0" :max="999999" />
+                            </el-form-item>
+                            <el-form-item label="限制金额" prop="minAmount" label-width="100px">
+                                <el-input-number v-model="form.minAmount" placeholder="请输入最低限制金额 0无限制" :precision="2" :min="0" :max="999999" />
+                            </el-form-item>
                         </template>
                         <template v-if="form.discountWay == 1">
-                            <el-col :span="12">
-                                <el-form-item label="最小件数" prop="minAmount" label-width="100px">
-                                    <el-input-number v-model="form.minAmount" placeholder="请输入最小件数" :min="form.deductAmount" :max="999999" />
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="12">
-                                <el-form-item label="可减件数" prop="deductAmount" label-width="100px">
-                                    <el-input-number v-model="form.deductAmount" placeholder="请输入抵用金额" :min="0" :max="form.minAmount" />
-                                </el-form-item>
-                            </el-col>
+                            <el-form-item label="最小件数" prop="minAmount" label-width="100px">
+                                <el-input-number v-model="form.minAmount" placeholder="请输入最小件数" :min="form.deductAmount" :max="999999" />
+                            </el-form-item>
+                            <el-form-item label="可减件数" prop="deductAmount" label-width="100px">
+                                <el-input-number v-model="form.deductAmount" placeholder="请输入抵用金额" :min="0" :max="form.minAmount" />
+                            </el-form-item>
                         </template>
                         <template v-if="form.discountWay == 2">
-                            <el-col :span="12">
-                                <el-form-item label="折扣率" prop="deductAmount" label-width="100px">
-                                    <el-input-number v-model="form.deductAmount" placeholder="请输入折扣率" :step="0.01" :min="0.01" :max="1" />
-                                </el-form-item>
-                            </el-col>
-                        </template>
-                    </el-col>
-
-                    <el-col :span="24">
-                        <el-col :span="12">
-                            <el-form-item label="是否单件抵扣券" label-width="150px" prop="isUnique" v-if="form.discountWay != '2'">
-                                <el-radio-group v-model="form.isUnique">
-                                    <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
-                                </el-radio-group>
+                            <el-form-item label="折扣率(%)" prop="discountRate" label-width="100px">
+                                <el-input-number v-model="form.discountRate" placeholder="请输入折扣率%" :step="1" :min="1" :max="99" />
                             </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="是否手动发券" prop="canManual" label-width="150px">
-                                <el-radio-group v-model="form.canManual">
-                                    <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
-                                </el-radio-group>
+                            <el-form-item label="折扣金额" prop="deductAmount" label-width="100px">
+                                <el-input-number v-model="form.deductAmount" placeholder="请输入最大折扣金额" :step="0.01" :min="0" />
                             </el-form-item>
-                        </el-col>
+                        </template>
                     </el-col>
 
                     <el-col :span="24">
-                        <el-col :span="12">
-                            <el-form-item label="是否可抵用充值" label-width="150px" prop="canDeductRecharge">
-                                <el-radio-group v-model="form.canDeductRecharge">
-                                    <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
-                                </el-radio-group>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="抵用充值金额" prop="deductRechargeAmount" label-width="150px" v-if="form.canDeductRecharge == 'Y'">
-                                <el-input-number v-model="form.deductRechargeAmount" placeholder="请输入抵用充值金额" :precision="2" :min="0" :max="999999" />
-                            </el-form-item>
-                        </el-col>
+                        <!--                      <el-form-item label="是否单件抵扣券" label-width="150px" prop="isUnique" v-if="form.discountWay != '2'">-->
+                        <!--                        <el-radio-group v-model="form.isUnique">-->
+                        <!--                          <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>-->
+                        <!--                        </el-radio-group>-->
+                        <!--                      </el-form-item>-->
+                        <el-form-item label="是否手动发券" prop="canManual" label-width="150px">
+                            <el-radio-group v-model="form.canManual">
+                                <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
+                            </el-radio-group>
+                        </el-form-item>
                     </el-col>
+
+                    <!--                    <el-col :span="24">-->
+                    <!--                        <el-col :span="12">-->
+                    <!--                            <el-form-item label="是否可抵用充值" label-width="150px" prop="canDeductRecharge">-->
+                    <!--                                <el-radio-group v-model="form.canDeductRecharge">-->
+                    <!--                                    <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>-->
+                    <!--                                </el-radio-group>-->
+                    <!--                            </el-form-item>-->
+                    <!--                        </el-col>-->
+                    <!--                        <el-col :span="12">-->
+                    <!--                            <el-form-item label="抵用充值金额" prop="deductRechargeAmount" label-width="150px" v-if="form.canDeductRecharge == 'Y'">-->
+                    <!--                                <el-input-number v-model="form.deductRechargeAmount" placeholder="请输入抵用充值金额" :precision="2" :min="0" :max="999999" />-->
+                    <!--                            </el-form-item>-->
+                    <!--                        </el-col>-->
+                    <!--                    </el-col>-->
                     <el-col :span="24">
                         <el-form-item label="三方品牌" prop="couponTypeThirdPartyId" label-width="100px">
                             <el-select v-model="form.couponTypeThirdPartyId" placeholder="请选择三方品牌" clearable style="width: 300px">
@@ -179,11 +173,11 @@
                             <el-input v-model="form.description" placeholder="请输入优惠券类型描述" maxlength="200" show-word-limit style="width: 300px" />
                         </el-form-item>
                     </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="适用工厂" prop="selectFactoryIds">
-                            <el-transfer v-model="form.selectFactoryIds" :data="form.factoryVOS" :filterable="true" :titles="['待选择的工厂', '已选择的工厂']"></el-transfer>
-                        </el-form-item>
-                    </el-col>
+                    <!--                    <el-col :span="24">-->
+                    <!--                        <el-form-item label="适用工厂" prop="selectFactoryIds">-->
+                    <!--                            <el-transfer v-model="form.selectFactoryIds" :data="form.factoryVOS" :filterable="true" :titles="['待选择的工厂', '已选择的工厂']"></el-transfer>-->
+                    <!--                        </el-form-item>-->
+                    <!--                    </el-col>-->
                     <el-col :span="24">
                         <el-form-item label="适用门店" prop="selectStoreIds">
                             <el-transfer v-model="form.selectStoreIds" :data="form.storeVOS" :filterable="true" :titles="['待选择的门店', '已选择的门店']"></el-transfer>

+ 8 - 41
src/views/coupon/typeApplyCloth/index.vue

@@ -1,10 +1,10 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="衣服名称" prop="name">
+            <el-form-item prop="name">
                 <el-input v-model="queryParams.name" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="衣服种类" prop="typeId">
+            <el-form-item prop="typeId">
                 <el-select v-model="queryParams.typeId" placeholder="衣服种类" clearable>
                     <el-option v-for="item in clothTypeList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
                 </el-select>
@@ -19,36 +19,11 @@
             <el-col :span="1.5">
                 <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['coupon:type:add']">新增</el-button>
             </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="success"-->
-            <!--          plain-->
-            <!--          icon="el-icon-edit"-->
-            <!--           -->
-            <!--          :disabled="single"-->
-            <!--          @click="handleUpdate"-->
-            <!--          v-hasPermi="['coupon:type:edit']"-->
-            <!--        >修改</el-button>-->
-            <!--      </el-col>-->
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['coupon:type:remove']">删除</el-button>
-            </el-col>
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="warning"-->
-            <!--          plain-->
-            <!--          icon="el-icon-download"-->
-            <!--           -->
-            <!--          @click="handleExport"-->
-            <!--          v-hasPermi="['app:couponTypeApplyCloth:export']"-->
-            <!--        >导出</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="couponTypeApplyClothList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" fixed="left" />
-            <!--      <el-table-column label="编号" align="center" prop="id" />-->
+        <Page uri="/mapi/app/couponTypeApplyCloth/list" :request-params="queryParams" ref="pagination">
+            <el-table-column label="编号" align="center" prop="id" />
             <el-table-column label="衣服名称" align="center" prop="clothItemName" />
             <el-table-column label="衣服类型名称" align="center" prop="clothItemTypeName" />
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
@@ -63,9 +38,7 @@
                     <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['coupon:type:remove']">删除</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改优惠券可使用衣物对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
@@ -129,10 +102,7 @@ export default {
             // 是否显示弹出层
             open: false,
             // 查询参数
-            queryParams: {
-                pageNum: 1,
-                pageSize: 10
-            },
+            queryParams: {},
             // 表单参数
             form: {},
             // 表单校验
@@ -155,11 +125,8 @@ export default {
     methods: {
         /** 查询优惠券可使用衣物列表 */
         getList() {
-            this.loading = true
-            listCouponTypeApplyCloth({ ...this.queryParams, ...{ couponTypeId: this.couponTypeId } }).then((response) => {
-                this.couponTypeApplyClothList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         /** 获取衣服类型 */

+ 13 - 66
src/views/order/activity/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
-            <el-form-item label="门店名称" label-width="120px" prop="orgId" v-if="userInfoVO.userType == '00'">
+            <el-form-item label-width="120px" prop="orgId" v-if="userInfoVO.userType == '00'">
                 <el-select v-model="queryParams.orgId" filterable placeholder="请选择" clearable>
                     <el-option-group label="门店">
                         <template>
@@ -10,27 +10,27 @@
                     </el-option-group>
                 </el-select>
             </el-form-item>
-            <el-form-item label="订单编号" prop="orderNo">
+            <el-form-item prop="orderNo">
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="订单状态" prop="orderStatus">
+            <el-form-item prop="orderStatus">
                 <el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
                     <el-option v-for="dict in dict.type.activity_order_status" :key="dict.code" :label="dict.label" :value="dict.value" />
                 </el-select>
             </el-form-item>
-            <el-form-item label="客户名称" prop="realName">
+            <el-form-item prop="realName">
                 <el-input v-model="queryParams.realName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="客户手机号" prop="phoneNumber">
+            <el-form-item prop="phoneNumber">
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入客户手机号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="活动名称" prop="activityTitle">
+            <el-form-item prop="activityTitle">
                 <el-input v-model="queryParams.activityTitle" placeholder="请输入活动名称" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="支付时间">
+            <el-form-item>
                 <el-date-picker clearable v-model="queryPayTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getPayTime"> </el-date-picker>
             </el-form-item>
-            <el-form-item label="下单时间">
+            <el-form-item>
                 <el-date-picker clearable v-model="queryCreateTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getCreateTime"> </el-date-picker>
             </el-form-item>
             <el-form-item>
@@ -40,45 +40,13 @@
         </el-form>
 
         <el-row :gutter="10" class="mb8">
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="primary"-->
-            <!--          plain-->
-            <!--          icon="el-icon-plus"-->
-            <!--           -->
-            <!--          @click="handleAdd"-->
-            <!--          v-hasPermi="['order:activity:add']"-->
-            <!--        >新增</el-button>-->
-            <!--      </el-col>-->
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="success"-->
-            <!--          plain-->
-            <!--          icon="el-icon-edit"-->
-            <!--           -->
-            <!--          :disabled="single"-->
-            <!--          @click="handleUpdate"-->
-            <!--          v-hasPermi="['order:activity:edit']"-->
-            <!--        >修改</el-button>-->
-            <!--      </el-col>-->
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button-->
-            <!--          type="danger"-->
-            <!--          plain-->
-            <!--          icon="el-icon-delete"-->
-            <!--           -->
-            <!--          :disabled="multiple"-->
-            <!--          @click="handleDelete"-->
-            <!--          v-hasPermi="['order:activity:remove']"-->
-            <!--        >删除</el-button>-->
-            <!--      </el-col>-->
             <el-col :span="1.5">
                 <el-button type="warning" plain icon="el-icon-download" @click="handleExport" v-hasPermi="['order:activity:export']">导出</el-button>
             </el-col>
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="activityList" @selection-change="handleSelectionChange">
-            <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
+
+        <Page uri="/mapi/order/activity/list" :request-params="queryParams" ref="pagination">
             <el-table-column label="编号id" align="center" prop="id" width="180px" />
             <el-table-column label="客户姓名" align="center" prop="realName" width="100px" />
             <el-table-column label="客户手机号" align="center" prop="phoneNumber" width="120px" />
@@ -129,25 +97,9 @@
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
                 <template slot-scope="scope">
                     <el-button type="text" icon="el-icon-chat-dot-square" @click="refundOrder(scope.row)" v-if="userInfoVO.userType == '00' && scope.row.orderStatus != '0' && scope.row.orderStatus != '6'">撤单</el-button>
-                    <!-- <el-button
-
-           type="text"
-           icon="el-icon-edit"
-           @click="handleUpdate(scope.row)"
-           v-hasPermi="['order:activity:edit']"
-         >修改</el-button>
-         <el-button
-
-           type="text"
-           icon="el-icon-delete"
-           @click="handleDelete(scope.row)"
-           v-hasPermi="['order:activity:remove']"
-         >删除</el-button> -->
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改活动订单对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
@@ -249,8 +201,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 realName: null,
                 phoneNumber: null,
                 activityTitle: null,
@@ -300,11 +250,8 @@ export default {
         },
         /** 查询活动订单列表 */
         getList() {
-            this.loading = true
-            listActivity(this.queryParams).then((response) => {
-                this.activityList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 13 - 13
src/views/order/cloth/orderList.vue

@@ -1,8 +1,8 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
-            <el-form-item label="工厂/门店名称" label-width="120px" prop="orgIndex" v-if="userInfoVO.userType == '00'">
-                <el-select v-model="queryParams.orgIndex" filterable placeholder="请选择" clearable>
+            <el-form-item label-width="120px" prop="orgIndex" v-if="userInfoVO.userType == '00'">
+                <el-select v-model="queryParams.orgIndex" filterable placeholder="请选择工厂门店" clearable>
                     <el-option-group label="工厂">
                         <template>
                             <el-option v-for="factory in factoryList" :key="factory.id + factory.sourceType" :label="factory.name" :value="factory.id + ',' + factory.sourceType"> </el-option>
@@ -15,7 +15,7 @@
                     </el-option-group>
                 </el-select>
             </el-form-item>
-            <el-form-item label="订单状态" prop="orderStatus">
+            <el-form-item prop="orderStatus">
                 <el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
                     <el-option key="6" label="清洗中" value="6" />
                     <el-option key="7" label="已上挂" value="7" />
@@ -24,22 +24,22 @@
                     <el-option key="11" label="已完成" value="11" />
                 </el-select>
             </el-form-item>
-            <el-form-item label="订单来源" prop="orderSource">
-                <el-select v-model="queryParams.orderSource" placeholder="请选择订单来源" clearable>
-                    <el-option key="0" label="线上" value="0" />
-                    <el-option key="1" label="线下" value="1" />
-                </el-select>
-            </el-form-item>
-            <el-form-item label="订单条码" prop="orderNo">
+            <!--            <el-form-item  prop="orderSource">-->
+            <!--                <el-select v-model="queryParams.orderSource" placeholder="请选择订单来源" clearable>-->
+            <!--                    <el-option key="0" label="线上" value="0" />-->
+            <!--                    <el-option key="1" label="线下" value="1" />-->
+            <!--                </el-select>-->
+            <!--            </el-form-item>-->
+            <el-form-item prop="orderNo">
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单条码" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="创建时间">
+            <el-form-item>
                 <el-date-picker v-model="createTimeRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
             </el-form-item>
-            <el-form-item label="会员手机" prop="appUserPhoneNumber">
+            <el-form-item prop="appUserPhoneNumber">
                 <el-input v-model="queryParams.appUserPhoneNumber" placeholder="请输入会员手机" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="会员条码" prop="userId">
+            <el-form-item prop="userId">
                 <el-input v-model="queryParams.userId" placeholder="会员条码" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
 

+ 10 - 17
src/views/refund/refundRechargeOrder/index.vue

@@ -1,16 +1,16 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="订单编号" prop="orderNo" v-if="userInfoVO.userType == '00'">
+            <el-form-item prop="orderNo" v-if="userInfoVO.userType == '00'">
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="手机号" prop="phoneNumber">
+            <el-form-item prop="phoneNumber">
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="客户姓名" prop="realName">
+            <el-form-item prop="realName">
                 <el-input v-model="queryParams.realName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="门店名称" label-width="120px" prop="orgId" v-if="userInfoVO.userType == '00'">
+            <el-form-item label-width="120px" prop="orgId" v-if="userInfoVO.userType == '00'">
                 <el-select v-model="queryParams.orgId" placeholder="请选择" clearable>
                     <el-option-group label="门店">
                         <template>
@@ -19,10 +19,10 @@
                     </el-option-group>
                 </el-select>
             </el-form-item>
-            <el-form-item label="下单时间" prop="queryCreateTime">
+            <el-form-item prop="queryCreateTime">
                 <el-date-picker clearable v-model="queryParams.queryCreateTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
             </el-form-item>
-            <el-form-item label="退款时间" prop="queryRefundTime">
+            <el-form-item prop="queryRefundTime">
                 <el-date-picker clearable v-model="queryParams.queryRefundTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
             </el-form-item>
             <el-form-item>
@@ -38,9 +38,7 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="orderList" @selection-change="handleSelectionChange">
-            <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
-            <!--      <el-table-column label="主键ID" align="center" prop="id" />-->
+        <Page uri="/mapi/recharge/refund/refundRechargeOrderList" :request-params="queryParams" ref="pagination">
             <el-table-column label="订单编号" align="center" width="190" prop="orderNo" />
             <el-table-column label="客户姓名" align="center" prop="realName" />
             <el-table-column label="客户手机号" align="center" prop="phoneNumber" width="110" />
@@ -94,7 +92,7 @@
                     <el-button type="text" @click="handleDetail(scope.row)">支付明细</el-button>
                 </template>
             </el-table-column>
-        </el-table>
+        </Page>
 
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
 
@@ -151,8 +149,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 orderNo: null,
                 sourceType: null,
                 orgId: null,
@@ -195,7 +191,6 @@ export default {
         },
         /** 查询充值订单列表 */
         getList() {
-            this.loading = true
             const param = { ...this.queryParams }
             if (this.queryParams.queryCreateTime != null) {
                 param.createTimeFrom = this.queryParams.queryCreateTime[0]
@@ -207,10 +202,8 @@ export default {
                 param.endRefundTime = this.queryParams.queryRefundTime[1]
                 param.queryRefundTime = null
             }
-            refundRechargeOrderList(param).then((response) => {
-                this.orderList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮

+ 9 - 15
src/views/refund/refundRetailOrder/index.vue

@@ -1,16 +1,16 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="订单编号" prop="orderNo">
+            <el-form-item prop="orderNo">
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="客户姓名" prop="realName">
+            <el-form-item prop="realName">
                 <el-input v-model="queryParams.realName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="手机号" prop="phoneNumber">
+            <el-form-item prop="phoneNumber">
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="退款状态" prop="refundStatus">
+            <el-form-item prop="refundStatus">
                 <el-select v-model="queryParams.refundStatus" placeholder="请选择支付状态" clearable>
                     <el-option v-for="dict in dict.type.goods_order_refund_status" :key="dict.value" :label="dict.label" :value="dict.value" />
                 </el-select>
@@ -28,7 +28,7 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="orderLoading" :data="GoodsList">
+        <Page uri="/mapi/order/goods/refundOrderGoodsList" :request-params="queryParams" ref="pagination">
             <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
             <el-table-column label="订单编号" align="center" prop="orderNo" width="190" />
             <el-table-column label="客户姓名" align="center" prop="realName" width="80px" />
@@ -68,9 +68,7 @@
                     <el-button type="text" icon="el-icon-chat-dot-square" @click="orderDetail(scope.row)">订单详情</el-button>
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!--    详情-->
         <el-dialog :title="detailTitle" :visible.sync="openDetail" width="80%">
@@ -157,8 +155,6 @@ export default {
             openApprovalPage: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 realName: null,
                 phoneNumber: null,
                 orderNo: null,
@@ -194,11 +190,9 @@ export default {
             this.userInfoVO = this.getUserInfo()
         },
         getList() {
-            this.orderLoading = true
-            refundOrderGoodsList({ ...this.queryParams, ...{ goodsType: this.goodsType } }).then((response) => {
-                this.GoodsList = response.rows
-                this.total = response.total
-                this.orderLoading = false
+            this.queryParams.goodsType = this.goodsType
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         /** 搜索按钮操作 */

+ 2 - 12
src/views/settlement/bill/index.vue

@@ -1,10 +1,10 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="账单标题" prop="title">
+            <el-form-item prop="title">
                 <el-input v-model="queryParams.title" placeholder="请输入账单标题" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-            <el-form-item label="开始时间">
+            <el-form-item>
                 <el-date-picker v-model="monthTime" value-format="yyyy-MM" type="month" placeholder="选择月"> </el-date-picker>
             </el-form-item>
             <el-form-item>
@@ -14,16 +14,6 @@
         </el-form>
 
         <el-row :gutter="10" class="mb8">
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button type="primary" plain icon="el-icon-plus"   @click="handleAdd"-->
-            <!--                   v-hasPermi="['settlement:bill:add']"-->
-            <!--        >新增</el-button>-->
-            <!--      </el-col>-->
-            <!--      <el-col :span="1.5">-->
-            <!--        <el-button type="danger" plain icon="el-icon-delete"   :disabled="multiple" @click="handleDelete"-->
-            <!--                   v-hasPermi="['settlement:bill:remove']"-->
-            <!--        >删除</el-button>-->
-            <!--      </el-col>-->
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 

+ 6 - 14
src/views/settlement/rate/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item :label="sourceType == '01' ? '工厂名称' : '门店名称'" label-width="120px" prop="orgId">
+            <el-form-item label-width="120px" prop="orgId">
                 <el-select v-model="queryParams.orgId" placeholder="请选择" clearable>
                     <el-option-group label="工厂" v-if="sourceType == '01'">
                         <template>
@@ -25,8 +25,7 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="rateList" @selection-change="handleSelectionChange">
-            <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
+        <Page uri="/mapi/settlement/rate/list" :request-params="queryParams" ref="pagination">
             <el-table-column label="编号" align="center" prop="id" width="100px" />
             <el-table-column :label="sourceType == '01' ? '工厂名称' : '门店名称'" align="center">
                 <template slot-scope="scope">
@@ -55,9 +54,7 @@
                     <!--          >删除</el-button>-->
                 </template>
             </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+        </Page>
 
         <!-- 添加或修改结算费率对话框 -->
         <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
@@ -128,8 +125,6 @@ export default {
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
                 orgId: null
             },
             // 表单参数
@@ -157,11 +152,9 @@ export default {
     methods: {
         /** 查询结算费率列表 */
         getList() {
-            this.loading = true
-            listRate({ ...this.queryParams, ...{ sourceType: this.sourceType } }).then((response) => {
-                this.rateList = response.rows
-                this.total = response.total
-                this.loading = false
+            this.queryParams.sourceType = this.sourceType
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         // 取消按钮
@@ -187,7 +180,6 @@ export default {
         },
         /** 搜索按钮操作 */
         handleQuery() {
-            this.queryParams.pageNum = 1
             this.getList()
         },
         /** 重置按钮操作 */

+ 842 - 838
src/views/system/store/add_store.vue

@@ -1,861 +1,865 @@
 <template>
-	<div v-loading="dialogLoading" :element-loading-text="loadingText">
-		<el-row :gutter="15" style="margin-bottom: 80px;width: 90%;margin-left: 5%">
-			<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" label-position="top">
-				<el-col :span="24">
-					<el-form-item label="门店名称" prop="name">
-						<el-input v-model="formData.name" placeholder="请输入门店名称" clearable :style="{width: '100%'}">
-						</el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="门店编码" prop="code">
-						<el-input v-model="formData.code" :maxlength="4" @input="handleInput" :disabled="isEditMode"
-							placeholder="请输入门店编码" clearable :style="{width: '100%'}">
-						</el-input>
-					</el-form-item>
-				</el-col>
+    <div v-loading="dialogLoading" :element-loading-text="loadingText">
+        <el-row :gutter="15" style="margin-bottom: 80px; width: 90%; margin-left: 5%">
+            <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" label-position="top">
+                <el-col :span="24">
+                    <el-form-item label="门店名称" prop="name">
+                        <el-input v-model="formData.name" placeholder="请输入门店名称" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="门店编码" prop="code">
+                        <el-input v-model="formData.code" :maxlength="4" @input="handleInput" :disabled="isEditMode" placeholder="请输入门店编码" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="8">
-					<el-form-item label="门店类型" prop="storeType">
-						<el-select v-model="formData.storeType" placeholder="请选择门店类型" @change="changeStoreType"
-							:disabled="isEditMode" :style="{width: '100%'}">
-							<el-option v-for="(item, index) in storeTypeOptions" :key="index" :label="item.label"
-								:value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="所属工厂" prop="factoryId">
-						<el-select v-model="formData.factoryId" placeholder="请选择所属工厂"
-							:disabled="isEditMode || isEditFactory" :style="{width: '100%'}">
-							<el-option v-for="item in factorys" :label="item.factoryName" :value="item.id"
-								:disabled="!isEditFactory && item.id === 1" :key="item.factoryName">
-							</el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
+                <el-col :span="8">
+                    <el-form-item label="门店类型" prop="storeType">
+                        <el-select v-model="formData.storeType" placeholder="请选择门店类型" @change="changeStoreType" :disabled="isEditMode" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in storeTypeOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="所属工厂" prop="factoryId">
+                        <el-select v-model="formData.factoryId" placeholder="请选择所属工厂" :disabled="isEditMode" :style="{ width: '100%' }">
+                            <el-option v-for="item in factorys" :label="item.factoryName" :value="item.id" :key="item.factoryName"> </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="8">
-					<el-form-item label="门店状态" prop="status">
-						<el-select v-model="formData.status" placeholder="请选择门店状态" :style="{width: '100%'}">
-							<el-option v-for="(item, index) in statusOptions" :key="index" :label="item.label"
-								:value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="是否打印小票" prop="isPrint">
-						<el-select v-model="formData.isPrint" placeholder="请选择是否打印小票" :style="{width: '100%'}">
-							<el-option v-for="(item, index) in isPrintOptions" :key="index" :label="item.label"
-								:value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="是否参与结算" prop="isSettlement">
-						<el-select v-model="formData.isSettlement" placeholder="请选择是否参与结算" :style="{width: '100%'}">
-							<el-option v-for="(item, index) in isSettlementOptions" :key="index" :label="item.label"
-								:value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="条码打印姓名" prop="isCarCodePrintName">
-						<el-select v-model="formData.isCarCodePrintName" placeholder="请选择条码是否打印姓名"
-							:style="{width: '100%'}">
-							<el-option v-for="(item, index) in isCarCodePrintNameOptions" :key="index"
-								:label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="小票打印姓名" prop="isPrintName">
-						<el-select v-model="formData.isPrintName" placeholder="请选择小票是否打印客户姓名" :style="{width: '100%'}">
-							<el-option v-for="(item, index) in isPrintNameOptions" :key="index" :label="item.label"
-								:value="item.value" :disabled="item.disabled"></el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="小票打印数量" prop="printNum">
-						<el-input-number v-model="formData.printNum" placeholder="请输入小票打印数量" :min="0"
-							:step-strictly="true" :style="{width: '100%'}">
-						</el-input-number>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人姓名" prop="contactName">
-						<el-input v-model="formData.contactName" placeholder="请输入负责人姓名" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人职务" prop="contactPost">
-						<el-input v-model="formData.contactPost" placeholder="请输入负责人职务" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="负责人身份证" prop="contactIdcard">
-						<el-input v-model="formData.contactIdcard" placeholder="请输入负责人身份证" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人电话" prop="contactWorkTel">
-						<el-input v-model="formData.contactWorkTel" placeholder="请输入负责人电话" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人手机" prop="contactPhone">
-						<el-input v-model="formData.contactPhone" placeholder="请输入负责人手机" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人传真" prop="contactFax">
-						<el-input v-model="formData.contactFax" placeholder="请输入负责人传真" clearable
-							:style="{width: '100%'}">
-						</el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人邮箱" prop="contactEmail">
-						<el-input v-model="formData.contactEmail" placeholder="请输入负责人邮箱" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="113px" label="负责人邮编" prop="contactZipCode">
-						<el-input v-model="formData.contactZipCode" placeholder="请输入负责人邮编" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
+                <el-col :span="8">
+                    <el-form-item label="门店状态" prop="status">
+                        <el-select v-model="formData.status" placeholder="请选择门店状态" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in statusOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="是否打印小票" prop="isPrint">
+                        <el-select v-model="formData.isPrint" placeholder="请选择是否打印小票" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in isPrintOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="是否参与结算" prop="isSettlement">
+                        <el-select v-model="formData.isSettlement" placeholder="请选择是否参与结算" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in isSettlementOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="条码打印姓名" prop="isCarCodePrintName">
+                        <el-select v-model="formData.isCarCodePrintName" placeholder="请选择条码是否打印姓名" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in isCarCodePrintNameOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="小票打印姓名" prop="isPrintName">
+                        <el-select v-model="formData.isPrintName" placeholder="请选择小票是否打印客户姓名" :style="{ width: '100%' }">
+                            <el-option v-for="(item, index) in isPrintNameOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="小票打印数量" prop="printNum">
+                        <el-input-number v-model="formData.printNum" placeholder="请输入小票打印数量" :min="0" :step-strictly="true" :style="{ width: '100%' }"> </el-input-number>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人姓名" prop="contactName">
+                        <el-input v-model="formData.contactName" placeholder="请输入负责人姓名" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人职务" prop="contactPost">
+                        <el-input v-model="formData.contactPost" placeholder="请输入负责人职务" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="负责人身份证" prop="contactIdcard">
+                        <el-input v-model="formData.contactIdcard" placeholder="请输入负责人身份证" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人电话" prop="contactWorkTel">
+                        <el-input v-model="formData.contactWorkTel" placeholder="请输入负责人电话" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人手机" prop="contactPhone">
+                        <el-input v-model="formData.contactPhone" placeholder="请输入负责人手机" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人传真" prop="contactFax">
+                        <el-input v-model="formData.contactFax" placeholder="请输入负责人传真" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人邮箱" prop="contactEmail">
+                        <el-input v-model="formData.contactEmail" placeholder="请输入负责人邮箱" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="113px" label="负责人邮编" prop="contactZipCode">
+                        <el-input v-model="formData.contactZipCode" placeholder="请输入负责人邮编" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="8">
-					<el-form-item label-width="106px" label="负责人QQ" prop="contactQq">
-						<el-input v-model="formData.contactQq" placeholder="请输入负责人QQ" clearable
-							:style="{width: '100%'}">
-						</el-input>
-					</el-form-item>
-				</el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="106px" label="负责人QQ" prop="contactQq">
+                        <el-input v-model="formData.contactQq" placeholder="请输入负责人QQ" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="8">
-					<el-form-item label="开店时间" prop="openDate">
-						<el-date-picker v-model="formData.openDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
-							:style="{width: '100%'}" placeholder="请选择开店时间" clearable></el-date-picker>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="开始营业时间" prop="businessStartTime">
-						<el-time-picker v-model="formData.businessStartTime" format="HH:mm" value-format="HH:mm"
-							:picker-options='{"selectableRange":"00:00:00-23:59:59"}' :style="{width: '100%'}"
-							placeholder="请选择开始营业时间" clearable></el-time-picker>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label-width="127px" label="结束营业时间" prop="businessEndTime">
-						<el-time-picker v-model="formData.businessEndTime" format="HH:mm" value-format="HH:mm"
-							:picker-options='{"selectableRange":"00:00:00-23:59:59"}' :style="{width: '100%'}"
-							placeholder="请选择结束营业时间" clearable></el-time-picker>
-					</el-form-item>
-				</el-col>
+                <el-col :span="8">
+                    <el-form-item label="开店时间" prop="openDate">
+                        <el-date-picker v-model="formData.openDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :style="{ width: '100%' }" placeholder="请选择开店时间" clearable></el-date-picker>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="开始营业时间" prop="businessStartTime">
+                        <el-time-picker v-model="formData.businessStartTime" format="HH:mm" value-format="HH:mm" :picker-options="{ selectableRange: '00:00:00-23:59:59' }" :style="{ width: '100%' }" placeholder="请选择开始营业时间" clearable></el-time-picker>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label-width="127px" label="结束营业时间" prop="businessEndTime">
+                        <el-time-picker v-model="formData.businessEndTime" format="HH:mm" value-format="HH:mm" :picker-options="{ selectableRange: '00:00:00-23:59:59' }" :style="{ width: '100%' }" placeholder="请选择结束营业时间" clearable></el-time-picker>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="8">
-					<el-form-item label="所属省份" prop="provinceId">
-						<el-select size="small" style="width: 200px" v-model="formData.provinceId"
-							placeholder="请选择省份(直辖市)" v-on:change="changeProvince()">
-							<el-option v-for="item in provinces" :label="item.areaName" :value="item.areaId"
-								:key="item.areaName">
-							</el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="所属城市" prop="cityId">
-						<el-select size="small" style="width: 200px;margin-left: 10px" v-model="formData.cityId"
-							placeholder="请选择城市" v-on:change="changeCity">
-							<el-option v-for="item in citys" :label="item.areaName" :value="item.areaId"
-								:key="item.areaName">
-							</el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="所属地区" prop="areaId">
-						<el-select size="small" style="width: 200px;margin-left: 10px" v-model="formData.areaId"
-							placeholder="请选择区(县)" v-on:change="changeArea">
-							<el-option v-for="item in areas" :label="item.areaName" :value="item.areaId"
-								:key="item.areaName">
-							</el-option>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="24">
-					<el-form-item label="搜索地址" prop="address">
-						<el-autocomplete style="width:100%;" popper-class="autoAddressClass" v-model="formData.address"
-							:fetch-suggestions="querySearchAsync" :trigger-on-focus="false" placeholder="详细地址"
-							@select="handleSelect" clearable>
-							<template slot-scope="{ item }">
-								<em class="el-icon-search fl mgr10" />
-								<div style="overflow:hidden;">
-									<div class="title" style="display:table-cell">{{ item.title }}</div>
-									<span class="address ellipsis">{{ item.address }}</span>
-								</div>
-							</template>
-						</el-autocomplete>
-						<div id="baidu-map-container"
-							style="width: 100%;margin-top: 20px;margin-bottom: 20px; height: 400px;"></div>
-					</el-form-item>
-				</el-col>
+                <el-col :span="8">
+                    <el-form-item label="所属省份" prop="provinceId">
+                        <el-select size="small" style="width: 200px" v-model="formData.provinceId" placeholder="请选择省份(直辖市)" v-on:change="changeProvince()">
+                            <el-option v-for="item in provinces" :label="item.areaName" :value="item.areaId" :key="item.areaName"> </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="所属城市" prop="cityId">
+                        <el-select size="small" style="width: 200px; margin-left: 10px" v-model="formData.cityId" placeholder="请选择城市" v-on:change="changeCity">
+                            <el-option v-for="item in citys" :label="item.areaName" :value="item.areaId" :key="item.areaName"> </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="所属地区" prop="areaId">
+                        <el-select size="small" style="width: 200px; margin-left: 10px" v-model="formData.areaId" placeholder="请选择区(县)" v-on:change="changeArea">
+                            <el-option v-for="item in areas" :label="item.areaName" :value="item.areaId" :key="item.areaName"> </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="搜索地址" prop="address">
+                        <el-autocomplete style="width: 100%" popper-class="autoAddressClass" v-model="formData.address" :fetch-suggestions="querySearchAsync" :trigger-on-focus="false" placeholder="详细地址" @select="handleSelect" clearable>
+                            <template slot-scope="{ item }">
+                                <em class="el-icon-search fl mgr10" />
+                                <div style="overflow: hidden">
+                                    <div class="title" style="display: table-cell">{{ item.title }}</div>
+                                    <span class="address ellipsis">{{ item.address }}</span>
+                                </div>
+                            </template>
+                        </el-autocomplete>
+                        <div id="baidu-map-container" style="width: 100%; margin-top: 20px; margin-bottom: 20px; height: 400px"></div>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="24">
-					<el-form-item label="门牌号" prop="addressDetail">
-						<el-input v-model="formData.addressDetail" placeholder="请输入门牌号" clearable
-							:style="{width: '100%'}" size="medium"></el-input>
-					</el-form-item>
-				</el-col>
+                <el-col :span="24">
+                    <el-form-item label="门牌号" prop="addressDetail">
+                        <el-input v-model="formData.addressDetail" placeholder="请输入门牌号" clearable :style="{ width: '100%' }" size="medium"></el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="12">
-					<el-form-item label="企业性质" prop="companyType">
-						<el-input v-model="formData.companyType" placeholder="请输入企业性质" clearable
-							:style="{width: '100%'}">
-						</el-input>
-					</el-form-item>
-				</el-col>
+                <el-col :span="12">
+                    <el-form-item label="企业性质" prop="companyType">
+                        <el-input v-model="formData.companyType" placeholder="请输入企业性质" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="12">
-					<el-form-item label="办公面积" prop="officeArea">
-						<el-input v-model="formData.officeArea" oninput="value=value.replace(/[^0-9]/g,'')"
-							placeholder="请输入办公面积" clearable :style="{width: '100%'}">
-							<template slot="append">(平米)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
+                <el-col :span="12">
+                    <el-form-item label="办公面积" prop="officeArea">
+                        <el-input v-model="formData.officeArea" oninput="value=value.replace(/[^0-9]/g,'')" placeholder="请输入办公面积" clearable :style="{ width: '100%' }">
+                            <template slot="append">(平米)</template>
+                        </el-input>
+                    </el-form-item>
+                </el-col>
 
+                <el-col :span="24">
+                    <el-form-item label="企业业务" prop="companyDetail">
+                        <el-input v-model="formData.companyDetail" type="textarea" placeholder="请输入企业业务" clearable :style="{ width: '100%' }"></el-input>
+                    </el-form-item>
+                </el-col>
 
-				<el-col :span="24">
-					<el-form-item label="企业业务" prop="companyDetail">
-						<el-input v-model="formData.companyDetail" type="textarea" placeholder="请输入企业业务" clearable
-							:style="{width: '100%'}"></el-input>
-					</el-form-item>
-				</el-col>
-
-				<el-col :span="12">
-					<el-form-item label="门店图片" prop="companyPic">
-						<el-upload ref="companyPic" :file-list="companyPicfileList" :action="companyPicAction"
-							:before-upload="companyPicBeforeUpload" :on-success="companyPicUploadSuccess"
-							:on-remove="companyPicOnRemove" list-type="picture" accept="image/*">
-							<el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
-							<div slot="tip" class="el-upload__tip">只能上传不超过 2MB 的文件</div>
-						</el-upload>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="营业执照" prop="companyLicencePic">
-						<el-upload ref="companyLicencePic" :file-list="companyLicencePicfileList"
-							:action="companyLicencePicAction" :before-upload="companyLicencePicBeforeUpload"
-							:on-success="companyLicencePicUploadSuccess" :on-remove="companyLicencePicOnRemove"
-							list-type="picture" accept="image/*">
-							<el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
-							<div slot="tip" class="el-upload__tip">只能上传不超过 2MB 的文件</div>
-						</el-upload>
-					</el-form-item>
-				</el-col>
-
-			</el-form>
-		</el-row>
-		<div slot="footer" class="dialog-footer">
-			<el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>
-			<el-button @click="closeDialog">取 消</el-button>
-		</div>
-	</div>
+                <el-col :span="12">
+                    <el-form-item label="门店图片" prop="companyPic">
+                        <el-upload ref="companyPic" :file-list="companyPicfileList" :action="companyPicAction" :before-upload="companyPicBeforeUpload" :on-success="companyPicUploadSuccess" :on-remove="companyPicOnRemove" list-type="picture" accept="image/*">
+                            <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
+                            <div slot="tip" class="el-upload__tip">只能上传不超过 2MB 的文件</div>
+                        </el-upload>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="营业执照" prop="companyLicencePic">
+                        <el-upload ref="companyLicencePic" :file-list="companyLicencePicfileList" :action="companyLicencePicAction" :before-upload="companyLicencePicBeforeUpload" :on-success="companyLicencePicUploadSuccess" :on-remove="companyLicencePicOnRemove" list-type="picture" accept="image/*">
+                            <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
+                            <div slot="tip" class="el-upload__tip">只能上传不超过 2MB 的文件</div>
+                        </el-upload>
+                    </el-form-item>
+                </el-col>
+            </el-form>
+        </el-row>
+        <div slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>
+            <el-button @click="closeDialog">取 消</el-button>
+        </div>
+    </div>
 </template>
 <script>
-	import {
-		getStore,
-		addStore,
-		updateStore
-	} from "@/api/system/store";
-	import {
-		listArea
-	} from "@/api/system/area";
-	import {
-		listFactory
-	} from "@/api/system/factory";
-
-	export default {
-		components: {},
-		props: [],
-		data() {
-			return {
-				dialogLoading: true,
-				loadingText: '查询中',
-				formData: {
-					code: undefined,
-					name: undefined,
-					factoryId: undefined,
-					storeType: "0",
-					status: "0",
-					isPrint: "0",
-					isSettlement: "0",
-					isCarCodePrintName: "0",
-					isPrintName: "0",
-					printNum: 0,
-					contactName: undefined,
-					contactPost: undefined,
-					contactIdcard: undefined,
-					contactWorkTel: undefined,
-					contactPhone: undefined,
-					contactFax: undefined,
-					contactEmail: undefined,
-					contactZipCode: undefined,
-					officeArea: 0,
-					openDate: null,
-					businessStartTime: '09:00:00',
-					businessEndTime: '17:30:00',
-					companyType: undefined,
-					contactQq: undefined,
-					companyDetail: undefined,
-					companyPic: null,
-					companyLicencePic: null,
-					province: '', // 省
-					city: '', // 市
-					area: '', // 区
-					address: '',
-					addressDetail: ''
-				},
-				rules: {
-					code: [{
-						required: true,
-						message: '请输入门店编码',
-						trigger: 'blur'
-					}],
-					name: [{
-						required: true,
-						message: '请输入门店名称',
-						trigger: 'blur'
-					}],
-					factoryId: [{
-						required: true,
-						message: '请选择所属工厂',
-						trigger: 'change'
-					}],
-					contactName: [{
-						required: true,
-						message: '请输入负责人姓名',
-						trigger: 'blur'
-					}],
-					contactPost: [{
-						required: true,
-						message: '请输入负责人职务',
-						trigger: 'blur'
-					}],
-					contactIdcard: [{
-						required: true,
-						trigger: 'blur',
-						validator: this.checkIdCardNumber
-					}],
-					contactPhone: [{
-						required: true,
-						trigger: 'blur',
-						validator: this.checkPhone
-					}],
-					contactEmail: [{
-						trigger: 'blur',
-						validator: this.checkEmail
-					}],
-					openDate: [{
-						required: true,
-						message: '请选择开店时间',
-						trigger: 'change'
-					}],
-					businessStartTime: [{
-						required: true,
-						message: '请选择开始营业时间',
-						trigger: 'change'
-					}],
-					businessEndTime: [{
-						required: true,
-						message: '请选择结束营业时间',
-						trigger: 'change'
-					}],
-					companyType: [{
-						required: true,
-						message: '请输入企业性质',
-						trigger: 'blur'
-					}],
-
-					companyDetail: [{
-						required: true,
-						message: '请输入企业业务',
-						trigger: 'blur'
-					}],
-					provinceId: [{
-						required: true,
-						message: '请选择所属省份',
-						trigger: 'change'
-					}],
-					cityId: [{
-						required: true,
-						message: '请选择所属城市',
-						trigger: 'change'
-					}],
-					areaId: [{
-						required: true,
-						message: '请选择所属地区',
-						trigger: 'change'
-					}],
-					address: [{
-						required: true,
-						message: '请输入具体地址',
-						trigger: 'blur'
-					}],
-				},
-				storeTypeOptions: [{
-					"label": "直营店",
-					"value": '0'
-				}, {
-					"label": "加盟店",
-					"value": '1'
-				}],
-				statusOptions: [{
-					"label": "正常",
-					"value": '0'
-				}, {
-					"label": "禁用",
-					"value": '1'
-				}],
-				isPrintOptions: [{
-					"label": "是",
-					"value": '0'
-				}, {
-					"label": "否",
-					"value": '1'
-				}],
-				isSettlementOptions: [{
-					"label": "是",
-					"value": '0'
-				}, {
-					"label": "否",
-					"value": '1'
-				}],
-				isCarCodePrintNameOptions: [{
-					"label": "是",
-					"value": '0'
-				}, {
-					"label": "否",
-					"value": '1'
-				}],
-				isPrintNameOptions: [{
-					"label": "是",
-					"value": '0'
-				}, {
-					"label": "否",
-					"value": '1'
-				}],
-				companyPicfileList: [],
-				companyLicencePicfileList: [],
-				companyPicAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
-				companyLicencePicAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
-				provinces: [],
-				citys: [],
-				areas: [],
-				factorys: [],
-				isEditMode: false,
-				isEditFactory: false
-			}
-		},
-		computed: {},
-		watch: {},
-		created() {
-			this.getProvince(1);
-			this.getFactoryList();
-		},
-		async mounted() {
-			await this.loadBMap('muIMwle2eOkTHf453rwRNgMa0W83j2PX') //加载引入BMap
-			this.initBaiduMap()
-		},
-		methods: {
-			/** 获取所属工厂 */
-			getFactoryList() {
-				listFactory().then(response => {
-					this.factorys = response.rows;
-				});
-			},
-			checkTel(rule, value, callback) {
-				const regex = /^\d{3}-\d{3}-\d{4}$/; // 电话正则表达式
-				if (!regex.test(value)) {
-					callback(new Error('请输入正确的电话号'));
-				} else {
-					callback();
-				}
-			},
-			checkEmail(rule, value, callback) {
-				const regex =
-					/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;; // 邮箱正则表达式
-				if (!regex.test(value) && value != '') {
-					callback(new Error('请输入正确的邮箱'));
-				} else {
-					callback();
-				}
-			},
-			checkPhone(rule, value, callback) {
-				const regex = /^1[0-9]{10}$/; // 手机号正则表达式
-				if (!regex.test(value)) {
-					callback(new Error('请输入正确的手机号'));
-				} else {
-					callback();
-				}
-			},
-			checkIdCardNumber(rule, value, callback) {
-				const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/; // 身份证正则表达式
-				if (!regex.test(value)) {
-					callback(new Error('请输入正确的身份证号码'));
-				} else {
-					callback();
-				}
-			},
-			changeStoreType() {
-
-				if (this.formData.storeType === '0') {
-					this.formData.factoryId = 1
-					this.isEditFactory = true
-				} else {
-					this.isEditFactory = false
-					this.formData.factoryId = null
-				}
-			},
-			handleInput() {
-				if (this.inputValue.length > 4) {
-					this.inputValue = this.inputValue.slice(0, 4);
-				}
-				this.inputValue = this.inputValue.replace(/\D/g, '');
-			},
-			setInitData(storeId) {
-				this.id = storeId
-				this.companyPicList = []
-				this.companyLicencePicList = []
-				if (storeId != undefined && storeId != '') {
-					this.dialogLoading = true
-					this.loadingText = '查询中'
-					getStore(this.id).then(res => {
-						this.formData = res.data
-						this.isEditMode = true
-						//获取所属城市和所属地区
-						this.getProvince(2, this.formData.provinceId);
-						this.getProvince(3, this.formData.cityId);
-						this.dialogLoading = false
-						//地图定位
-						var point = new BMap.Point(this.formData.longitude, this.formData.latitude);
-						this.map.centerAndZoom(point, 19)
-						this.mk = new BMap.Marker(point, {
-							enableDragging: true
-						}) //创建一个图像标注实例,enableDragging:是否启用拖拽,默认为false
-						this.map.addOverlay(this.mk) //将覆盖物添加到地图中
+import { getStore, addStore, updateStore } from '@/api/system/store'
+import { listArea } from '@/api/system/area'
+import { listFactory } from '@/api/system/factory'
 
-						if (this.formData.companyPic) {
-							this.companyPicfileList = [{
-								url: this.formData.companyPic
-							}]
-						}
-						if (this.formData.companyLicencePic) {
-							this.companyLicencePicfileList = [{
-								url: this.formData.companyLicencePic
-							}]
-						}
-						this.resetForm('elForm')
-					}).catch(e => {
-						this.dialogLoading = false
-						this.$message.error(e.data.msg)
-					})
-				} else {
-					this.dialogLoading = false
-					this.formData.factoryId = 1
-					this.isEditFactory = true
-				}
-			},
-			/** 获取省份 */
-			getProvince(level, parentId) {
-				let provinceParams = {
-					"level": level,
-					"parentId": parentId
-				};
-				listArea(provinceParams).then(response => {
-					if (level === 1) {
-						this.provinces = response.data;
-					} else if (level === 2) {
-						this.citys = response.data;
-					} else {
-						this.areas = response.data;
-					}
-				});
-			},
-			/** 获取城市 */
-			changeProvince() {
-				let cityParams = {
-					"parentId": this.formData.provinceId
-				};
-				const selectedOption = this.provinces.find(option => option.areaId === this.formData.provinceId);
-				this.formData.provinceName = selectedOption ? selectedOption.areaName : null;
-				listArea(cityParams).then(response => {
-					this.citys = response.data;
-				});
-				if (this.formData.cityId != null) {
-					this.formData.cityId = null;
-					this.formData.areaId = null;
-					this.areas = [];
-				}
-			},
-			/** 获取区县 */
-			changeCity() {
-				let cityParams = {
-					"parentId": this.formData.cityId
-				};
-				const selectedOption = this.citys.find(option => option.areaId === this.formData.cityId);
-				this.formData.cityName = selectedOption ? selectedOption.areaName : null;
-				listArea(cityParams).then(response => {
-					this.areas = response.data;
-				});
-				if (this.formData.areaId != null) {
-					this.formData.areaId = null;
-				}
-			},
-			/** 获取区县 */
-			changeArea() {
+export default {
+    components: {},
+    props: [],
+    data() {
+        return {
+            dialogLoading: true,
+            loadingText: '查询中',
+            formData: {
+                code: undefined,
+                name: undefined,
+                factoryId: undefined,
+                storeType: '0',
+                status: '0',
+                isPrint: '0',
+                isSettlement: '0',
+                isCarCodePrintName: '0',
+                isPrintName: '0',
+                printNum: 0,
+                contactName: undefined,
+                contactPost: undefined,
+                contactIdcard: undefined,
+                contactWorkTel: undefined,
+                contactPhone: undefined,
+                contactFax: undefined,
+                contactEmail: undefined,
+                contactZipCode: undefined,
+                officeArea: 0,
+                openDate: null,
+                businessStartTime: '09:00:00',
+                businessEndTime: '17:30:00',
+                companyType: undefined,
+                contactQq: undefined,
+                companyDetail: undefined,
+                companyPic: null,
+                companyLicencePic: null,
+                province: '', // 省
+                city: '', // 市
+                area: '', // 区
+                address: '',
+                addressDetail: ''
+            },
+            rules: {
+                code: [
+                    {
+                        required: true,
+                        message: '请输入门店编码',
+                        trigger: 'blur'
+                    }
+                ],
+                name: [
+                    {
+                        required: true,
+                        message: '请输入门店名称',
+                        trigger: 'blur'
+                    }
+                ],
+                factoryId: [
+                    {
+                        required: true,
+                        message: '请选择所属工厂',
+                        trigger: 'change'
+                    }
+                ],
+                contactName: [
+                    {
+                        required: true,
+                        message: '请输入负责人姓名',
+                        trigger: 'blur'
+                    }
+                ],
+                contactPost: [
+                    {
+                        required: true,
+                        message: '请输入负责人职务',
+                        trigger: 'blur'
+                    }
+                ],
+                contactIdcard: [
+                    {
+                        required: true,
+                        trigger: 'blur',
+                        validator: this.checkIdCardNumber
+                    }
+                ],
+                contactPhone: [
+                    {
+                        required: true,
+                        trigger: 'blur',
+                        validator: this.checkPhone
+                    }
+                ],
+                contactEmail: [
+                    {
+                        trigger: 'blur',
+                        validator: this.checkEmail
+                    }
+                ],
+                openDate: [
+                    {
+                        required: true,
+                        message: '请选择开店时间',
+                        trigger: 'change'
+                    }
+                ],
+                businessStartTime: [
+                    {
+                        required: true,
+                        message: '请选择开始营业时间',
+                        trigger: 'change'
+                    }
+                ],
+                businessEndTime: [
+                    {
+                        required: true,
+                        message: '请选择结束营业时间',
+                        trigger: 'change'
+                    }
+                ],
+                companyType: [
+                    {
+                        required: true,
+                        message: '请输入企业性质',
+                        trigger: 'blur'
+                    }
+                ],
 
-				const selectedOption = this.areas.find(option => option.areaId === this.formData.areaId);
-				this.formData.areaName = selectedOption ? selectedOption.areaName : null;
+                companyDetail: [
+                    {
+                        required: true,
+                        message: '请输入企业业务',
+                        trigger: 'blur'
+                    }
+                ],
+                provinceId: [
+                    {
+                        required: true,
+                        message: '请选择所属省份',
+                        trigger: 'change'
+                    }
+                ],
+                cityId: [
+                    {
+                        required: true,
+                        message: '请选择所属城市',
+                        trigger: 'change'
+                    }
+                ],
+                areaId: [
+                    {
+                        required: true,
+                        message: '请选择所属地区',
+                        trigger: 'change'
+                    }
+                ],
+                address: [
+                    {
+                        required: true,
+                        message: '请输入具体地址',
+                        trigger: 'blur'
+                    }
+                ]
+            },
+            storeTypeOptions: [
+                {
+                    label: '直营店',
+                    value: '0'
+                },
+                {
+                    label: '加盟店',
+                    value: '1'
+                }
+            ],
+            statusOptions: [
+                {
+                    label: '正常',
+                    value: '0'
+                },
+                {
+                    label: '禁用',
+                    value: '1'
+                }
+            ],
+            isPrintOptions: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            isSettlementOptions: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            isCarCodePrintNameOptions: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            isPrintNameOptions: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            companyPicfileList: [],
+            companyLicencePicfileList: [],
+            companyPicAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
+            companyLicencePicAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
+            provinces: [],
+            citys: [],
+            areas: [],
+            factorys: [],
+            isEditMode: false,
+            isEditFactory: false
+        }
+    },
+    computed: {},
+    watch: {},
+    created() {
+        this.getProvince(1)
+        this.getFactoryList()
+    },
+    async mounted() {
+        await this.loadBMap('muIMwle2eOkTHf453rwRNgMa0W83j2PX') //加载引入BMap
+        this.initBaiduMap()
+    },
+    methods: {
+        /** 获取所属工厂 */
+        getFactoryList() {
+            listFactory().then((response) => {
+                this.factorys = response.rows
+            })
+        },
+        checkTel(rule, value, callback) {
+            const regex = /^\d{3}-\d{3}-\d{4}$/ // 电话正则表达式
+            if (!regex.test(value)) {
+                callback(new Error('请输入正确的电话号'))
+            } else {
+                callback()
+            }
+        },
+        checkEmail(rule, value, callback) {
+            const regex = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/ // 邮箱正则表达式
+            if (!regex.test(value) && value != '') {
+                callback(new Error('请输入正确的邮箱'))
+            } else {
+                callback()
+            }
+        },
+        checkPhone(rule, value, callback) {
+            const regex = /^1[0-9]{10}$/ // 手机号正则表达式
+            if (!regex.test(value)) {
+                callback(new Error('请输入正确的手机号'))
+            } else {
+                callback()
+            }
+        },
+        checkIdCardNumber(rule, value, callback) {
+            const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/ // 身份证正则表达式
+            if (!regex.test(value)) {
+                callback(new Error('请输入正确的身份证号码'))
+            } else {
+                callback()
+            }
+        },
+        changeStoreType() {
+            if (this.formData.storeType === '0') {
+                this.formData.factoryId = 1
+                this.isEditFactory = true
+            } else {
+                this.isEditFactory = false
+                this.formData.factoryId = null
+            }
+        },
+        handleInput() {
+            if (this.inputValue.length > 4) {
+                this.inputValue = this.inputValue.slice(0, 4)
+            }
+            this.inputValue = this.inputValue.replace(/\D/g, '')
+        },
+        setInitData(storeId) {
+            this.id = storeId
+            this.companyPicList = []
+            this.companyLicencePicList = []
+            if (storeId != undefined && storeId != '') {
+                this.dialogLoading = true
+                this.loadingText = '查询中'
+                getStore(this.id)
+                    .then((res) => {
+                        this.formData = res.data
+                        this.isEditMode = true
+                        //获取所属城市和所属地区
+                        this.getProvince(2, this.formData.provinceId)
+                        this.getProvince(3, this.formData.cityId)
+                        this.dialogLoading = false
+                        //地图定位
+                        var point = new BMap.Point(this.formData.longitude, this.formData.latitude)
+                        this.map.centerAndZoom(point, 19)
+                        this.mk = new BMap.Marker(point, {
+                            enableDragging: true
+                        }) //创建一个图像标注实例,enableDragging:是否启用拖拽,默认为false
+                        this.map.addOverlay(this.mk) //将覆盖物添加到地图中
 
-			},
-			submitForm() {
-				this.$refs['elForm'].validate(valid => {
-					if (!valid) return
-					// TODO 提交表单
-					// TODO 提交表单
-					console.log(this.formData);
+                        if (this.formData.companyPic) {
+                            this.companyPicfileList = [
+                                {
+                                    url: this.formData.companyPic
+                                }
+                            ]
+                        }
+                        if (this.formData.companyLicencePic) {
+                            this.companyLicencePicfileList = [
+                                {
+                                    url: this.formData.companyLicencePic
+                                }
+                            ]
+                        }
+                        this.resetForm('elForm')
+                    })
+                    .catch((e) => {
+                        this.dialogLoading = false
+                        this.$message.error(e.data.msg)
+                    })
+            } else {
+                this.dialogLoading = false
+                this.formData.factoryId = 1
+                this.isEditFactory = true
+            }
+        },
+        /** 获取省份 */
+        getProvince(level, parentId) {
+            let provinceParams = {
+                level: level,
+                parentId: parentId
+            }
+            listArea(provinceParams).then((response) => {
+                if (level === 1) {
+                    this.provinces = response.data
+                } else if (level === 2) {
+                    this.citys = response.data
+                } else {
+                    this.areas = response.data
+                }
+            })
+        },
+        /** 获取城市 */
+        changeProvince() {
+            let cityParams = {
+                parentId: this.formData.provinceId
+            }
+            const selectedOption = this.provinces.find((option) => option.areaId === this.formData.provinceId)
+            this.formData.provinceName = selectedOption ? selectedOption.areaName : null
+            listArea(cityParams).then((response) => {
+                this.citys = response.data
+            })
+            if (this.formData.cityId != null) {
+                this.formData.cityId = null
+                this.formData.areaId = null
+                this.areas = []
+            }
+        },
+        /** 获取区县 */
+        changeCity() {
+            let cityParams = {
+                parentId: this.formData.cityId
+            }
+            const selectedOption = this.citys.find((option) => option.areaId === this.formData.cityId)
+            this.formData.cityName = selectedOption ? selectedOption.areaName : null
+            listArea(cityParams).then((response) => {
+                this.areas = response.data
+            })
+            if (this.formData.areaId != null) {
+                this.formData.areaId = null
+            }
+        },
+        /** 获取区县 */
+        changeArea() {
+            const selectedOption = this.areas.find((option) => option.areaId === this.formData.areaId)
+            this.formData.areaName = selectedOption ? selectedOption.areaName : null
+        },
+        submitForm() {
+            this.$refs['elForm'].validate((valid) => {
+                if (!valid) return
+                // TODO 提交表单
+                // TODO 提交表单
+                console.log(this.formData)
 
-					if (this.companyPicfileList && this.companyPicfileList.length > 0) {
-						this.formData.companyPic = this.companyPicfileList[0].url
-					} else {
-						this.formData.companyPic = ''
-					}
-					if (this.companyLicencePicfileList && this.companyLicencePicfileList.length > 0) {
-						this.formData.companyLicencePic = this.companyLicencePicfileList[0].url
-					} else {
-						this.formData.companyLicencePic = ''
-					}
+                if (this.companyPicfileList && this.companyPicfileList.length > 0) {
+                    this.formData.companyPic = this.companyPicfileList[0].url
+                } else {
+                    this.formData.companyPic = ''
+                }
+                if (this.companyLicencePicfileList && this.companyLicencePicfileList.length > 0) {
+                    this.formData.companyLicencePic = this.companyLicencePicfileList[0].url
+                } else {
+                    this.formData.companyLicencePic = ''
+                }
 
-					if (this.formData.hasOwnProperty('addrPoint')) {
-						this.formData.longitude = this.formData.addrPoint.lng
-						this.formData.latitude = this.formData.addrPoint.lat
-					}
+                if (this.formData.hasOwnProperty('addrPoint')) {
+                    this.formData.longitude = this.formData.addrPoint.lng
+                    this.formData.latitude = this.formData.addrPoint.lat
+                }
 
-					this.dialogLoading = true
-					this.loadingText = '保存中'
-					if (this.id == undefined || this.id == '') {
-						addStore(this.formData).then(res => {
-							this.$message('添加成功')
-							this.dialogLoading = false
-							this.$emit('closeDialog')
-							this.$root.$emit('refreshList');
-						}).catch(e => {
-							this.dialogLoading = false
-							this.$message.error(e.data.msg)
-						})
-					} else {
-						updateStore(this.formData).then(res => {
-							this.$message('保存成功')
-							this.dialogLoading = false
-							this.$emit('closeDialog')
-							this.$root.$emit('refreshList');
-						}).catch(e => {
-							this.dialogLoading = false
-							this.$message.error(e.data.msg)
-						})
-					}
-				})
-			},
-			closeDialog() {
-				var ctx = this
-				this.$confirm('是否关闭表单,关闭后数据将丢失?').then(function() {
-					ctx.$emit('closeDialog')
-				}).then(() => {}).catch(() => {});
-			},
-			onOpen() {},
-			onClose() {
-				this.$refs['elForm'].resetFields()
-			},
-			close() {
-				this.$emit('update:visible', false)
-			},
-			resetForm() {
-				this.$refs['elForm'].resetFields()
-			},
-			companyPicBeforeUpload(file) {
-				let isRightSize = file.size / 1024 / 1024 < 2
-				if (!isRightSize) {
-					this.$message.error('文件大小超过 2MB')
-				}
-				return isRightSize
-			},
-			companyPicUploadSuccess(response, file, fileList) {
-				this.companyPicfileList = fileList
-				if (this.companyPicfileList.length > 1) {
-					this.companyPicfileList.splice(0, 1)
-				}
-				this.companyPicfileList[0].url = this.companyPicfileList[0].response.data.src
-			},
-			companyPicOnRemove(file, fileList) {
-				this.companyPicfileList = fileList
-			},
-			companyLicencePicBeforeUpload(file) {
-				let isRightSize = file.size / 1024 / 1024 < 2
-				if (!isRightSize) {
-					this.$message.error('文件大小超过 2MB')
-				}
-				return isRightSize
-			},
-			companyLicencePicUploadSuccess(response, file, fileList) {
-				this.companyLicencePicfileList = fileList
-				if (this.companyLicencePicfileList.length > 1) {
-					this.companyLicencePicfileList.splice(0, 1)
-				}
-				this.companyLicencePicfileList[0].url = this.companyLicencePicfileList[0].response.data.src
-			},
-			companyLicencePicOnRemove(file, fileList) {
-				this.companyLicencePicfileList = fileList
-			},
-			// 初始化百度地图
-			initBaiduMap() {
-				var that = this;
-				this.map = new BMap.Map("baidu-map-container", {
-					enableMapClick: false
-				}) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框
-				var point = new BMap.Point(113.30765, 23.12005);
-				this.map.centerAndZoom(point, 19)
-				this.mk = new BMap.Marker(point, {
-					enableDragging: true
-				}) //创建一个图像标注实例,enableDragging:是否启用拖拽,默认为false
-				this.map.addOverlay(this.mk) //将覆盖物添加到地图中
-				this.mk.addEventListener('dragend', function(e) {
-					that.getAddrByPoint(e.point) //拖拽结束后调用逆地址解析函数,e.point为拖拽后的地理坐标
-				})
-				var navigationControl = new BMap.NavigationControl({ //创建一个特定样式的地图平移缩放控件
-					anchor: BMAP_ANCHOR_TOP_RIGHT, //靠右上角位置
-					type: BMAP_NAVIGATION_CONTROL_SMALL //SMALL控件类型
-				})
-				this.map.addControl(navigationControl) //将控件添加到地图
-				var geolocationControl = new BMap.GeolocationControl({
-					anchor: BMAP_ANCHOR_BOTTOM_LEFT
-				}) //创建一个地图定位控件
-				geolocationControl.addEventListener("locationSuccess", function(e) { //绑定定位成功后事件
-					that.getAddrByPoint(e.point) //定位成功后调用逆地址解析函数
-				});
-				geolocationControl.addEventListener("locationError", function(e) { //绑定定位失败后事件
-					console.log(e.message);
-				});
-				this.map.addControl(geolocationControl) //将控件添加到地图
-				this.map.addEventListener('click', function(e) { //给地图绑定点击事件
-					that.getAddrByPoint(e.point) //点击后调用逆地址解析函数
-				})
-				this.geolocation()
-			},
-			/**
-			 * 浏览器定位函数
-			 */
-			geolocation() {
-				var that = this;
-				var geolocation = new BMap.Geolocation();
-				geolocation.getCurrentPosition(function(res) {
-					if (this.getStatus() == BMAP_STATUS_SUCCESS) {
-						that.getAddrByPoint(res.point) //当成功时,调用逆地址解析函数
-					} else {
-						console.log('failed' + this.getStatus()); //失败时,弹出失败状态码
-					}
-				}, {
-					enableHighAccuracy: true
-				}) //enableHighAccuracy:是否要求浏览器获取最佳效果,默认为false
-			},
-			/** 逆向解析地址 point */
-			getAddrByPoint(point) {
-				var that = this;
-				var geco = new BMap.Geocoder();
-				geco.getLocation(point, function(res) {
-					console.log(res) //内容见下图
-					that.mk.setPosition(point) //重新设置标注的地理坐标
-					that.map.panTo(point) //将地图的中心点更改为给定的点
-					that.addressInfo.address = res.address; //记录该点的详细地址信息
-					that.addressInfo.addrPoint = point; //记录当前坐标点
-				})
-			},
-			querySearchAsync(str, cb) {
-				var options = {
-					onSearchComplete: function(res) { //检索完成后的回调函数
-						var s = [];
-						if (local.getStatus() == BMAP_STATUS_SUCCESS) {
-							for (var i = 0; i < res.getCurrentNumPois(); i++) {
-								s.push(res.getPoi(i));
-							}
-							cb(s) //获取到数据时,通过回调函数cb返回到<el-autocomplete>组件中进行显示
-						} else {
-							cb(s)
-						}
-					}
-				}
-				var local = new BMap.LocalSearch(this.map, options) //创建LocalSearch构造函数
-				local.search(str) //调用search方法,根据检索词str发起检索
-			},
-			handleSelect(item) {
-				this.formData.address = item.address + item.title; //记录详细地址,含建筑物名
-				this.formData.addrPoint = item.point; //记录当前选中地址坐标
-				this.map.clearOverlays() //清除地图上所有覆盖物
-				this.mk = new BMap.Marker(item.point) //根据所选坐标重新创建Marker
-				this.map.addOverlay(this.mk) //将覆盖物重新添加到地图中
-				this.map.panTo(item.point) //将地图的中心点更改为选定坐标点
-			},
-			/**
-			 * 确认选择
-			 */
-			confirmSelect() {
-				this.$emit("confirmMapAddress", this.addressInfo);
-				this.openMap = false;
-			},
+                this.dialogLoading = true
+                this.loadingText = '保存中'
+                if (this.id == undefined || this.id == '') {
+                    addStore(this.formData)
+                        .then((res) => {
+                            this.$message('添加成功')
+                            this.dialogLoading = false
+                            this.$emit('closeDialog')
+                            this.$root.$emit('refreshList')
+                        })
+                        .catch((e) => {
+                            this.dialogLoading = false
+                            this.$message.error(e.data.msg)
+                        })
+                } else {
+                    updateStore(this.formData)
+                        .then((res) => {
+                            this.$message('保存成功')
+                            this.dialogLoading = false
+                            this.$emit('closeDialog')
+                            this.$root.$emit('refreshList')
+                        })
+                        .catch((e) => {
+                            this.dialogLoading = false
+                            this.$message.error(e.data.msg)
+                        })
+                }
+            })
+        },
+        closeDialog() {
+            var ctx = this
+            this.$confirm('是否关闭表单,关闭后数据将丢失?')
+                .then(function () {
+                    ctx.$emit('closeDialog')
+                })
+                .then(() => {})
+                .catch(() => {})
+        },
+        onOpen() {},
+        onClose() {
+            this.$refs['elForm'].resetFields()
+        },
+        close() {
+            this.$emit('update:visible', false)
+        },
+        resetForm() {
+            this.$refs['elForm'].resetFields()
+        },
+        companyPicBeforeUpload(file) {
+            let isRightSize = file.size / 1024 / 1024 < 2
+            if (!isRightSize) {
+                this.$message.error('文件大小超过 2MB')
+            }
+            return isRightSize
+        },
+        companyPicUploadSuccess(response, file, fileList) {
+            this.companyPicfileList = fileList
+            if (this.companyPicfileList.length > 1) {
+                this.companyPicfileList.splice(0, 1)
+            }
+            this.companyPicfileList[0].url = this.companyPicfileList[0].response.data.src
+        },
+        companyPicOnRemove(file, fileList) {
+            this.companyPicfileList = fileList
+        },
+        companyLicencePicBeforeUpload(file) {
+            let isRightSize = file.size / 1024 / 1024 < 2
+            if (!isRightSize) {
+                this.$message.error('文件大小超过 2MB')
+            }
+            return isRightSize
+        },
+        companyLicencePicUploadSuccess(response, file, fileList) {
+            this.companyLicencePicfileList = fileList
+            if (this.companyLicencePicfileList.length > 1) {
+                this.companyLicencePicfileList.splice(0, 1)
+            }
+            this.companyLicencePicfileList[0].url = this.companyLicencePicfileList[0].response.data.src
+        },
+        companyLicencePicOnRemove(file, fileList) {
+            this.companyLicencePicfileList = fileList
+        },
+        // 初始化百度地图
+        initBaiduMap() {
+            var that = this
+            this.map = new BMap.Map('baidu-map-container', {
+                enableMapClick: false
+            }) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框
+            var point = new BMap.Point(113.30765, 23.12005)
+            this.map.centerAndZoom(point, 19)
+            this.mk = new BMap.Marker(point, {
+                enableDragging: true
+            }) //创建一个图像标注实例,enableDragging:是否启用拖拽,默认为false
+            this.map.addOverlay(this.mk) //将覆盖物添加到地图中
+            this.mk.addEventListener('dragend', function (e) {
+                that.getAddrByPoint(e.point) //拖拽结束后调用逆地址解析函数,e.point为拖拽后的地理坐标
+            })
+            var navigationControl = new BMap.NavigationControl({
+                //创建一个特定样式的地图平移缩放控件
+                anchor: BMAP_ANCHOR_TOP_RIGHT, //靠右上角位置
+                type: BMAP_NAVIGATION_CONTROL_SMALL //SMALL控件类型
+            })
+            this.map.addControl(navigationControl) //将控件添加到地图
+            var geolocationControl = new BMap.GeolocationControl({
+                anchor: BMAP_ANCHOR_BOTTOM_LEFT
+            }) //创建一个地图定位控件
+            geolocationControl.addEventListener('locationSuccess', function (e) {
+                //绑定定位成功后事件
+                that.getAddrByPoint(e.point) //定位成功后调用逆地址解析函数
+            })
+            geolocationControl.addEventListener('locationError', function (e) {
+                //绑定定位失败后事件
+                console.log(e.message)
+            })
+            this.map.addControl(geolocationControl) //将控件添加到地图
+            this.map.addEventListener('click', function (e) {
+                //给地图绑定点击事件
+                that.getAddrByPoint(e.point) //点击后调用逆地址解析函数
+            })
+            this.geolocation()
+        },
+        /**
+         * 浏览器定位函数
+         */
+        geolocation() {
+            var that = this
+            var geolocation = new BMap.Geolocation()
+            geolocation.getCurrentPosition(
+                function (res) {
+                    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
+                        that.getAddrByPoint(res.point) //当成功时,调用逆地址解析函数
+                    } else {
+                        console.log('failed' + this.getStatus()) //失败时,弹出失败状态码
+                    }
+                },
+                {
+                    enableHighAccuracy: true
+                }
+            ) //enableHighAccuracy:是否要求浏览器获取最佳效果,默认为false
+        },
+        /** 逆向解析地址 point */
+        getAddrByPoint(point) {
+            var that = this
+            var geco = new BMap.Geocoder()
+            geco.getLocation(point, function (res) {
+                console.log(res) //内容见下图
+                that.mk.setPosition(point) //重新设置标注的地理坐标
+                that.map.panTo(point) //将地图的中心点更改为给定的点
+                that.addressInfo.address = res.address //记录该点的详细地址信息
+                that.addressInfo.addrPoint = point //记录当前坐标点
+            })
+        },
+        querySearchAsync(str, cb) {
+            var options = {
+                onSearchComplete: function (res) {
+                    //检索完成后的回调函数
+                    var s = []
+                    if (local.getStatus() == BMAP_STATUS_SUCCESS) {
+                        for (var i = 0; i < res.getCurrentNumPois(); i++) {
+                            s.push(res.getPoi(i))
+                        }
+                        cb(s) //获取到数据时,通过回调函数cb返回到<el-autocomplete>组件中进行显示
+                    } else {
+                        cb(s)
+                    }
+                }
+            }
+            var local = new BMap.LocalSearch(this.map, options) //创建LocalSearch构造函数
+            local.search(str) //调用search方法,根据检索词str发起检索
+        },
+        handleSelect(item) {
+            this.formData.address = item.address + item.title //记录详细地址,含建筑物名
+            this.formData.addrPoint = item.point //记录当前选中地址坐标
+            this.map.clearOverlays() //清除地图上所有覆盖物
+            this.mk = new BMap.Marker(item.point) //根据所选坐标重新创建Marker
+            this.map.addOverlay(this.mk) //将覆盖物重新添加到地图中
+            this.map.panTo(item.point) //将地图的中心点更改为选定坐标点
+        },
+        /**
+         * 确认选择
+         */
+        confirmSelect() {
+            this.$emit('confirmMapAddress', this.addressInfo)
+            this.openMap = false
+        },
 
-			/**
-			 * 取消选择
-			 */
-			cancel() {
-				this.$emit('cancelMap')
-			},
-			/**
-			 * 动态加载百度地图api函数
-			 * @param {String} ak  百度地图AK,必传
-			 */
-			loadBMap(ak) {
-				return new Promise(function(resolve, reject) {
-					if (typeof window.BMap !== 'undefined') {
-						resolve(window.BMap)
-						return true
-					}
-					window.onBMapCallback = function() {
-						resolve(window.BMap)
-					}
-					let script = document.createElement('script')
-					script.type = 'text/javascript'
-					script.src =
-						'https://api.map.baidu.com/api?v=3.0&ak=' + ak + '&callback=onBMapCallback'
-					script.onerror = reject
-					document.head.appendChild(script)
-				})
-			}
-		}
-	}
+        /**
+         * 取消选择
+         */
+        cancel() {
+            this.$emit('cancelMap')
+        },
+        /**
+         * 动态加载百度地图api函数
+         * @param {String} ak  百度地图AK,必传
+         */
+        loadBMap(ak) {
+            return new Promise(function (resolve, reject) {
+                if (typeof window.BMap !== 'undefined') {
+                    resolve(window.BMap)
+                    return true
+                }
+                window.onBMapCallback = function () {
+                    resolve(window.BMap)
+                }
+                let script = document.createElement('script')
+                script.type = 'text/javascript'
+                script.src = 'https://api.map.baidu.com/api?v=3.0&ak=' + ak + '&callback=onBMapCallback'
+                script.onerror = reject
+                document.head.appendChild(script)
+            })
+        }
+    }
+}
 </script>
 <style>
-	.el-upload__tip {
-		line-height: 1.2;
-	}
+.el-upload__tip {
+    line-height: 1.2;
+}
 </style>