Bladeren bron

fix:1.id的隐藏。

suwenjiang 1 week geleden
bovenliggende
commit
80fd9fc384

+ 1 - 1
src/locales/en.json

@@ -101,7 +101,7 @@
     "updateTime": "Update Time",
     "operation": "Operation",
     "modify": "Modify",
-    "viewDetails": "View Details",
+    "viewDetails": "Details",
     "orderNumber": "Order Number",
     "totalOrderAmount": "Total Order Amount",
     "pleaseEnterTotalOrderAmount": "Please enter the total order amount",

+ 17 - 9
src/views/order/detail.vue

@@ -30,14 +30,14 @@
             <el-col :span="8">
               <span class="head">{{ $t('orderList.detail.tableCodeForOrder') }}:</span>
               <span class="control-label">
-                {{ orderInfo.tableInfo? orderInfo.tableInfo.code : '-' }}
+                {{ orderInfo.tableInfo ? orderInfo.tableInfo.code : '-' }}
               </span>
             </el-col>
           </el-row>
           <el-row class="row">
             <el-col :span="8">
               <span class="head">{{ $t('orderList.detail.remarkInfo') }}:</span>
-              <span class="control-label">{{ orderInfo.remark? orderInfo.remark : '-' }}</span>
+              <span class="control-label">{{ orderInfo.remark ? orderInfo.remark : '-' }}</span>
             </el-col>
           </el-row>
         </div>
@@ -71,15 +71,15 @@
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('orderList.detail.paymentTime') }}:</span>
-              <span class="control-label">{{ orderInfo.payTime? orderInfo.payTime : '-' }}</span>
+              <span class="control-label">{{ orderInfo.payTime ? orderInfo.payTime : '-' }}</span>
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('orderList.detail.usedCoupon') }}:</span>
               <span class="control-label">
                 {{
                   orderInfo.couponInfo
-                   ? '¥' + orderInfo.couponInfo.amount + '(' + orderInfo.couponInfo.name + ')'
-                   : '-'
+                    ? '¥' + orderInfo.couponInfo.amount + '(' + orderInfo.couponInfo.name + ')'
+                    : '-'
                 }}
               </span>
             </el-col>
@@ -134,10 +134,14 @@
         <div class="title">{{ $t('orderList.detail.goodsInfo') }}</div>
         <div class="content">
           <el-table ref="tables" v-loading="loading" :data="orderInfo.goods">
-            <el-table-column :label="$t('orderList.detail.goodsID')" prop="id" width="66" />
-            <el-table-column :label="$t('orderList.detail.image')" align="center" prop="name">
+            <el-table-column :label="$t('orderList.detail.goodsID')" prop="id" width="80">
               <template slot-scope="scope">
-                <img class="goods-logo" :src="scope.row.image" />
+                <span>{{ showIdLastFour(scope.row.id) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column :label="$t('orderList.detail.image')" align="center" prop="image">
+              <template slot-scope="scope">
+                <img v-if="scope.row.image" class="goods-logo" :src="scope.row.image" />
               </template>
             </el-table-column>
             <el-table-column :label="$t('orderList.detail.name')" align="left" prop="name">
@@ -156,7 +160,11 @@
               </template>
             </el-table-column>
             <el-table-column :label="$t('orderList.detail.price')" align="center" prop="price" />
-            <el-table-column :label="$t('orderList.detail.discountAmountForGoods')" align="center" prop="discount" />
+            <el-table-column
+              :label="$t('orderList.detail.discountAmountForGoods')"
+              align="center"
+              prop="discount"
+            />
             <el-table-column :label="$t('orderList.detail.quantity')" align="center" prop="num" />
           </el-table>
         </div>

+ 626 - 524
src/views/order/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="app-container">
+  <div class="app-container">
     <el-form
       :model="queryParams"
       class="main-search"
@@ -25,7 +25,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-            <!-- <el-form-item label="订单类型" prop="type">
+      <!-- <el-form-item label="订单类型" prop="type">
         <el-select
           v-model="queryParams.type"
           clearable
@@ -45,7 +45,11 @@
         </el-select>
       </el-form-item> -->
       <el-form-item :label="$t('orderList.orderStatus')" prop="status">
-        <el-select v-model="queryParams.status" :placeholder="$t('orderList.pleaseSelectOrderStatus')" clearable>
+        <el-select
+          v-model="queryParams.status"
+          :placeholder="$t('orderList.pleaseSelectOrderStatus')"
+          clearable
+        >
           <el-option
             v-for="statusItem in statusList"
             :key="statusItem.key + ''"
@@ -55,7 +59,11 @@
         </el-select>
       </el-form-item>
       <el-form-item :label="$t('orderList.paymentStatus')" prop="payStatus">
-        <el-select v-model="queryParams.payStatus" :placeholder="$t('orderList.paymentStatus')" clearable>
+        <el-select
+          v-model="queryParams.payStatus"
+          :placeholder="$t('orderList.paymentStatus')"
+          clearable
+        >
           <el-option
             v-for="statusItem in payStatusList"
             :key="statusItem.key + ''"
@@ -64,7 +72,7 @@
           />
         </el-select>
       </el-form-item>
-            <!-- <el-form-item label="配送方式">
+      <!-- <el-form-item label="配送方式">
         <el-select
           v-model="queryParams.orderMode"
           placeholder="配送方式"
@@ -97,7 +105,9 @@
         <el-button type="danger" icon="el-icon-download" size="mini" @click="handleQuery(true)">
           {{ $t('orderList.export') }}
         </el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('orderList.reset') }}</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">
+          {{ $t('orderList.reset') }}
+        </el-button>
       </el-form-item>
     </el-form>
 
@@ -109,8 +119,17 @@
       :default-sort="defaultSort"
       @sort-change="handleSortChange"
     >
-      <el-table-column :label="$t('orderList.orderID')" prop="id" min-width="80" />
-      <el-table-column :label="$t('orderList.orderNumber')" align="center" width="200" prop="orderSn">
+      <el-table-column :label="$t('orderList.orderID')" prop="id" min-width="80">
+        <template slot-scope="scope">
+          <span>{{ showIdLastFour(scope.row.id) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        :label="$t('orderList.orderNumber')"
+        align="center"
+        width="200"
+        prop="orderSn"
+      >
         <template slot-scope="scope">
           <span @click="handleView(scope.row)" style="color: #00afff; cursor: pointer">
             {{ scope.row.orderSn }}
@@ -130,13 +149,23 @@
           <span>{{ scope.row.typeName }}</span>
         </template>
       </el-table-column> -->
-      <el-table-column :label="$t('orderList.storeName')" align="center" width="140" prop="storeInfo.name">
+      <el-table-column
+        :label="$t('orderList.storeName')"
+        align="center"
+        width="140"
+        prop="storeInfo.name"
+      >
         <template slot-scope="scope">
           <span v-if="scope.row.storeInfo">{{ scope.row.storeInfo.name }}</span>
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <el-table-column :label="$t('orderList.tableCode')" align="center" width="140" prop="tableInfo.code">
+      <el-table-column
+        :label="$t('orderList.tableCode')"
+        align="center"
+        width="140"
+        prop="tableInfo.code"
+      >
         <template slot-scope="scope">
           <span v-if="scope.row.tableInfo">{{ scope.row.tableInfo.code }}</span>
           <span v-else>-</span>
@@ -148,7 +177,7 @@
           <span v-else>0.00</span>
         </template>
       </el-table-column>
-            <!-- <el-table-column label="支付状态" align="center" width="80" prop="payStatus">
+      <!-- <el-table-column label="支付状态" align="center" width="80" prop="payStatus">
         <template slot-scope="scope">
           <span v-if="scope.row.payStatus == 'B'" class="status-active">{{ getName(payStatusList, scope.row.payStatus) }}</span>
           <span v-else class="status-disabled">{{ getName(payStatusList, scope.row.payStatus) }}</span>
@@ -159,12 +188,17 @@
           <span class="status-normal">{{ getName(statusList, scope.row.status) }}</span>
         </template>
       </el-table-column>
-            <!-- <el-table-column label="配送方式" align="center" prop="orderMode">
+      <!-- <el-table-column label="配送方式" align="center" prop="orderMode">
         <template slot-scope="scope">
           <span>{{ getName(orderModeList, scope.row.orderMode) }}</span>
         </template>
       </el-table-column> -->
-      <el-table-column :label="$t('orderList.orderTime')" align="center" width="130" prop="createTime">
+      <el-table-column
+        :label="$t('orderList.orderTime')"
+        align="center"
+        width="130"
+        prop="createTime"
+      >
         <template slot-scope="scope">
           <span>{{ scope.row.createTime }}</span>
         </template>
@@ -187,13 +221,23 @@
           <span v-else>0.00</span>
         </template>
       </el-table-column> -->
-      <el-table-column :label="$t('orderList.staffName')" align="center" width="100" prop="staffInfo.name">
+      <el-table-column
+        :label="$t('orderList.staffName')"
+        align="center"
+        width="100"
+        prop="staffInfo.name"
+      >
         <template slot-scope="scope">
           <span v-if="scope.row.staffInfo">{{ scope.row.staffInfo.realName }}</span>
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <el-table-column :label="$t('orderList.updateTime')" align="center" width="130" prop="updateTime">
+      <el-table-column
+        :label="$t('orderList.updateTime')"
+        align="center"
+        width="130"
+        prop="updateTime"
+      >
         <template slot-scope="scope">
           <span>{{ scope.row.updateTime }}</span>
         </template>
@@ -257,242 +301,297 @@
     />
 
     <!-- 修改对话框 start-->
-  <el-dialog
-    :title="title"
-    :visible.sync="open"
-    class="common-dialog"
-    width="700px"
-    append-to-body
-  >
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
-            <el-input v-model="form.orderSn" :placeholder="$t('orderList.orderNumber')" disabled maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.totalOrderAmount')" prop="amount">
-            <el-input v-model="form.amount" :placeholder="$t('orderList.pleaseEnterTotalOrderAmount')" maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.discountAmount')" prop="discount">
-            <el-input v-model="form.discount" :placeholder="$t('orderList.pleaseEnterDiscountAmount')" maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderRemark')" prop="remark">
-            <el-input
-              v-model="form.remark"
-              type="textarea"
-              :placeholder="$t('orderList.pleaseEnterOrderRemark')"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderStatus')">
-            <el-select v-model="form.status" :placeholder="$t('orderList.orderStatus')">
-              <el-option
-                v-for="statusItem in statusList"
-                :key="statusItem.key + ''"
-                :label="statusItem.name"
-                :value="statusItem.key + ''"
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      class="common-dialog"
+      width="700px"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
+              <el-input
+                v-model="form.orderSn"
+                :placeholder="$t('orderList.orderNumber')"
+                disabled
+                maxlength="100"
               />
-            </el-select>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitForm">{{ $t('orderList.confirm') }}</el-button>
-      <el-button @click="cancel">{{ $t('orderList.cancel') }}</el-button>
-    </div>
-  </el-dialog>
-  <!-- 修改对话框 end-->
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.totalOrderAmount')" prop="amount">
+              <el-input
+                v-model="form.amount"
+                :placeholder="$t('orderList.pleaseEnterTotalOrderAmount')"
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.discountAmount')" prop="discount">
+              <el-input
+                v-model="form.discount"
+                :placeholder="$t('orderList.pleaseEnterDiscountAmount')"
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderRemark')" prop="remark">
+              <el-input
+                v-model="form.remark"
+                type="textarea"
+                :placeholder="$t('orderList.pleaseEnterOrderRemark')"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderStatus')">
+              <el-select v-model="form.status" :placeholder="$t('orderList.orderStatus')">
+                <el-option
+                  v-for="statusItem in statusList"
+                  :key="statusItem.key + ''"
+                  :label="statusItem.name"
+                  :value="statusItem.key + ''"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">{{ $t('orderList.confirm') }}</el-button>
+        <el-button @click="cancel">{{ $t('orderList.cancel') }}</el-button>
+      </div>
+    </el-dialog>
+    <!-- 修改对话框 end-->
 
-  <!-- 核销对话框 start-->
-  <el-dialog
-    :title="$t('orderList.verifyOrder')"
-    :visible.sync="openVerify"
-    class="common-dialog"
-    width="700px"
-    append-to-body
-  >
-    <el-form ref="vForm" :model="vForm" :rules="vFormRules" label-width="120px">
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
-            <el-input v-model="vForm.orderSn" :placeholder="$t('orderList.orderNumber')" disabled maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.verificationCode')" prop="verifyCode">
-            <el-input
-              v-model="vForm.verifyCode"
-              :placeholder="$t('orderList.pleaseEnterVerificationCode')"
-              maxlength="100"
-            />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderRemark')" prop="remark">
-            <el-input
-              v-model="vForm.remark"
-              type="textarea"
-              :placeholder="$t('orderList.pleaseEnterOrderRemark')"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitVForm">{{ $t('orderList.confirmVerification') }}</el-button>
-      <el-button @click="cancelVForm">{{ $t('orderList.cancel') }}</el-button>
-    </div>
-  </el-dialog>
-  <!-- 核销对话框 end-->
+    <!-- 核销对话框 start-->
+    <el-dialog
+      :title="$t('orderList.verifyOrder')"
+      :visible.sync="openVerify"
+      class="common-dialog"
+      width="700px"
+      append-to-body
+    >
+      <el-form ref="vForm" :model="vForm" :rules="vFormRules" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
+              <el-input
+                v-model="vForm.orderSn"
+                :placeholder="$t('orderList.orderNumber')"
+                disabled
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.verificationCode')" prop="verifyCode">
+              <el-input
+                v-model="vForm.verifyCode"
+                :placeholder="$t('orderList.pleaseEnterVerificationCode')"
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderRemark')" prop="remark">
+              <el-input
+                v-model="vForm.remark"
+                type="textarea"
+                :placeholder="$t('orderList.pleaseEnterOrderRemark')"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitVForm">
+          {{ $t('orderList.confirmVerification') }}
+        </el-button>
+        <el-button @click="cancelVForm">{{ $t('orderList.cancel') }}</el-button>
+      </div>
+    </el-dialog>
+    <!-- 核销对话框 end-->
 
     <!-- 发货对话框 start-->
-  <el-dialog
-    :title="$t('orderList.fillLogisticsInfo')"
-    :visible.sync="openExpress"
-    class="common-dialog"
-    width="700px"
-    append-to-body
-  >
-    <el-form ref="eForm" :model="eForm" :rules="eFormRules" label-width="120px">
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
-            <el-input v-model="eForm.orderSn" :placeholder="$t('orderList.orderNumber')" disabled maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.logisticsCompany')" prop="expressCompany">
-            <el-input
-              v-if="!expressCompanyList || expressCompanyList.length < 1"
-              v-model="eForm.expressCompany"
-              :placeholder="$t('orderList.pleaseEnterLogisticsCompany')"
-              maxlength="100"
-            />
-            <el-select
-              v-if="expressCompanyList && expressCompanyList.length > 0"
-              v-model="eForm.expressCompany"
-              clearable
-              :placeholder="$t('orderList.logisticsCompany')"
-            >
-              <el-option
-                v-for="expressCompany in expressCompanyList"
-                :key="expressCompany.value"
-                :label="expressCompany.name"
-                :value="expressCompany.value"
+    <el-dialog
+      :title="$t('orderList.fillLogisticsInfo')"
+      :visible.sync="openExpress"
+      class="common-dialog"
+      width="700px"
+      append-to-body
+    >
+      <el-form ref="eForm" :model="eForm" :rules="eFormRules" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn">
+              <el-input
+                v-model="eForm.orderSn"
+                :placeholder="$t('orderList.orderNumber')"
+                disabled
+                maxlength="100"
               />
-            </el-select>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.logisticsTrackingNumber')" prop="expressNo">
-            <el-input v-model="eForm.expressNo" :placeholder="$t('orderList.pleaseEnterLogisticsTrackingNumber')"></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitEForm">{{ $t('orderList.submitLogisticsInfo') }}</el-button>
-      <el-button @click="cancelEForm">{{ $t('orderList.cancel') }}</el-button>
-    </div>
-  </el-dialog>
-  <!-- 核销对话框 end-->
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.logisticsCompany')" prop="expressCompany">
+              <el-input
+                v-if="!expressCompanyList || expressCompanyList.length < 1"
+                v-model="eForm.expressCompany"
+                :placeholder="$t('orderList.pleaseEnterLogisticsCompany')"
+                maxlength="100"
+              />
+              <el-select
+                v-if="expressCompanyList && expressCompanyList.length > 0"
+                v-model="eForm.expressCompany"
+                clearable
+                :placeholder="$t('orderList.logisticsCompany')"
+              >
+                <el-option
+                  v-for="expressCompany in expressCompanyList"
+                  :key="expressCompany.value"
+                  :label="expressCompany.name"
+                  :value="expressCompany.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.logisticsTrackingNumber')" prop="expressNo">
+              <el-input
+                v-model="eForm.expressNo"
+                :placeholder="$t('orderList.pleaseEnterLogisticsTrackingNumber')"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitEForm">
+          {{ $t('orderList.submitLogisticsInfo') }}
+        </el-button>
+        <el-button @click="cancelEForm">{{ $t('orderList.cancel') }}</el-button>
+      </div>
+    </el-dialog>
+    <!-- 核销对话框 end-->
 
-  <!--打印订单对话框 start-->
-  <orderPrintDialog
-    :show-dialog="openOrderPrintDialog"
-    :storeInfo="storeInfo"
-    :orderInfo="orderInfo"
-    @closeDialog="closePrintDialog"
-  />
-  <!--打印订单对话框 end-->
+    <!--打印订单对话框 start-->
+    <orderPrintDialog
+      :show-dialog="openOrderPrintDialog"
+      :storeInfo="storeInfo"
+      :orderInfo="orderInfo"
+      @closeDialog="closePrintDialog"
+    />
+    <!--打印订单对话框 end-->
 
-  <!-- 退款对话框 start -->
-  <el-dialog
-    :title="$t('orderList.orderRefund')"
-    :visible.sync="openRefundDialog"
-    class="common-dialog"
-    width="700px"
-    append-to-body
-  >
-    <el-form ref="rForm" :model="rForm" :rules="rFormRules" label-width="120px">
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn" style="width: 450px">
-            <el-input v-model="rForm.orderSn" :placeholder="$t('orderList.orderNumber')" disabled maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.paymentMethod')" prop="payType" style="width: 450px">
-            <el-input v-model="rForm.payType" :placeholder="$t('orderList.paymentMethod')" disabled maxlength="100" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.actualPaymentAmount')" prop="payAmount" style="width: 450px">
-            <el-input
-              v-model="rForm.payAmount"
-              :placeholder="$t('orderList.actualPaymentAmountForOrder')"
-              disabled
-              maxlength="100"
+    <!-- 退款对话框 start -->
+    <el-dialog
+      :title="$t('orderList.orderRefund')"
+      :visible.sync="openRefundDialog"
+      class="common-dialog"
+      width="700px"
+      append-to-body
+    >
+      <el-form ref="rForm" :model="rForm" :rules="rFormRules" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.orderNumber')" prop="orderSn" style="width: 450px">
+              <el-input
+                v-model="rForm.orderSn"
+                :placeholder="$t('orderList.orderNumber')"
+                disabled
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item
+              :label="$t('orderList.paymentMethod')"
+              prop="payType"
+              style="width: 450px"
             >
-              <template slot="prepend">¥</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.refundAmount')" prop="refundAmount" style="width: 450px">
-            <el-input v-model="rForm.refundAmount" :placeholder="$t('orderList.pleaseEnterRefundAmount')"></el-input>
-            <div class="form-tips">{{ $t('orderList.tipUnitYuan') }}</div>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item :label="$t('orderList.refundRemark')" prop="remark">
-            <el-input
-              v-model="rForm.remark"
-              type="textarea"
-              :placeholder="$t('orderList.pleaseEnterRefundRemark')"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitRForm">{{ $t('orderList.confirm') }}</el-button>
-      <el-button @click="cancelRForm">{{ $t('orderList.cancel') }}</el-button>
-    </div>
-  </el-dialog>
-  <!-- 退款对话框 end -->
+              <el-input
+                v-model="rForm.payType"
+                :placeholder="$t('orderList.paymentMethod')"
+                disabled
+                maxlength="100"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item
+              :label="$t('orderList.actualPaymentAmount')"
+              prop="payAmount"
+              style="width: 450px"
+            >
+              <el-input
+                v-model="rForm.payAmount"
+                :placeholder="$t('orderList.actualPaymentAmountForOrder')"
+                disabled
+                maxlength="100"
+              >
+                <template slot="prepend">¥</template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item
+              :label="$t('orderList.refundAmount')"
+              prop="refundAmount"
+              style="width: 450px"
+            >
+              <el-input
+                v-model="rForm.refundAmount"
+                :placeholder="$t('orderList.pleaseEnterRefundAmount')"
+              ></el-input>
+              <div class="form-tips">{{ $t('orderList.tipUnitYuan') }}</div>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('orderList.refundRemark')" prop="remark">
+              <el-input
+                v-model="rForm.remark"
+                type="textarea"
+                :placeholder="$t('orderList.pleaseEnterRefundRemark')"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitRForm">{{ $t('orderList.confirm') }}</el-button>
+        <el-button @click="cancelRForm">{{ $t('orderList.cancel') }}</el-button>
+      </div>
+    </el-dialog>
+    <!-- 退款对话框 end -->
   </div>
 </template>
 
@@ -596,53 +695,53 @@ export default {
       },
       // 表单校验
       rules: {
-          amount: [
-              { 
-                  required: true, 
-                  message: this.$t('orderList.totalAmountRequired'), 
-                  trigger: 'blur' 
-              }
-          ]
+        amount: [
+          {
+            required: true,
+            message: this.$t('orderList.totalAmountRequired'),
+            trigger: 'blur'
+          }
+        ]
       },
       // 核销表单校验
       vFormRules: {
-          verifyCode: [
-              { 
-                  required: true, 
-                  message: this.$t('orderList.verifyCodeRequired'), 
-                  trigger: 'blur' 
-              }
-          ]
+        verifyCode: [
+          {
+            required: true,
+            message: this.$t('orderList.verifyCodeRequired'),
+            trigger: 'blur'
+          }
+        ]
       },
       eFormRules: {
-          expressCompany: [
-              { 
-                  required: true, 
-                  message: this.$t('orderList.expressCompanyRequired'), 
-                  trigger: 'blur' 
-              }
-          ],
-          expressNo: [
-              { 
-                  required: true, 
-                  message: this.$t('orderList.expressNoRequired'), 
-                  trigger: 'blur' 
-              }
-          ]
+        expressCompany: [
+          {
+            required: true,
+            message: this.$t('orderList.expressCompanyRequired'),
+            trigger: 'blur'
+          }
+        ],
+        expressNo: [
+          {
+            required: true,
+            message: this.$t('orderList.expressNoRequired'),
+            trigger: 'blur'
+          }
+        ]
       },
       rFormRules: {
-          refundAmount: [
-              { 
-                  required: true, 
-                  message: this.$t('orderList.refundAmountRequired'), 
-                  trigger: 'blur' 
-              },
-              {
-                  pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/,
-                  message: this.$t('orderList.correctRefundAmount'),
-                  trigger: 'blur'
-              }
-          ]
+        refundAmount: [
+          {
+            required: true,
+            message: this.$t('orderList.refundAmountRequired'),
+            trigger: 'blur'
+          },
+          {
+            pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/,
+            message: this.$t('orderList.correctRefundAmount'),
+            trigger: 'blur'
+          }
+        ]
       }
     }
   },
@@ -652,324 +751,327 @@ export default {
   methods: {
     // 查询订单
     getList() {
-        const app = this;
-        app.loading = true;
-        app.queryParams.storeIds = app.storeIds ? app.storeIds.join(',') : '';
-        getOrderList(app.queryParams).then((response) => {
-            this.list = response.data.paginationResponse.content;
-            this.total = response.data.paginationResponse.totalElements;
-            this.typeList = response.data.typeList;
-            this.statusList = response.data.statusList;
-            this.payStatusList = response.data.payStatusList;
-            this.orderModeList = response.data.orderModeList;
-            this.payTypeList = response.data.payTypeList;
-            this.storeList = response.data.storeList;
-            this.expressCompanyList = response.data.expressCompanyList;
-            this.loading = false;
-        });
+      const app = this
+      app.loading = true
+      app.queryParams.storeIds = app.storeIds ? app.storeIds.join(',') : ''
+      getOrderList(app.queryParams).then((response) => {
+        this.list = response.data.paginationResponse.content
+        this.total = response.data.paginationResponse.totalElements
+        this.typeList = response.data.typeList
+        this.statusList = response.data.statusList
+        this.payStatusList = response.data.payStatusList
+        this.orderModeList = response.data.orderModeList
+        this.payTypeList = response.data.payTypeList
+        this.storeList = response.data.storeList
+        this.expressCompanyList = response.data.expressCompanyList
+        this.loading = false
+      })
     },
     // 搜索按钮操作
     handleQuery(isExport) {
-        this.queryParams.page = 1;
-        if (isExport) {
-            this.exportExcel();
-        } else {
-            this.getList();
-        }
+      this.queryParams.page = 1
+      if (isExport) {
+        this.exportExcel()
+      } else {
+        this.getList()
+      }
     },
     // 导出excel
     exportExcel() {
-        this.download('backendApi/order/export', {
-           ...this.queryParams
-        });
+      this.download('backendApi/order/export', {
+        ...this.queryParams
+      })
     },
     // 重置按钮操作
     resetQuery() {
-        this.queryParams.status = '';
-        this.queryParams.mobile = '';
-        this.queryParams.orderMode = '';
-        this.queryParams.orderSn = '';
-        this.queryParams.storeIds = '';
-        this.storeIds = [];
-        this.resetForm('queryForm');
-        this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
-        this.handleQuery();
+      this.queryParams.status = ''
+      this.queryParams.mobile = ''
+      this.queryParams.orderMode = ''
+      this.queryParams.orderSn = ''
+      this.queryParams.storeIds = ''
+      this.storeIds = []
+      this.resetForm('queryForm')
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
+      this.handleQuery()
     },
     // 状态修改
     handleStatusChange(row) {
-        let text = row.status === 'A' ? this.$t('orderList.enable') : this.$t('orderList.disable');
-        const confirmMsg = this.$t('orderList.confirmChangeOrderStatus', { action: text, orderSn: row.orderSn });
-        this.$modal
-           .confirm(confirmMsg)
-           .then(() => {
-                return updateOrderStatus(row.id, row.status);
-            })
-           .then(() => {
-                const successMsg = this.$t('orderList.statusChangeSuccess', { action: text });
-                this.$modal.msgSuccess(successMsg);
-            })
-           .catch(() => {
-                row.status = row.status === 'N' ? 'A' : 'N';
-            });
+      let text = row.status === 'A' ? this.$t('orderList.enable') : this.$t('orderList.disable')
+      const confirmMsg = this.$t('orderList.confirmChangeOrderStatus', {
+        action: text,
+        orderSn: row.orderSn
+      })
+      this.$modal
+        .confirm(confirmMsg)
+        .then(() => {
+          return updateOrderStatus(row.id, row.status)
+        })
+        .then(() => {
+          const successMsg = this.$t('orderList.statusChangeSuccess', { action: text })
+          this.$modal.msgSuccess(successMsg)
+        })
+        .catch(() => {
+          row.status = row.status === 'N' ? 'A' : 'N'
+        })
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-        this.ids = selection.map((item) => item.id);
-        this.multiple = !selection.length;
+      this.ids = selection.map((item) => item.id)
+      this.multiple = !selection.length
     },
     // 排序触发事件
     handleSortChange(column, prop, order) {
-        this.queryParams.orderByColumn = column.prop;
-        this.queryParams.isAsc = column.order;
-        this.getList();
+      this.queryParams.orderByColumn = column.prop
+      this.queryParams.isAsc = column.order
+      this.getList()
     },
     // 表单重置
     reset() {
-        this.form = {
-            orderId: '',
-            orderSn: '',
-            status: 'A',
-            amount: '',
-            discount: '',
-            remark: '',
-            orderMode: 'oneself'
-        };
-        this.resetForm('form');
+      this.form = {
+        orderId: '',
+        orderSn: '',
+        status: 'A',
+        amount: '',
+        discount: '',
+        remark: '',
+        orderMode: 'oneself'
+      }
+      this.resetForm('form')
     },
     // 取消按钮
     cancel() {
-        this.open = false;
-        this.reset();
+      this.open = false
+      this.reset()
     },
     // 取消核销按钮
     cancelVForm() {
-        this.openVerify = false;
-        this.vForm.orderId = '';
-        this.vForm.orderSn = '';
-        this.vForm.verifyCode = '';
+      this.openVerify = false
+      this.vForm.orderId = ''
+      this.vForm.orderSn = ''
+      this.vForm.verifyCode = ''
     },
     // 提交核销按钮
     submitVForm: function () {
-        this.$refs['vForm'].validate((valid) => {
-            if (valid) {
-                verifyOrder(this.vForm).then((response) => {
-                    this.$modal.msgSuccess(this.$t('orderList.verifySuccess'));
-                    this.cancelVForm();
-                    this.getList();
-                });
-            }
-        });
+      this.$refs['vForm'].validate((valid) => {
+        if (valid) {
+          verifyOrder(this.vForm).then((response) => {
+            this.$modal.msgSuccess(this.$t('orderList.verifySuccess'))
+            this.cancelVForm()
+            this.getList()
+          })
+        }
+      })
     },
     // 提交修改按钮
     submitForm: function () {
-        this.$refs['form'].validate((valid) => {
-            if (valid) {
-                saveOrder(this.form)
-                   .then((response) => {
-                        this.$modal.msgSuccess(this.$t('orderList.modifySuccess'));
-                        this.open = false;
-                        this.getList();
-                    })
-                   .catch(() => {
-                        this.$modal.msgError(this.$t('orderList.modifyError'));
-                    });
-            }
-        });
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          saveOrder(this.form)
+            .then((response) => {
+              this.$modal.msgSuccess(this.$t('orderList.modifySuccess'))
+              this.open = false
+              this.getList()
+            })
+            .catch(() => {
+              this.$modal.msgError(this.$t('orderList.modifyError'))
+            })
+        }
+      })
     },
     // 查看详情按钮操作
     handleView(row) {
-        this.$router.push({ path: '/order/detail?orderId=' + row.id });
+      this.$router.push({ path: '/order/detail?orderId=' + row.id })
     },
     // 修改按钮操作
     handleUpdate(row) {
-        const app = this;
-        app.reset();
-        const id = row.id || this.ids;
-        getOrderInfo(id).then((response) => {
-            let orderInfo = response.data.orderInfo;
-            if (orderInfo) {
-                app.form.orderId = orderInfo.id;
-                app.form.orderSn = orderInfo.orderSn;
-                app.form.amount = orderInfo.amount;
-                app.form.discount = orderInfo.discount;
-                app.form.remark = orderInfo.remark;
-                app.form.status = orderInfo.status;
-                app.form.orderMode = orderInfo.orderMode + '';
-            }
-            this.open = true;
-            this.title = this.$t('orderList.modifyOrder');
-        });
+      const app = this
+      app.reset()
+      const id = row.id || this.ids
+      getOrderInfo(id).then((response) => {
+        let orderInfo = response.data.orderInfo
+        if (orderInfo) {
+          app.form.orderId = orderInfo.id
+          app.form.orderSn = orderInfo.orderSn
+          app.form.amount = orderInfo.amount
+          app.form.discount = orderInfo.discount
+          app.form.remark = orderInfo.remark
+          app.form.status = orderInfo.status
+          app.form.orderMode = orderInfo.orderMode + ''
+        }
+        this.open = true
+        this.title = this.$t('orderList.modifyOrder')
+      })
     },
     // 核销按钮操作
     handleVerify(row) {
-        const app = this;
-        const id = row.id || this.ids;
-        getOrderInfo(id).then((response) => {
-            let orderInfo = response.data.orderInfo;
-            if (orderInfo) {
-                app.vForm.orderId = orderInfo.id;
-                app.vForm.orderSn = orderInfo.orderSn;
-                app.vForm.remark = orderInfo.remark;
-            }
-            app.openVerify = true;
-        });
+      const app = this
+      const id = row.id || this.ids
+      getOrderInfo(id).then((response) => {
+        let orderInfo = response.data.orderInfo
+        if (orderInfo) {
+          app.vForm.orderId = orderInfo.id
+          app.vForm.orderSn = orderInfo.orderSn
+          app.vForm.remark = orderInfo.remark
+        }
+        app.openVerify = true
+      })
     },
     // 发货按钮
     handleExpress(row) {
-        const app = this;
-        const id = row.id || this.ids;
-        getOrderInfo(id).then((response) => {
-            let orderInfo = response.data.orderInfo;
-            if (orderInfo) {
-                app.eForm.orderId = orderInfo.id;
-                app.eForm.orderSn = orderInfo.orderSn;
-                app.eForm.expressNo = orderInfo.expressInfo ? orderInfo.expressInfo.expressNo : '';
-                app.eForm.expressCompany = orderInfo.expressInfo
-                   ? orderInfo.expressInfo.expressCompany
-                    : '';
-            }
-            app.openExpress = true;
-        });
+      const app = this
+      const id = row.id || this.ids
+      getOrderInfo(id).then((response) => {
+        let orderInfo = response.data.orderInfo
+        if (orderInfo) {
+          app.eForm.orderId = orderInfo.id
+          app.eForm.orderSn = orderInfo.orderSn
+          app.eForm.expressNo = orderInfo.expressInfo ? orderInfo.expressInfo.expressNo : ''
+          app.eForm.expressCompany = orderInfo.expressInfo
+            ? orderInfo.expressInfo.expressCompany
+            : ''
+        }
+        app.openExpress = true
+      })
     },
     // 取消发货按钮
     cancelEForm() {
-        this.openExpress = false;
-        this.eForm.orderId = '';
-        this.eForm.orderSn = '';
-        this.eForm.expressCompany = '';
-        this.eForm.expressNo = '';
+      this.openExpress = false
+      this.eForm.orderId = ''
+      this.eForm.orderSn = ''
+      this.eForm.expressCompany = ''
+      this.eForm.expressNo = ''
     },
     // 提交发货按钮
     submitEForm: function () {
-        const app = this;
-        if (app.loading) {
-            app.$modal.msgError(this.$t('orderList.requestProcessing'));
+      const app = this
+      if (app.loading) {
+        app.$modal.msgError(this.$t('orderList.requestProcessing'))
+      }
+      app.$refs['eForm'].validate((valid) => {
+        if (valid) {
+          app.loading = true
+          const param = {
+            orderId: app.eForm.orderId,
+            orderSn: app.eForm.orderSn,
+            expressCompany: app.eForm.expressCompany,
+            expressNo: app.eForm.expressNo
+          }
+          delivered(param).then((response) => {
+            app.$modal.msgSuccess(this.$t('orderList.submitExpressSuccess'))
+            app.cancelEForm()
+            app.getList()
+            app.loading = false
+          })
         }
-        app.$refs['eForm'].validate((valid) => {
-            if (valid) {
-                app.loading = true;
-                const param = {
-                    orderId: app.eForm.orderId,
-                    orderSn: app.eForm.orderSn,
-                    expressCompany: app.eForm.expressCompany,
-                    expressNo: app.eForm.expressNo
-                };
-                delivered(param).then((response) => {
-                    app.$modal.msgSuccess(this.$t('orderList.submitExpressSuccess'));
-                    app.cancelEForm();
-                    app.getList();
-                    app.loading = false;
-                });
-            }
-        });
+      })
     },
     // 取消退款按钮
     cancelRForm() {
-        this.openRefundDialog = false;
-        this.rForm.orderId = '';
-        this.rForm.orderSn = '';
-        this.rForm.payAmount = '';
-        this.rForm.payType = '';
-        this.rForm.refundAmount = '';
-        this.rForm.remark = '';
+      this.openRefundDialog = false
+      this.rForm.orderId = ''
+      this.rForm.orderSn = ''
+      this.rForm.payAmount = ''
+      this.rForm.payType = ''
+      this.rForm.refundAmount = ''
+      this.rForm.remark = ''
     },
     // 提交退款按钮
     submitRForm: function () {
-        const app = this;
-        if (app.loading) {
-            app.$modal.msgError(this.$t('orderList.requestProcessing'));
-        }
-        if (parseFloat(app.rForm.refundAmount) > parseFloat(app.rForm.amount)) {
-            app.$modal.msgError(this.$t('orderList.refundAmountExceed'));
-            return false;
+      const app = this
+      if (app.loading) {
+        app.$modal.msgError(this.$t('orderList.requestProcessing'))
+      }
+      if (parseFloat(app.rForm.refundAmount) > parseFloat(app.rForm.amount)) {
+        app.$modal.msgError(this.$t('orderList.refundAmountExceed'))
+        return false
+      }
+      app.$refs['rForm'].validate((valid) => {
+        if (valid) {
+          app.loading = true
+          doRefund(app.rForm).then((response) => {
+            app.$modal.msgSuccess(this.$t('orderList.submitRefundSuccess'))
+            app.cancelRForm()
+            app.getList()
+            app.loading = false
+          })
         }
-        app.$refs['rForm'].validate((valid) => {
-            if (valid) {
-                app.loading = true;
-                doRefund(app.rForm).then((response) => {
-                    app.$modal.msgSuccess(this.$t('orderList.submitRefundSuccess'));
-                    app.cancelRForm();
-                    app.getList();
-                    app.loading = false;
-                });
-            }
-        });
+      })
     },
     // 删除按钮操作
     handleDelete(row) {
-        const name = row.orderSn;
-        const confirmMsg = this.$t('orderList.confirmDeleteOrder', { orderSn: name });
-        this.$modal
-           .confirm(confirmMsg)
-           .then(() => {
-                return deleteOrder(row.id);
-            })
-           .then(() => {
-                this.getList();
-                this.$modal.msgSuccess(this.$t('orderList.deleteSuccess'));
-            })
-           .catch(() => {});
+      const name = row.orderSn
+      const confirmMsg = this.$t('orderList.confirmDeleteOrder', { orderSn: name })
+      this.$modal
+        .confirm(confirmMsg)
+        .then(() => {
+          return deleteOrder(row.id)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess(this.$t('orderList.deleteSuccess'))
+        })
+        .catch(() => {})
     },
     // 打印小票(本地打印)
     handlePrint(row) {
-        const app = this;
-        app.orderInfo = {};
-        app.storeInfo = {};
-        const id = row.id || this.ids;
-        getOrderInfo(id).then((response) => {
-            let orderInfo = response.data.orderInfo;
-            if (orderInfo) {
-                app.orderInfo = orderInfo;
-                app.storeInfo = orderInfo.storeInfo;
-            }
-            app.openOrderPrintDialog = true;
-        });
+      const app = this
+      app.orderInfo = {}
+      app.storeInfo = {}
+      const id = row.id || this.ids
+      getOrderInfo(id).then((response) => {
+        let orderInfo = response.data.orderInfo
+        if (orderInfo) {
+          app.orderInfo = orderInfo
+          app.storeInfo = orderInfo.storeInfo
+        }
+        app.openOrderPrintDialog = true
+      })
     },
     // 打印小票(云打印)
     handlePrintCloud(row) {
-        const app = this;
-        const orderId = row.id || this.ids;
-        doPrint(orderId).then((response) => {
-            let result = response.data;
-            if (result) {
-                app.$modal.msgSuccess(this.$t('orderList.printSendSuccess'));
-            } else {
-                app.$modal.msgError(this.$t('orderList.printSendFail'));
-            }
-        });
+      const app = this
+      const orderId = row.id || this.ids
+      doPrint(orderId).then((response) => {
+        let result = response.data
+        if (result) {
+          app.$modal.msgSuccess(this.$t('orderList.printSendSuccess'))
+        } else {
+          app.$modal.msgError(this.$t('orderList.printSendFail'))
+        }
+      })
     },
     // 退款
     handleRefund(row) {
-        const app = this;
-        app.rForm.orderId = row.id;
-        app.rForm.orderSn = row.orderSn;
-        app.rForm.payAmount = row.payAmount;
-        app.rForm.payType = getName(app.payTypeList, row.payType);
-        app.openRefundDialog = true;
+      const app = this
+      app.rForm.orderId = row.id
+      app.rForm.orderSn = row.orderSn
+      app.rForm.payAmount = row.payAmount
+      app.rForm.payType = getName(app.payTypeList, row.payType)
+      app.openRefundDialog = true
     },
     // 关掉打印对话框
     closePrintDialog() {
-        this.openOrderPrintDialog = false;
+      this.openOrderPrintDialog = false
     },
     // 更多操作触发
     handleCommand(command, row) {
-        switch (command) {
-            case 'handleDelete':
-                this.handleDelete(row);
-                break;
-            case 'handlePrint':
-                this.handlePrint(row);
-                break;
-            case 'handlePrintCloud':
-                this.handlePrintCloud(row);
-                break;
-            case 'handleRefund':
-                this.handleRefund(row);
-                break;
-            default:
-                this.handleView(row);
-                break;
-        }
+      switch (command) {
+        case 'handleDelete':
+          this.handleDelete(row)
+          break
+        case 'handlePrint':
+          this.handlePrint(row)
+          break
+        case 'handlePrintCloud':
+          this.handlePrintCloud(row)
+          break
+        case 'handleRefund':
+          this.handleRefund(row)
+          break
+        default:
+          this.handleView(row)
+          break
+      }
     }
   }
 }

+ 262 - 150
src/views/system/account/index.vue

@@ -3,7 +3,15 @@
     <el-row :gutter="20">
       <!--用户数据-->
       <el-col :span="24" :xs="24">
-        <el-form :model="queryParams" class="main-search" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form
+          :model="queryParams"
+          class="main-search"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          v-show="showSearch"
+          label-width="68px"
+        >
           <el-form-item label="用户名" prop="accountName">
             <el-input
               v-model="queryParams.accountName"
@@ -29,12 +37,14 @@
               clearable
               style="width: 240px"
             >
-              <el-option key="1" label="启用" value="1"/>
-              <el-option key="0" label="禁用" value="0"/>
+              <el-option key="1" label="启用" value="1" />
+              <el-option key="0" label="禁用" value="0" />
             </el-select>
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
+              搜索
+            </el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>
@@ -48,7 +58,9 @@
               size="mini"
               @click="handleAdd"
               v-hasPermi="['system:account:add']"
-            >新增</el-button>
+            >
+              新增
+            </el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button
@@ -59,7 +71,9 @@
               :disabled="single"
               v-hasPermi="['system:account:edit']"
               @click="handleUpdate"
-            >修改</el-button>
+            >
+              修改
+            </el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button
@@ -70,15 +84,32 @@
               :disabled="multiple"
               v-hasPermi="['system:account:delete']"
               @click="handleDelete"
-            >删除</el-button>
+            >
+              删除
+            </el-button>
           </el-col>
-          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
+          <right-toolbar
+            :showSearch.sync="showSearch"
+            @queryTable="getList"
+            :columns="columns"
+          ></right-toolbar>
         </el-row>
 
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="ID" align="center" key="id" prop="id" v-if="columns[0].visible" />
-          <el-table-column label="用户名" align="center" key="accountName" prop="accountName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
+          <el-table-column label="ID" align="center" key="id" prop="id" v-if="columns[0].visible">
+            <template slot-scope="scope">
+              <span>{{ showIdLastFour(scope.row.id) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="用户名"
+            align="center"
+            key="accountName"
+            prop="accountName"
+            v-if="columns[1].visible"
+            :show-overflow-tooltip="true"
+          />
           <el-table-column label="真实姓名" align="center" key="realName" prop="realName">
             <template slot-scope="scope">
               <span>{{ scope.row.realName ? scope.row.realName : '-' }}</span>
@@ -94,7 +125,12 @@
               <span>{{ scope.row.storeName ? scope.row.storeName : '-' }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="状态" align="center" key="accountStatus" v-if="columns[2].visible">
+          <el-table-column
+            label="状态"
+            align="center"
+            key="accountStatus"
+            v-if="columns[2].visible"
+          >
             <template slot-scope="scope">
               <el-switch
                 v-model="scope.row.accountStatus"
@@ -104,7 +140,13 @@
               ></el-switch>
             </template>
           </el-table-column>
-          <el-table-column label="创建时间" align="center" prop="createDate" v-if="columns[3].visible" width="160">
+          <el-table-column
+            label="创建时间"
+            align="center"
+            prop="createDate"
+            v-if="columns[3].visible"
+            width="160"
+          >
             <template slot-scope="scope">
               <span>{{ parseTime(scope.row.createDate) }}</span>
             </template>
@@ -122,20 +164,35 @@
                 icon="el-icon-edit"
                 v-hasPermi="['system:account:edit']"
                 @click="handleUpdate(scope.row)"
-              >修改</el-button>
+              >
+                修改
+              </el-button>
               <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
                 v-hasPermi="['system:account:delete']"
                 @click="handleDelete(scope.row)"
-              >删除</el-button>
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:account:resetPwd', 'system:account:edit']">
+              >
+                删除
+              </el-button>
+              <el-dropdown
+                size="mini"
+                @command="(command) => handleCommand(command, scope.row)"
+                v-hasPermi="['system:account:resetPwd', 'system:account:edit']"
+              >
                 <span class="el-dropdown-link">
-                  <i class="el-icon-d-arrow-right el-icon--right"></i>更多
+                  <i class="el-icon-d-arrow-right el-icon--right"></i>
+                  更多
                 </span>
                 <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:account:edit']">重置密码</el-dropdown-item>
+                  <el-dropdown-item
+                    command="handleResetPwd"
+                    icon="el-icon-key"
+                    v-hasPermi="['system:account:edit']"
+                  >
+                    重置密码
+                  </el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
             </template>
@@ -143,7 +200,7 @@
         </el-table>
 
         <pagination
-          v-show="total>0"
+          v-show="total > 0"
           :total="total"
           :page.sync="queryParams.page"
           :limit.sync="queryParams.pageSize"
@@ -153,7 +210,13 @@
     </el-row>
 
     <!-- 添加或修改管理员配置对话框 -->
-    <el-dialog :title="title" :visible.sync="open" class="common-dialog" width="600px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      class="common-dialog"
+      width="600px"
+      append-to-body
+    >
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="24">
@@ -165,14 +228,25 @@
         <el-row>
           <el-col :span="24">
             <el-form-item v-if="form.id == undefined" label="登录密码" prop="password">
-              <el-input v-model="form.password" placeholder="请输入登录密码" maxlength="30" show-password/>
+              <el-input
+                v-model="form.password"
+                placeholder="请输入登录密码"
+                maxlength="30"
+                show-password
+              />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
             <el-form-item v-if="form.id == undefined" label="确认密码" prop="password1">
-              <el-input v-model="form.password1" placeholder="请输入确认密码" type="password" maxlength="30" show-password/>
+              <el-input
+                v-model="form.password1"
+                placeholder="请输入确认密码"
+                type="password"
+                maxlength="30"
+                show-password
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -196,7 +270,12 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="分配角色">
-              <el-select v-model="form.roleIds" multiple @change="$forceUpdate()" placeholder="请选择角色">
+              <el-select
+                v-model="form.roleIds"
+                multiple
+                @change="$forceUpdate()"
+                placeholder="请选择角色"
+              >
                 <el-option
                   v-for="item in roleOptions"
                   :key="item.id"
@@ -211,7 +290,11 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="所属商户">
-              <el-select v-model="form.merchantId" placeholder="请选择所属商户" @change="getStoreList()">
+              <el-select
+                v-model="form.merchantId"
+                placeholder="请选择所属商户"
+                @change="getStoreList()"
+              >
                 <el-option
                   v-for="item in merchantOptions"
                   :key="item.id"
@@ -226,7 +309,11 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="所属店铺">
-              <el-select v-model="form.storeId" placeholder="请选择所属店铺" @change="getStaffList()">
+              <el-select
+                v-model="form.storeId"
+                placeholder="请选择所属店铺"
+                @change="getStaffList()"
+              >
                 <el-option :key="0" label="全部店铺" :value="0"></el-option>
                 <el-option
                   v-for="item in storeOptions"
@@ -244,8 +331,7 @@
           <el-col :span="24">
             <el-form-item label="店铺员工">
               <el-select v-model="form.staffId" placeholder="请选择店铺员工">
-                <el-option :key="0" label="请选择员工" :value="0"
-                ></el-option>
+                <el-option :key="0" label="请选择员工" :value="0"></el-option>
                 <el-option
                   v-for="item in staffOptions"
                   :key="item.id"
@@ -266,13 +352,21 @@
 </template>
 
 <script>
-import { getStoreStaffList } from "@/api/staff";
-import { searchStore } from "@/api/store";
-import { getAccountList, getAccount, delAccount, addAccount, updateAccount, resetAccountPwd, changeAccountStatus } from "@/api/system/account";
-import { getToken } from "@/utils/auth";
+import { getStoreStaffList } from '@/api/staff'
+import { searchStore } from '@/api/store'
+import {
+  getAccountList,
+  getAccount,
+  delAccount,
+  addAccount,
+  updateAccount,
+  resetAccountPwd,
+  changeAccountStatus
+} from '@/api/system/account'
+import { getToken } from '@/utils/auth'
 
 export default {
-  name: "Account",
+  name: 'Account',
   data() {
     return {
       // 遮罩层
@@ -290,7 +384,7 @@ export default {
       // 用户表格数据
       userList: null,
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
       // 角色选项
@@ -299,17 +393,26 @@ export default {
       staffOptions: [],
       merchantOptions: [],
       // 表单参数
-      form: { id: "", accountName: "", realName: "", accountStatus: 1, roleIds: [], merchantId: (this.$store.getters.merchantId ? this.$store.getters.merchantId : ""), storeId: (this.$store.getters.storeId ? this.$store.getters.storeId : ""), staffId: "" },
+      form: {
+        id: '',
+        accountName: '',
+        realName: '',
+        accountStatus: 1,
+        roleIds: [],
+        merchantId: this.$store.getters.merchantId ? this.$store.getters.merchantId : '',
+        storeId: this.$store.getters.storeId ? this.$store.getters.storeId : '',
+        staffId: ''
+      },
       defaultProps: {
-        children: "children",
-        label: "label"
+        children: 'children',
+        label: 'label'
       },
       // 用户导入参数
       upload: {
         // 是否显示弹出层(用户导入)
         open: false,
         // 弹出层标题(用户导入)
-        title: "",
+        title: '',
         // 是否禁用上传
         isUploading: false,
         // 是否更新已经存在的用户数据
@@ -317,15 +420,15 @@ export default {
         // 设置上传的请求头部
         headers: { 'Access-Token': getToken() },
         // 上传的地址
-        url: process.env.VUE_APP_BASE_API + "/system/account/importData"
+        url: process.env.VUE_APP_BASE_API + '/system/account/importData'
       },
       // 查询参数
       queryParams: {
         page: 1,
         pageSize: 10,
-        accountName: "",
-        realName: "",
-        accountStatus: ""
+        accountName: '',
+        realName: '',
+        accountStatus: ''
       },
       // 列信息
       columns: [
@@ -338,185 +441,194 @@ export default {
       // 表单校验
       rules: {
         accountName: [
-          { required: true, message: "用户名不能为空", trigger: "blur" },
+          { required: true, message: '用户名不能为空', trigger: 'blur' },
           { min: 2, max: 30, message: '用户名长度必须介于 2 和 20 之间', trigger: 'blur' }
         ],
         password: [
-          { required: true, message: "用户密码不能为空", trigger: "blur" },
+          { required: true, message: '用户密码不能为空', trigger: 'blur' },
           { min: 5, max: 30, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
         ],
         password1: [
-          { required: true, message: "确认密码不能为空", trigger: "blur" },
+          { required: true, message: '确认密码不能为空', trigger: 'blur' },
           { min: 5, max: 30, message: '确认密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ],
+        ]
       }
-    };
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     // 查询账户列表
     getList() {
-      this.loading = true;
-      getAccountList(this.queryParams).then(response => {
-          this.userList = response.data.content;
-          this.total = response.data.totalElements;
-          this.loading = false;
-        }
-      );
+      this.loading = true
+      getAccountList(this.queryParams).then((response) => {
+        this.userList = response.data.content
+        this.total = response.data.totalElements
+        this.loading = false
+      })
     },
     // 用户状态修改
     handleStatusChange(row) {
-      let text = row.accountStatus == "1" ? "启用" : "禁用";
-      this.$modal.confirm('确认要' + text + '"' + row.accountName + '"用户吗?').then(function() {
-        return changeAccountStatus(row.id, row.accountStatus);
-      }).then(() => {
-        this.$modal.msgSuccess(text + "成功");
-      }).catch(function() {
-        row.accountStatus = row.accountStatus === "0" ? "1" : "0";
-      });
+      let text = row.accountStatus == '1' ? '启用' : '禁用'
+      this.$modal
+        .confirm('确认要' + text + '"' + row.accountName + '"用户吗?')
+        .then(function () {
+          return changeAccountStatus(row.id, row.accountStatus)
+        })
+        .then(() => {
+          this.$modal.msgSuccess(text + '成功')
+        })
+        .catch(function () {
+          row.accountStatus = row.accountStatus === '0' ? '1' : '0'
+        })
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 表单重置
     reset() {
       this.form = {
         id: undefined,
-        accountName: "",
-        password: "",
+        accountName: '',
+        password: '',
         accountStatus: 1,
-        realName: "",
+        realName: '',
         roleIds: [],
-        storeId: this.$store.getters.storeId ? this.$store.getters.storeId : "",
-        merchantId: this.$store.getters.merchantId ? this.$store.getters.merchantId : "",
-        staffId: ""
-      };
-      this.resetForm("form");
+        storeId: this.$store.getters.storeId ? this.$store.getters.storeId : '',
+        merchantId: this.$store.getters.merchantId ? this.$store.getters.merchantId : '',
+        staffId: ''
+      }
+      this.resetForm('form')
     },
     // 搜索按钮操作
     handleQuery() {
-      this.queryParams.page = 1;
-      this.getList();
+      this.queryParams.page = 1
+      this.getList()
     },
     // 重置按钮操作
     resetQuery() {
-      this.queryParams.accountName = '';
-      this.queryParams.accountStatus = '';
-      this.queryParams.realName = '';
-      this.resetForm("queryForm");
-      this.handleQuery();
+      this.queryParams.accountName = ''
+      this.queryParams.accountStatus = ''
+      this.queryParams.realName = ''
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id);
-      this.single = selection.length != 1;
-      this.multiple = !selection.length;
+      this.ids = selection.map((item) => item.id)
+      this.single = selection.length != 1
+      this.multiple = !selection.length
     },
     // 更多操作触发
     handleCommand(command, row) {
       switch (command) {
-        case "handleResetPwd":
-          this.handleResetPwd(row);
-          break;
+        case 'handleResetPwd':
+          this.handleResetPwd(row)
+          break
         default:
-          break;
+          break
       }
     },
     // 新增按钮操作
     handleAdd() {
-      const app = this;
-      app.reset();
-      getAccount(-1).then(response => {
-         app.roleOptions = response.data.roles;
-         app.storeOptions = response.data.stores;
-         app.merchantOptions = response.data.merchants;
-         app.getStaffList();
-         app.getStoreList();
-         app.open = true;
-         app.title = "新增管理员";
-      });
+      const app = this
+      app.reset()
+      getAccount(-1).then((response) => {
+        app.roleOptions = response.data.roles
+        app.storeOptions = response.data.stores
+        app.merchantOptions = response.data.merchants
+        app.getStaffList()
+        app.getStoreList()
+        app.open = true
+        app.title = '新增管理员'
+      })
     },
     // 修改按钮操作
     handleUpdate(row) {
-      const app = this;
-      app.reset();
-      const id = row.id || this.ids;
-      getAccount(id).then(response => {
-          app.form = response.data.account
-          app.form.roleIds = response.data.roleIds;
-          app.roleOptions = response.data.roles;
-          app.storeOptions = response.data.stores;
-          app.merchantOptions = response.data.merchants;
-          app.getStaffList();
-          app.getStoreList();
-          app.open = true;
-          app.title = "修改管理员";
-          app.form.password = "";
-      });
+      const app = this
+      app.reset()
+      const id = row.id || this.ids
+      getAccount(id).then((response) => {
+        app.form = response.data.account
+        app.form.roleIds = response.data.roleIds
+        app.roleOptions = response.data.roles
+        app.storeOptions = response.data.stores
+        app.merchantOptions = response.data.merchants
+        app.getStaffList()
+        app.getStoreList()
+        app.open = true
+        app.title = '修改管理员'
+        app.form.password = ''
+      })
     },
     // 重置密码按钮操作
     handleResetPwd(row) {
-      this.$prompt('请输入"' + row.accountName + '"的新密码', "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$prompt('请输入"' + row.accountName + '"的新密码', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
         closeOnClickModal: false,
         inputPattern: /^.{5,20}$/,
-        inputErrorMessage: "用户密码长度必须介于 5 和 20 之间"
-      }).then(({ value }) => {
-          resetAccountPwd(row.id, value).then(response => {
-            this.$modal.msgSuccess("修改成功,新密码是:" + value);
-          });
-        }).catch(() => {});
+        inputErrorMessage: '用户密码长度必须介于 5 和 20 之间'
+      })
+        .then(({ value }) => {
+          resetAccountPwd(row.id, value).then((response) => {
+            this.$modal.msgSuccess('修改成功,新密码是:' + value)
+          })
+        })
+        .catch(() => {})
     },
     // 店铺列表
     getStoreList() {
-      const merchantId = this.form.merchantId ? this.form.merchantId : 0;
-      const param = { merchantId: merchantId };
-      searchStore(param).then(response => {
-          this.storeOptions = response.data.storeList;
-      });
+      const merchantId = this.form.merchantId ? this.form.merchantId : 0
+      const param = { merchantId: merchantId }
+      searchStore(param).then((response) => {
+        this.storeOptions = response.data.storeList
+      })
     },
     // 店铺员工列表
     getStaffList() {
-      const storeId = this.form.storeId ? this.form.storeId : 0;
-      getStoreStaffList(storeId).then(response => {
-         this.staffOptions = response.data.staffList;
-      });
+      const storeId = this.form.storeId ? this.form.storeId : 0
+      getStoreStaffList(storeId).then((response) => {
+        this.staffOptions = response.data.staffList
+      })
     },
     // 提交按钮
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
           if (this.form.id) {
-            updateAccount(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
+            updateAccount(this.form).then((response) => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
           } else {
-            addAccount(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
+            addAccount(this.form).then((response) => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     // 删除按钮操作
     handleDelete(row) {
-      const userIds = row.id || this.ids;
-      this.$modal.confirm('您确认删除用户ID为"' + userIds + '"的账户?').then(function() {
-        return delAccount(userIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      const userIds = row.id || this.ids
+      this.$modal
+        .confirm('您确认删除用户ID为"' + userIds + '"的账户?')
+        .then(function () {
+          return delAccount(userIds)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('删除成功')
+        })
+        .catch(() => {})
     }
   }
-};
+}
 </script>

+ 170 - 102
src/views/system/genCode/index.vue

@@ -1,28 +1,33 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" class="main-search" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      class="main-search"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="表名称" prop="title">
         <el-input
           v-model="queryParams.tableName"
           placeholder="请输入表名称"
           clearable
-          style="width: 200px;"
+          style="width: 200px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item label="状态" prop="status">
-        <el-select
-          v-model="queryParams.status"
-          placeholder="状态"
-          clearable
-          style="width: 100px"
-        >
-          <el-option key="A" label="启用" value="A"/>
-          <el-option key="N" label="禁用" value="N"/>
+        <el-select v-model="queryParams.status" placeholder="状态" clearable style="width: 100px">
+          <el-option key="A" label="启用" value="A" />
+          <el-option key="N" label="禁用" value="N" />
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
+          搜索
+        </el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         <el-button
           type="primary"
@@ -31,12 +36,25 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:genCode:add']"
-        >新增</el-button>
+        >
+          新增
+        </el-button>
       </el-form-item>
     </el-form>
 
-    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
-      <el-table-column label="ID" prop="id" width="60"/>
+    <el-table
+      ref="tables"
+      v-loading="loading"
+      :data="list"
+      @selection-change="handleSelectionChange"
+      :default-sort="defaultSort"
+      @sort-change="handleSortChange"
+    >
+      <el-table-column label="ID" prop="id" width="60">
+        <template slot-scope="scope">
+          <span>{{ showIdLastFour(scope.row.id) }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="表名称" prop="tableName" />
       <el-table-column label="表前缀" prop="tablePrefix" />
       <el-table-column label="模块名称" prop="moduleName" />
@@ -61,7 +79,12 @@
           ></el-switch>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
+      <el-table-column
+        label="操作"
+        align="center"
+        width="180"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -69,27 +92,33 @@
             icon="el-icon-edit"
             v-hasPermi="['system:genCode:add']"
             @click="handleUpdate(scope.row)"
-          >修改</el-button>
+          >
+            修改
+          </el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-setting"
             v-hasPermi="['system:genCode:gen']"
             @click="doGenCode(scope.row)"
-          >生成代码</el-button>
+          >
+            生成代码
+          </el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             v-hasPermi="['system:genCode:add']"
             @click="handleDelete(scope.row)"
-          >删除</el-button>
+          >
+            删除
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.page"
       :limit.sync="queryParams.pageSize"
@@ -97,7 +126,13 @@
     />
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="title" :visible.sync="open" class="common-dialog" width="700px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      class="common-dialog"
+      width="700px"
+      append-to-body
+    >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
           <el-col :span="24">
@@ -109,14 +144,14 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="表前缀" prop="tablePrefix">
-              <el-input v-model="form.tablePrefix" placeholder="请输入表前缀" maxlength="200"/>
+              <el-input v-model="form.tablePrefix" placeholder="请输入表前缀" maxlength="200" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
             <el-form-item label="模块名称" prop="moduleName">
-              <el-input v-model="form.moduleName" placeholder="请输入模块名称" maxlength="10"/>
+              <el-input v-model="form.moduleName" placeholder="请输入模块名称" maxlength="10" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -154,15 +189,21 @@
 </template>
 
 <script>
-import { getGenCodeList, updateGenCodeStatus, getGenCodeInfo, saveGenCode, doGenCode } from "@/api/system/genCode";
+import {
+  getGenCodeList,
+  updateGenCodeStatus,
+  getGenCodeInfo,
+  saveGenCode,
+  doGenCode
+} from '@/api/system/genCode'
 export default {
-  name: "GenCodeIndex",
+  name: 'GenCodeIndex',
   data() {
     return {
       // 遮罩层
       loading: true,
       // 标题
-      title: "",
+      title: '',
       // 选中数组
       ids: [],
       // 非多个禁用
@@ -170,7 +211,7 @@ export default {
       // 显示搜索条件
       showSearch: true,
       // 图片根目录
-      imagePath: "",
+      imagePath: '',
       // 总条数
       total: 0,
       // 表格数据
@@ -178,9 +219,17 @@ export default {
       // 是否显示弹出层
       open: false,
       // 默认排序
-      defaultSort: {prop: 'sort', order: 'ascending'},
+      defaultSort: { prop: 'sort', order: 'ascending' },
       // 表单参数
-      form: { id: '', tableName: '', tablePrefix: '', moduleName: '', author: '', backendPath: '',  status: "A" },
+      form: {
+        id: '',
+        tableName: '',
+        tablePrefix: '',
+        moduleName: '',
+        author: '',
+        backendPath: '',
+        status: 'A'
+      },
       // 店铺列表
       storeList: [],
       // 查询参数
@@ -193,142 +242,161 @@ export default {
       // 表单校验
       rules: {
         tableName: [
-          { required: true, message: "表名称不能为空", trigger: "blur" },
+          { required: true, message: '表名称不能为空', trigger: 'blur' },
           { min: 2, max: 200, message: '表名称长度必须介于2 和 200 之间', trigger: 'blur' }
         ],
         tablePrefix: [
-          { required: true, message: "表前缀不能为空", trigger: "blur" },
+          { required: true, message: '表前缀不能为空', trigger: 'blur' },
           { min: 2, max: 200, message: '表前缀长度必须介于2 和 200 之间', trigger: 'blur' }
         ],
         moduleName: [
-          { required: true, message: "模块名称不能为空", trigger: "blur" },
+          { required: true, message: '模块名称不能为空', trigger: 'blur' },
           { min: 2, max: 200, message: '模块名称长度必须介于2 和 200 之间', trigger: 'blur' }
         ],
         backendPath: [
-          { required: true, message: "代码路径不能为空", trigger: "blur" },
+          { required: true, message: '代码路径不能为空', trigger: 'blur' },
           { min: 2, max: 200, message: '代码路径长度必须介于2 和 200 之间', trigger: 'blur' }
         ],
         author: [
-          { required: true, message: "作者不能为空", trigger: "blur" },
+          { required: true, message: '作者不能为空', trigger: 'blur' },
           { min: 2, max: 200, message: '作者长度必须介于2 和 200 之间', trigger: 'blur' }
         ]
       }
-    };
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     // 查询列表
     getList() {
-      this.loading = true;
-      getGenCodeList(this.queryParams).then( response => {
-          this.list = response.data.dataList.content;
-          this.total = response.data.dataList.totalElements;
-          this.imagePath = response.data.imagePath;
-          this.storeList = response.data.storeList;
-          this.loading = false;
-        }
-      );
+      this.loading = true
+      getGenCodeList(this.queryParams).then((response) => {
+        this.list = response.data.dataList.content
+        this.total = response.data.dataList.totalElements
+        this.imagePath = response.data.imagePath
+        this.storeList = response.data.storeList
+        this.loading = false
+      })
     },
     // 搜索按钮操作
     handleQuery() {
-      this.queryParams.page = 1;
-      this.getList();
+      this.queryParams.page = 1
+      this.getList()
     },
     // 重置按钮操作
     resetQuery() {
-      this.resetForm("queryForm");
-      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
-      this.handleQuery();
+      this.resetForm('queryForm')
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
+      this.handleQuery()
     },
     // 状态修改
     handleStatusChange(row) {
-      let text = row.status == "A" ? "启用" : "禁用";
-      this.$modal.confirm('确认要' + text + '"' + row.title + '"吗?').then(function() {
-        return updateGenCodeStatus(row.id, row.status);
-      }).then(() => {
-        this.$modal.msgSuccess(text + "成功");
-      }).catch(function() {
-        row.status = row.status === "N" ? "A" : "N";
-      });
+      let text = row.status == 'A' ? '启用' : '禁用'
+      this.$modal
+        .confirm('确认要' + text + '"' + row.title + '"吗?')
+        .then(function () {
+          return updateGenCodeStatus(row.id, row.status)
+        })
+        .then(() => {
+          this.$modal.msgSuccess(text + '成功')
+        })
+        .catch(function () {
+          row.status = row.status === 'N' ? 'A' : 'N'
+        })
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
+      this.ids = selection.map((item) => item.id)
       this.multiple = !selection.length
     },
     // 排序触发事件
     handleSortChange(column) {
-      this.queryParams.orderByColumn = column.prop;
-      this.queryParams.isAsc = column.order;
-      this.getList();
+      this.queryParams.orderByColumn = column.prop
+      this.queryParams.isAsc = column.order
+      this.getList()
     },
     // 新增按钮操作
     handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "新增生成代码";
+      this.reset()
+      this.open = true
+      this.title = '新增生成代码'
     },
     // 表单重置
     reset() {
-      this.form = { id: '', tableName: '', tablePrefix: '', moduleName: '', author: '', backendPath: '',  status: "A" };
-      this.resetForm("form");
+      this.form = {
+        id: '',
+        tableName: '',
+        tablePrefix: '',
+        moduleName: '',
+        author: '',
+        backendPath: '',
+        status: 'A'
+      }
+      this.resetForm('form')
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 提交按钮
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
           if (this.form.id) {
-              saveGenCode(this.form).then(response => {
-                this.$modal.msgSuccess("修改生成代码成功");
-                this.open = false;
-                this.getList();
-              });
+            saveGenCode(this.form).then((response) => {
+              this.$modal.msgSuccess('修改生成代码成功')
+              this.open = false
+              this.getList()
+            })
           } else {
-              saveGenCode(this.form).then(response => {
-                this.$modal.msgSuccess("新增生成代码成功");
-                this.open = false;
-                this.getList();
-              });
+            saveGenCode(this.form).then((response) => {
+              this.$modal.msgSuccess('新增生成代码成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     // 修改按钮操作
     handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids;
-      getGenCodeInfo(id).then(response => {
-        this.form = response.data.tGenCode;
-        this.open = true;
-        this.title = "编辑生成代码";
-      });
+      this.reset()
+      const id = row.id || this.ids
+      getGenCodeInfo(id).then((response) => {
+        this.form = response.data.tGenCode
+        this.open = true
+        this.title = '编辑生成代码'
+      })
     },
     // 删除按钮操作
     handleDelete(row) {
-      const name = row.tableName;
-      this.$modal.confirm('是否确认删除"' + name + '"的数据项?').then(function() {
-        return updateGenCodeStatus(row.id, 'D');
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      const name = row.tableName
+      this.$modal
+        .confirm('是否确认删除"' + name + '"的数据项?')
+        .then(function () {
+          return updateGenCodeStatus(row.id, 'D')
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('删除成功')
+        })
+        .catch(() => {})
     },
     // 生成按钮操作
     doGenCode(row) {
-      this.$modal.confirm('确定生成"' + row.tableName + '"的代码?').then(function() {
-        return doGenCode(row.id);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("代码生成成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm('确定生成"' + row.tableName + '"的代码?')
+        .then(function () {
+          return doGenCode(row.id)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('代码生成成功')
+        })
+        .catch(() => {})
     }
   }
-};
+}
 </script>

+ 102 - 50
src/views/system/logs/index.vue

@@ -1,6 +1,14 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" class="main-search" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      class="main-search"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="操作内容" prop="title">
         <el-input
           v-model="queryParams.keyword"
@@ -38,7 +46,9 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
+          搜索
+        </el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
@@ -53,20 +63,58 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['system:logs:delete']"
-        >删除</el-button>
+        >
+          删除
+        </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
-      <el-table-column label="ID" prop="id" width="80"/>
-      <el-table-column label="操作内容" align="center" prop="module" width="200" :show-overflow-tooltip="true" />
-      <el-table-column label="耗时" align="center" prop="timeConsuming"/>
-      <el-table-column label="IP" align="center" prop="clientIp" width="150"/>
+    <el-table
+      ref="tables"
+      v-loading="loading"
+      :data="list"
+      @selection-change="handleSelectionChange"
+      :default-sort="defaultSort"
+      @sort-change="handleSortChange"
+    >
+      <el-table-column label="ID" prop="id" width="80">
+        <template slot-scope="scope">
+          <span>{{ showIdLastFour(scope.row.id) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="操作内容"
+        align="center"
+        prop="module"
+        width="200"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column label="耗时" align="center" prop="timeConsuming" />
+      <el-table-column label="IP" align="center" prop="clientIp" width="150" />
       <el-table-column label="操作账号" align="center" prop="acctName" />
-      <el-table-column label="请求URL" align="center" prop="url" width="200" :show-overflow-tooltip="true"/>
-      <el-table-column label="客户端信息" align="center" prop="userAgent" width="250" :show-overflow-tooltip="true" />
-      <el-table-column label="时间" align="center" prop="actionTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
+      <el-table-column
+        label="请求URL"
+        align="center"
+        prop="url"
+        width="200"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="客户端信息"
+        align="center"
+        prop="userAgent"
+        width="250"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="时间"
+        align="center"
+        prop="actionTime"
+        sortable="custom"
+        :sort-orders="['descending', 'ascending']"
+        width="180"
+      >
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.actionTime) }}</span>
         </template>
@@ -74,7 +122,7 @@
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.page"
       :limit.sync="queryParams.pageSize"
@@ -87,9 +135,9 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="操作模块:">{{ form.title }}</el-form-item>
-            <el-form-item
-              label="登录信息:"
-            >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item>
+            <el-form-item label="登录信息:">
+              {{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}
+            </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
@@ -114,7 +162,9 @@
             <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
+            <el-form-item label="异常信息:" v-if="form.status === 1">
+              {{ form.errorMsg }}
+            </el-form-item>
           </el-col>
         </el-row>
       </el-form>
@@ -126,9 +176,9 @@
 </template>
 
 <script>
-import { list, delOperlog } from "@/api/system/logs";
+import { list, delOperlog } from '@/api/system/logs'
 export default {
-  name: "Logs",
+  name: 'Logs',
   data() {
     return {
       // 遮罩层
@@ -148,7 +198,7 @@ export default {
       // 日期范围
       dateRange: [],
       // 默认排序
-      defaultSort: {prop: 'createTime', order: 'descending'},
+      defaultSort: { prop: 'createTime', order: 'descending' },
       // 表单参数
       form: {},
       // 查询参数
@@ -159,63 +209,65 @@ export default {
         accountName: '',
         status: 'A'
       }
-    };
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     // 查询列表
     getList() {
-      this.loading = true;
-      list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
-          this.list = response.data.content;
-          this.total = response.data.totalElements;
-          this.loading = false;
-        }
-      );
+      this.loading = true
+      list(this.addDateRange(this.queryParams, this.dateRange)).then((response) => {
+        this.list = response.data.content
+        this.total = response.data.totalElements
+        this.loading = false
+      })
     },
     // 搜索按钮操作
     handleQuery() {
-      this.queryParams.page = 1;
-      this.getList();
+      this.queryParams.page = 1
+      this.getList()
     },
     // 重置按钮操作
     resetQuery() {
-      this.dateRange = [];
-      this.queryParams.accountName = '';
-      this.queryParams.keyword = '';
-      this.resetForm("queryForm");
+      this.dateRange = []
+      this.queryParams.accountName = ''
+      this.queryParams.keyword = ''
+      this.resetForm('queryForm')
       this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
-      this.handleQuery();
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.operId)
+      this.ids = selection.map((item) => item.operId)
       this.multiple = !selection.length
     },
     // 排序触发事件
     handleSortChange(column, prop, order) {
-      this.queryParams.orderByColumn = column.prop;
-      this.queryParams.isAsc = column.order;
-      this.getList();
+      this.queryParams.orderByColumn = column.prop
+      this.queryParams.isAsc = column.order
+      this.getList()
     },
     // 详细按钮操作
     handleView(row) {
-      this.open = true;
-      this.form = row;
+      this.open = true
+      this.form = row
     },
     // 删除按钮操作
     handleDelete(row) {
-      const operIds = row.operId || this.ids;
-      this.$modal.confirm('是否确认删除日志编号为"' + operIds + '"的数据项?').then(function() {
-        return delOperlog(operIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      const operIds = row.operId || this.ids
+      this.$modal
+        .confirm('是否确认删除日志编号为"' + operIds + '"的数据项?')
+        .then(function () {
+          return delOperlog(operIds)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('删除成功')
+        })
+        .catch(() => {})
     }
   }
-};
+}
 </script>
-

+ 187 - 139
src/views/system/role/index.vue

@@ -1,6 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" class="main-search" ref="queryForm" size="small" :inline="true" v-show="showSearch">
+    <el-form
+      :model="queryParams"
+      class="main-search"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+    >
       <el-form-item label="角色名称" prop="roleName">
         <el-input
           v-model="queryParams.name"
@@ -17,12 +24,14 @@
           clearable
           style="width: 240px"
         >
-          <el-option key="A" label="启用" value="A"/>
-          <el-option key="N" label="禁用" value="N"/>
+          <el-option key="A" label="启用" value="A" />
+          <el-option key="N" label="禁用" value="N" />
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
+          搜索
+        </el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
@@ -36,7 +45,9 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:role:add']"
-        >新增</el-button>
+        >
+          新增
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -47,7 +58,9 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['system:role:edit']"
-        >修改</el-button>
+        >
+          修改
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -58,14 +71,20 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['system:role:remove']"
-        >删除</el-button>
+        >
+          删除
+        </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="100" align="center" />
-      <el-table-column label="ID" prop="id" width="100" />
+      <el-table-column label="ID" prop="id" width="100">
+        <template slot-scope="scope">
+          <span>{{ showIdLastFour(scope.row.id) }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="角色名称" prop="name" :show-overflow-tooltip="true" width="200" />
       <el-table-column label="角色类型" prop="type" :show-overflow-tooltip="true" width="200" />
       <el-table-column label="状态" align="center" width="200">
@@ -86,20 +105,24 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['system:role:edit']"
-          >修改</el-button>
+          >
+            修改
+          </el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:role:delete']"
-          >删除</el-button>
+          >
+            删除
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.page"
       :limit.sync="queryParams.pageSize"
@@ -107,20 +130,22 @@
     />
 
     <!-- 添加或修改角色配置对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="700px" class="common-dialog" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="700px"
+      class="common-dialog"
+      append-to-body
+    >
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-form-item label="角色名称" prop="roleName">
           <el-input v-model="form.roleName" style="width: 300px" placeholder="请输入角色名称" />
         </el-form-item>
         <el-form-item label="角色类型" prop="roleType">
-          <el-select
-            v-model="form.roleType"
-            placeholder="角色类型"
-            style="width: 300px"
-          >
-          <el-option key="1" label="超级管理员" value="1"/>
-          <el-option key="2" label="普通管理员" value="2"/>
-          <el-option key="3" label="用户角色" value="3"/>
+          <el-select v-model="form.roleType" placeholder="角色类型" style="width: 300px">
+            <el-option key="1" label="超级管理员" value="1" />
+            <el-option key="2" label="普通管理员" value="2" />
+            <el-option key="3" label="用户角色" value="3" />
           </el-select>
         </el-form-item>
         <el-form-item label="状态">
@@ -130,9 +155,18 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="菜单权限">
-          <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
-          <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
-          <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
+          <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">
+            展开/折叠
+          </el-checkbox>
+          <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">
+            全选/全不选
+          </el-checkbox>
+          <el-checkbox
+            v-model="form.menuCheckStrictly"
+            @change="handleCheckedTreeConnect($event, 'menu')"
+          >
+            父子联动
+          </el-checkbox>
           <el-tree
             class="tree-border"
             :data="menuOptions"
@@ -145,7 +179,11 @@
           ></el-tree>
         </el-form-item>
         <el-form-item label="备注">
-          <el-input v-model="form.description" type="textarea" placeholder="请输入备注信息"></el-input>
+          <el-input
+            v-model="form.description"
+            type="textarea"
+            placeholder="请输入备注信息"
+          ></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -157,11 +195,18 @@
 </template>
 
 <script>
-import { listRole, getRole, delRole, addRole, updateRole, changeRoleStatus } from "@/api/system/role";
-import { treeselect as menuTreeselect } from "@/api/system/menu";
+import {
+  listRole,
+  getRole,
+  delRole,
+  addRole,
+  updateRole,
+  changeRoleStatus
+} from '@/api/system/role'
+import { treeselect as menuTreeselect } from '@/api/system/menu'
 
 export default {
-  name: "Role",
+  name: 'Role',
   data() {
     return {
       // 遮罩层
@@ -179,7 +224,7 @@ export default {
       // 角色表格数据
       roleList: [],
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
       // 是否显示弹出层(数据权限)
@@ -200,199 +245,202 @@ export default {
       // 表单参数
       form: { id: '', status: 'A', roleType: '1', description: '', menuCheckStrictly: true },
       defaultProps: {
-        children: "childrens",
-        label: "label"
+        children: 'childrens',
+        label: 'label'
       },
       // 表单校验
       rules: {
-        roleName: [
-          { required: true, message: "角色名称不能为空", trigger: "blur" }
-        ],
-        roleType: [
-          { required: true, message: "角色类型不能为空", trigger: "blur" }
-        ]
+        roleName: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
+        roleType: [{ required: true, message: '角色类型不能为空', trigger: 'blur' }]
       }
-    };
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     // 查询角色列表
     getList() {
-      this.loading = true;
-      listRole(this.queryParams).then(response => {
-          this.roleList = response.data.content;
-          this.total = response.data.totalElements;
-          this.loading = false;
-        }
-      );
+      this.loading = true
+      listRole(this.queryParams).then((response) => {
+        this.roleList = response.data.content
+        this.total = response.data.totalElements
+        this.loading = false
+      })
     },
     // 查询菜单树结构
     getMenuTreeselect() {
-      return menuTreeselect().then(response => {
-          this.menuOptions = response.data;
-          return response
-      });
+      return menuTreeselect().then((response) => {
+        this.menuOptions = response.data
+        return response
+      })
     },
     // 所有菜单节点数据
     getMenuAllCheckedKeys() {
       // 目前被选中的菜单节点
-      let checkedKeys = this.$refs.menu.getCheckedKeys();
+      let checkedKeys = this.$refs.menu.getCheckedKeys()
       // 半选中的菜单节点
-      let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
-      checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
-      return checkedKeys;
+      let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys()
+      checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys)
+      return checkedKeys
     },
     // 角色状态修改
     handleStatusChange(row) {
-      let text = row.status === "N" ? "禁用" : "启用";
-      this.$modal.confirm('确认要' + text + '"' + row.name + '"角色吗?').then(function() {
-        return changeRoleStatus(row.id, row.status);
-      }).then(() => {
-        this.$modal.msgSuccess(text + "成功");
-      }).catch(function() {
-        row.status = row.status === "A" ? "N" : "A";
-      });
+      let text = row.status === 'N' ? '禁用' : '启用'
+      this.$modal
+        .confirm('确认要' + text + '"' + row.name + '"角色吗?')
+        .then(function () {
+          return changeRoleStatus(row.id, row.status)
+        })
+        .then(() => {
+          this.$modal.msgSuccess(text + '成功')
+        })
+        .catch(function () {
+          row.status = row.status === 'A' ? 'N' : 'A'
+        })
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 取消按钮(数据权限)
     cancelDataScope() {
-      this.openDataScope = false;
-      this.reset();
+      this.openDataScope = false
+      this.reset()
     },
     // 表单重置
     reset() {
       if (this.$refs.menu != undefined) {
-          this.$refs.menu.setCheckedKeys([]);
+        this.$refs.menu.setCheckedKeys([])
       }
-      this.menuExpand = false,
-      this.menuNodeAll = false,
-      this.form = {
-        id: undefined,
-        roleName: '',
-        roleType: '1',
-        status: "A",
-        menuIds: [],
-        menuCheckStrictly: true,
-        description: ''
-      };
-      this.resetForm("form");
+      ;(this.menuExpand = false),
+        (this.menuNodeAll = false),
+        (this.form = {
+          id: undefined,
+          roleName: '',
+          roleType: '1',
+          status: 'A',
+          menuIds: [],
+          menuCheckStrictly: true,
+          description: ''
+        })
+      this.resetForm('form')
     },
     // 搜索按钮操作
     handleQuery() {
-      this.queryParams.page = 1;
-      this.getList();
+      this.queryParams.page = 1
+      this.getList()
     },
     // 重置按钮操作
     resetQuery() {
-      this.dateRange = [];
-      this.queryParams.name = '';
-      this.queryParams.status = '';
-      this.resetForm("queryForm");
-      this.handleQuery();
+      this.dateRange = []
+      this.queryParams.name = ''
+      this.queryParams.status = ''
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!=1
+      this.ids = selection.map((item) => item.id)
+      this.single = selection.length != 1
       this.multiple = !selection.length
     },
     // 树权限(展开/折叠)
     handleCheckedTreeExpand(value, type) {
       if (type == 'menu') {
-          let treeList = this.menuOptions;
-          for (let i = 0; i < treeList.length; i++) {
-               this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
-          }
+        let treeList = this.menuOptions
+        for (let i = 0; i < treeList.length; i++) {
+          this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value
+        }
       }
     },
     // 树权限(全选/全不选)
     handleCheckedTreeNodeAll(value, type) {
       if (type == 'menu') {
-          this.$refs.menu.setCheckedNodes(value ? this.menuOptions: []);
+        this.$refs.menu.setCheckedNodes(value ? this.menuOptions : [])
       }
     },
     // 树权限(父子联动)
     handleCheckedTreeConnect(value, type) {
       if (type == 'menu') {
-          this.form.menuCheckStrictly = value ? true: false;
+        this.form.menuCheckStrictly = value ? true : false
       }
     },
     // 新增按钮操作
     handleAdd() {
-      this.reset();
-      this.getMenuTreeselect();
-      this.open = true;
-      this.title = "添加角色";
+      this.reset()
+      this.getMenuTreeselect()
+      this.open = true
+      this.title = '添加角色'
     },
     // 修改按钮操作
     handleUpdate(row) {
-      this.reset();
-      const roleMenu = this.getMenuTreeselect();
+      this.reset()
+      const roleMenu = this.getMenuTreeselect()
       const roleId = row.id || this.ids
-      getRole(roleId).then(response => {
-        this.form.roleName = response.data.roleInfo.name;
-        this.form.roleType = response.data.roleInfo.type;
-        this.form.status = response.data.roleInfo.status;
-        this.form.id = response.data.roleInfo.id;
-        this.form.description = response.data.roleInfo.description;
-        this.open = true;
-        this.title = "修改角色";
+      getRole(roleId).then((response) => {
+        this.form.roleName = response.data.roleInfo.name
+        this.form.roleType = response.data.roleInfo.type
+        this.form.status = response.data.roleInfo.status
+        this.form.id = response.data.roleInfo.id
+        this.form.description = response.data.roleInfo.description
+        this.open = true
+        this.title = '修改角色'
         let checkedKeys = response.data.checkedKeys
 
         this.$nextTick(() => {
-          roleMenu.then(res => {
+          roleMenu.then((res) => {
             checkedKeys.forEach((v) => {
-              this.$nextTick(()=>{
-                  this.$refs.menu.setChecked(v, true ,false);
+              this.$nextTick(() => {
+                this.$refs.menu.setChecked(v, true, false)
               })
             })
-          });
-        });
-      });
+          })
+        })
+      })
     },
     // 分配用户操作
-    handleAuthUser: function(row) {
-      const roleId = row.id;
-      this.$router.push("/system/role-auth/account/" + roleId);
+    handleAuthUser: function (row) {
+      const roleId = row.id
+      this.$router.push('/system/role-auth/account/' + roleId)
     },
     // 提交按钮
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
           if (this.form.id) {
-            this.form.menuIds = this.getMenuAllCheckedKeys();
-            updateRole(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
+            this.form.menuIds = this.getMenuAllCheckedKeys()
+            updateRole(this.form).then((response) => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
           } else {
-            this.form.menuIds = this.getMenuAllCheckedKeys();
-            addRole(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
+            this.form.menuIds = this.getMenuAllCheckedKeys()
+            addRole(this.form).then((response) => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     // 删除按钮操作
     handleDelete(row) {
-      const roleIds = row.id || this.ids;
-      this.$modal.confirm('是否确认删除角色ID为"' + roleIds + '"的数据项?').then(function() {
-        return delRole(roleIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      const roleIds = row.id || this.ids
+      this.$modal
+        .confirm('是否确认删除角色ID为"' + roleIds + '"的数据项?')
+        .then(function () {
+          return delRole(roleIds)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('删除成功')
+        })
+        .catch(() => {})
     }
   }
-};
+}
 </script>