Browse Source

Project Init

yigeren911 2 năm trước cách đây
mục cha
commit
0445371e41

+ 1 - 0
src/api/controllerUrls.ts

@@ -62,6 +62,7 @@ export const mapMark = "/map/mark/"; //图上标定车位
 
 export const buildingTree = "/common/tree";//获取楼宇位置树
 export const coupon = "/coupon/"; //优惠卷
+export const couponHistory = "/coupon/history/"; //优惠卷历史
 export const store = "/store/"; //门店管理
 export const storeGoods = "/store/goods/"; //门店管理
 export const storeEmployee = "/store/employee/"; //店员管理

+ 53 - 3
src/views/backend/enterprise/coupons/couponstheme/index.vue

@@ -17,20 +17,41 @@
 
     <!-- 表单 -->
     <PopupForm ref="formRef" />
+    <sendDialog ref="sendDialogRef"></sendDialog>
 
   </div>
 </template>
 
 <script setup lang="ts">
 import { ref, onMounted, provide } from "vue";
-import { advertisement, coupon, document } from "/@/api/controllerUrls";
+import { coupon } from "/@/api/controllerUrls";
 import Table from "/@/components/table/index.vue";
 import TableHeader from "/@/components/table/header/index.vue";
 import { defaultOptButtons } from "/@/components/table";
 import PopupForm from "./popupForm.vue";
 import { baTableApi } from "/@/api/common";
 import baTableClass from "/@/utils/baTable";
+import _ from "lodash";
+import { ElMessage } from "element-plus";
+import useCurrentInstance from "/@/utils/useCurrentInstance";
+import sendDialog from "./sendDialog.vue"
 
+//注销按钮
+let cancelBtn: OptButton[] = [
+  {
+    render: "tipButton",
+    name: "send",
+    title: "派发",
+    text: "",
+    type: "primary",
+    icon: "el-icon-Avatar",
+    class: "",
+    disabledTip: false
+  }
+];
+
+let btn = defaultOptButtons(['edit','delete']);
+btn = btn.concat(cancelBtn);
 
 const tableRef = ref();
 const baTable = new baTableClass(
@@ -46,7 +67,7 @@ const baTable = new baTableClass(
         align: "center",
         render: "tag",
         operator: "=",
-        replaceValue: { 0: "抵扣券", 1: "折扣券", 2: "特价券"}
+        replaceValue: { 0: "抵扣券", 1: "折扣券", 2: "特价券" }
       },
       {
         label: "使用场景",
@@ -81,7 +102,7 @@ const baTable = new baTableClass(
         align: "center",
         width: "160",
         render: "buttons",
-        buttons: defaultOptButtons(),
+        buttons: btn,
         operator: false
       }
     ]
@@ -102,7 +123,36 @@ provide("baTable", baTable);
 onMounted(() => {
   baTable.mount();
   baTable.getIndex();
+
+  const { proxy } = useCurrentInstance();
+  /**
+   * 表格内的按钮响应
+   * @param name 按钮name
+   * @param row 被操作行数据
+   */
+  proxy.eventBus.on("onTableButtonClick", (data: { name: string; row: TableRow }) => {
+    if (!baTable.activate) return;
+    if (data.name == "send") {
+      newButtonClick(data.row);
+    }
+  });
 });
+
+let sendDialogRef = ref();
+
+/** 点击按钮事件 */
+const newButtonClick = (row: TableRow) => {
+  if (!row) {
+    return;
+  } else if (row.couponStatus == 1) {
+    ElMessage({ type: "error", message: "该消费卷已停用!" ,grouping:true});
+    return;
+  }
+// 数据来自表格数据,未重新请求api,深克隆,不然可能会影响表格
+  let rowClone = _.cloneDeep(row);
+
+  sendDialogRef.value.open(rowClone);
+};
 </script>
 
 

+ 128 - 0
src/views/backend/enterprise/coupons/couponstheme/sendDialog.vue

@@ -0,0 +1,128 @@
+<template>
+  <el-dialog title="派发优惠券" v-model="showDialog" width="800px" @close="closeDialog">
+    <div style="display: flex;align-items: center">
+      <div style="border: #dadada 1px solid;padding: 5px 5px;border-radius: 3px;width: 100px;text-align: center">
+        姓名/手机号
+      </div>
+      <el-input v-model="quickSearch" style="margin-left: 10px;width: 300px" placeholder="请输入会员姓名或手机号"
+                clearable
+                prefix-icon="el-icon-Search" @change="getData">
+      </el-input>
+    </div>
+    <div style="margin-top: 20px;display: flex;align-items: center;justify-content: space-between">
+      <el-button style="margin-left: 0px" type="warning" @click="submit">派发({{ selectMember.length }})</el-button>
+      <el-radio-group v-model="memberType" @change="getData()">
+        <el-radio-button border :label="0">可选</el-radio-button>
+        <el-radio-button border :label="1">已派发</el-radio-button>
+      </el-radio-group>
+    </div>
+    <el-table :data="memberList" style="margin-top: 20px" border height="40vh" @selection-change="select">
+      <el-table-column type="selection"></el-table-column>
+      <el-table-column label="头像" width="100" align="center" header-align="left">
+        <template #default="{row}">
+          <el-avatar :size="50" :src="row.headPortrait" />
+        </template>
+      </el-table-column>
+      <el-table-column prop="nickName" label="会员" width="160"></el-table-column>
+      <el-table-column prop="mobileNumber" label="手机号" width="160"></el-table-column>
+      <el-table-column prop="creatorName" label="来源" width="80"></el-table-column>
+      <el-table-column prop="createTime" label="注册时间"></el-table-column>
+    </el-table>
+    <el-pagination style="background: #ffffff;padding: 20px 20px"
+                   v-model:current-page="currentPage"
+                   v-model:page-size="pageSize"
+                   :page-sizes="[10, 20, 50, 100]"
+                   :background="true"
+                   layout="sizes, prev, pager, next, jumper"
+                   :total="total"
+                   @size-change="getData()"
+                   @current-change="getData()"
+    />
+
+
+  </el-dialog>
+</template>
+
+<script setup>
+
+import { ref } from "vue";
+import request from "/@/api/request";
+import { coupon } from "/@/api/controllerUrls";
+import { ElMessage } from "element-plus";
+
+
+let showDialog = ref(false);
+
+let memberType = ref(0);
+let quickSearch = ref("");
+let total = ref(0);
+let currentPage = ref(1);
+let pageSize = ref(10);
+let selectMember = ref([]);
+
+
+defineExpose({
+  open
+});
+
+
+let data = ref({});
+
+function open(event) {
+  data.value = event;
+  getData();
+  showDialog.value = true;
+}
+
+let memberList = ref([]);
+
+function getData() {
+  request.index(coupon, {
+    id: data.value.id,
+    quickSearch: quickSearch.value,
+    limit: pageSize.value,
+    page: currentPage.value,
+    memberType: memberType.value
+  }, "member").then((res) => {
+    if (res.code == 1) {
+      memberList.value = res.data.list;
+      total.value = +res.data.total;
+    }
+  });
+}
+
+function select(event) {
+  selectMember.value = event;
+}
+
+function submit() {
+  if (selectMember.value.length == 0) {
+    ElMessage({ type: "warning", message: "请选择派发对象!", grouping: true });
+    return;
+  }
+  let ids = [];
+  selectMember.value.map(value => {
+    ids.push(value.id);
+  });
+  request.edit(coupon, {
+    id: data.value.id,
+    ids: ids
+  }, "distribution").then((res) => {
+    if (res.code == 1) {
+      getData()
+    }
+  });
+}
+
+const emit = defineEmits(["close"]);
+
+function closeDialog() {
+  emit("close");
+}
+
+
+</script>
+
+<style scoped>
+
+</style>

+ 70 - 0
src/views/backend/enterprise/coupons/history/index.vue

@@ -0,0 +1,70 @@
+<template>
+  <div class="default-main ba-table-box">
+    <el-alert class="ba-table-alert" v-if="baTable.table.remark" :title="baTable.table.remark" type="info"
+              show-icon />
+    <el-row>
+      <el-col :span="24">
+        <!-- 表格顶部菜单 -->
+        <TableHeader :buttons="['refresh', 'add', 'edit', 'delete', 'comSearch']"
+                     quick-search-placeholder="通过标题模糊搜索"
+                     @action="baTable.onTableHeaderAction" />
+        <!-- 表格 -->
+        <!-- 要使用`el-table`组件原有的属性,直接加在Table标签上即可 -->
+        <Table @action="baTable.onTableAction" />
+
+      </el-col>
+    </el-row>
+
+
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ref, onMounted, provide } from "vue";
+import { couponHistory } from "/@/api/controllerUrls";
+import Table from "/@/components/table/index.vue";
+import TableHeader from "/@/components/table/header/index.vue";
+import { defaultOptButtons } from "/@/components/table";
+import { baTableApi } from "/@/api/common";
+import baTableClass from "/@/utils/baTable";
+
+
+const tableRef = ref();
+const baTable = new baTableClass(
+  new baTableApi(couponHistory),
+  {
+    dblClickNotEditColumn: [undefined, "status"],
+    column: [
+      { type: "selection", align: "center", operator: false },
+      { label: "优惠卷", prop: "couponName", align: "center", operator: "LIKE" },
+      { label: "商品", prop: "goodsName", align: "center", operator: "LIKE" },
+      { label: "用户", prop: "memberName", align: "center", operator: "LIKE" },
+      { label: "头像", prop: "headPortrait", align: "center", render: "image", operator: false },
+      { label: "订单编号", prop: "usedOrderId", align: "center", operator: "LIKE" },
+      { label: "实际支付金额", prop: "actualAmount", align: "center", operator: false },
+      { label: "优惠金额", prop: "discountAmount", align: "center", operator: false },
+      { label: "使用时间", prop: "usedTime", align: "center", operator: "LIKE" }
+
+    ]
+  },
+  {
+    defaultItems: {}
+  },
+  {
+    // 获得编辑数据后
+    requestEdit: () => {
+      if (baTable.form.items && !baTable.form.items.icon) baTable.form.items.icon = "el-icon-Minus";
+    }
+  }
+);
+
+provide("baTable", baTable);
+
+onMounted(() => {
+  baTable.mount();
+  baTable.getIndex();
+});
+</script>
+
+
+<style scoped lang="scss"></style>

+ 89 - 1
src/views/backend/enterprise/members/entrust/auditDialog.vue

@@ -1,11 +1,99 @@
 <template>
+  <el-dialog title="委托详情" v-model="showDialog" width="800px" @close="closeDialog">
+    <el-descriptions
+      class="margin-top"
+      :title="'车位编号:'+data.parkingNumber"
+      :column="3"
+      border
+    >
+      <el-descriptions-item width="250" label="区县">
+        {{ data.districtName }}
+      </el-descriptions-item>
+      <el-descriptions-item width="250" label="小区">
+        {{ data.communityName }}
+      </el-descriptions-item>
+      <el-descriptions-item width="250" label="楼号">
+        {{ data.buildingNumber }}
+      </el-descriptions-item>
+      <el-descriptions-item width="250" label="车位类型">
+        {{ data.parkingType == 1 ? "车库" : "车位" }}
+      </el-descriptions-item>
+      <el-descriptions-item label="面积">
+        {{ data.area }}
+      </el-descriptions-item>
+      <el-descriptions-item label="售卖方式">
+        <el-tag style="margin: 0px 3px" v-if="data.entrustType==0">租售</el-tag>
+        <el-tag style="margin: 0px 3px" v-if="data.entrustType==1">出租</el-tag>
+        <el-tag style="margin: 0px 3px" v-if="data.entrustType==2">出售</el-tag>
+      </el-descriptions-item>
+      <el-descriptions-item label="售价">
+        {{ data.salePrice }}
+      </el-descriptions-item>
+      <el-descriptions-item label="租金">
+        {{ data.hirePrice }}
+      </el-descriptions-item>
+      <el-descriptions-item label="委托人联系电话">
+        {{ data.contactNumber }}
+      </el-descriptions-item>
+      <el-descriptions-item label="证明文件">
+        <el-image v-if="data.evidenceFile.length>0"
+                  style="width: 100px; height: 100px"
+                  :src="data.evidenceFile[0]"
+                  :zoom-rate="1.2"
+                  :preview-src-list="data.evidenceFile"
+                  fit="cover"
+        />
+      </el-descriptions-item>
+    </el-descriptions>
 
+    <template #footer>
+      <el-button type="success" @click="submit(true)">审核通过</el-button>
+      <el-button type="danger" @click="submit(false)">拒绝</el-button>
+    </template>
+
+  </el-dialog>
 </template>
 
-<script setup lang="ts">
+<script setup>
+
+import { ref } from "vue";
+import request from "/@/api/request";
+import { entrust } from "/@/api/controllerUrls";
+
+
+let showDialog = ref(false);
+
+
+defineExpose({
+  open
+});
+
+
+let data = ref({});
+
+function open(event) {
+  data.value = event;
+  data.value.evidenceFile = data.value.evidenceFile ? JSON.parse(data.value.evidenceFile) : [];
+  showDialog.value = true;
+  console.log(data.value);
+}
 
+function submit(e) {
+  request.edit(entrust, {
+    id: data.value.id,
+    operate: e ? 1 : 0
+  }, "release").then((res) => {
+    if (res.code == 1) {
+      showDialog.value = false;
+    }
+  });
+}
 
+const emit = defineEmits(["close"]);
 
+function closeDialog() {
+  emit("close");
+}
 
 </script>
 

+ 53 - 20
src/views/backend/enterprise/members/entrust/index.vue

@@ -17,7 +17,7 @@
     </el-row>
 
     <!-- 表单 -->
-
+    <auditDialog ref="auditDialogRef" @close="baTable.getIndex()"></auditDialog>
   </div>
 </template>
 
@@ -29,23 +29,27 @@ import TableHeader from "/@/components/table/header/index.vue";
 import { defaultOptButtons } from "/@/components/table";
 import { baTableApi } from "/@/api/common";
 import baTableClass from "/@/utils/baTable";
+import useCurrentInstance from "/@/utils/useCurrentInstance";
+import _ from "lodash";
+import auditDialog from "./auditDialog.vue";
+import { ElMessage } from "element-plus";
 
 //注销按钮
 let cancelBtn: OptButton[] = [
   {
-    render: 'tipButton',
-    name: 'audit',
-    title: '审核',
-    text: '审核',
-    type: 'primary',
-    icon: '',
-    class: '',
-    disabledTip: false,
-  },
-]
+    render: "tipButton",
+    name: "audit",
+    title: "审核",
+    text: "审核",
+    type: "primary",
+    icon: "",
+    class: "",
+    disabledTip: false
+  }
+];
 
-let btn = defaultOptButtons([])
-btn = btn.concat(cancelBtn)
+let btn = defaultOptButtons([]);
+btn = btn.concat(cancelBtn);
 
 
 const baTable = new baTableClass(
@@ -54,8 +58,8 @@ const baTable = new baTableClass(
     dblClickNotEditColumn: [undefined, "status"],
     column: [
       { type: "selection", align: "center", operator: false },
-      {label: '头像', prop: 'headPortrait', align: 'center',render:'image', operator: false},
-      {label: '委托人姓名', prop: 'memberName', align: 'left', operator: 'LIKE'},
+      { label: "头像", prop: "headPortrait", align: "center", render: "image", operator: false },
+      { label: "委托人", prop: "memberName", align: "left", operator: "LIKE" },
       { label: "所在区县", prop: "districtName", align: "center", operator: "LIKE" },
       { label: "所在小区", prop: "communityName", align: "center", operator: "LIKE" },
       { label: "楼号", prop: "buildingNumber", align: "center", operator: "LIKE" },
@@ -86,13 +90,13 @@ const baTable = new baTableClass(
       },
       { label: "创建时间", prop: "createTime", align: "center", width: "180", operator: false },
       {
-        label: '操作',
-        align: 'center',
-        width: '80',
-        render: 'buttons',
+        label: "操作",
+        align: "center",
+        width: "80",
+        render: "buttons",
         buttons: btn,
         operator: false
-      },
+      }
     ]
   },
   {
@@ -111,7 +115,36 @@ provide("baTable", baTable);
 onMounted(() => {
   baTable.mount();
   baTable.getIndex();
+
+  const { proxy } = useCurrentInstance();
+  /**
+   * 表格内的按钮响应
+   * @param name 按钮name
+   * @param row 被操作行数据
+   */
+  proxy.eventBus.on("onTableButtonClick", (data: { name: string; row: TableRow }) => {
+    if (!baTable.activate) return;
+    if (data.name == "audit") {
+      infoButtonClick(data.row);
+    }
+  });
 });
+
+let auditDialogRef = ref();
+
+/** 点击按钮事件 */
+const infoButtonClick = (row: TableRow) => {
+  if (!row) {
+    return;
+  } else if (row.entrustStatus == 1) {
+    ElMessage({ type: "warning", message: "用户已取消委托" });
+    return;
+  }
+// 数据来自表格数据,未重新请求api,深克隆,不然可能会影响表格
+  let rowClone = _.cloneDeep(row);
+
+  auditDialogRef.value.open(rowClone);
+};
 </script>
 
 

+ 1 - 1
src/views/backend/enterprise/members/memberManagement/memberinfo.vue

@@ -41,7 +41,7 @@ const baTable = new baTableClass(
       {label: '用户昵称', prop: 'nickName', align: 'left', operator: 'LIKE'},
       {label: '会员状态', prop: 'memberStatusName', align: 'left', operator: 'LIKE'},
       {label: '联系电话', prop: 'mobileNumber', align: 'left', operator: 'LIKE'},
-      {label: '最后一次登陆时间', prop: 'lastLoginTime', align: 'left', operator: 'LIKE'},
+      {label: '最后一次登陆时间', prop: 'lastLoginTime', align: 'left', operator: false,width:'180'},
       {label: '创建人', prop: 'creatorName', align: 'center', width: '120', operator: false},
       {label: '创建时间', prop: 'createTime', align: 'center', width: '180', operator: false},
     ],

+ 1 - 1
src/views/backend/enterprise/project/parking/detailDialog.vue

@@ -2,7 +2,7 @@
   <el-dialog title="车位详情" v-model="showDialog" width="800px">
     <el-descriptions
       class="margin-top"
-      :title="data.parkingNumber"
+      :title="'车位编号:'+data.parkingNumber"
       :column="3"
       border
     >

+ 3 - 2
src/views/backend/enterprise/project/parking/index.vue

@@ -93,7 +93,7 @@
     <el-pagination style="background: #ffffff;padding: 20px 20px"
       v-model:current-page="currentPage"
       v-model:page-size="pageSize"
-      :page-sizes="[20, 100, 200, 500]"
+      :page-sizes="[10, 20, 50, 100]"
       :background = "true"
       layout="sizes, prev, pager, next, jumper"
       :total="total"
@@ -134,7 +134,7 @@ let quickSearch = ref('')
 
 let total = ref(0)
 let currentPage = ref(1)
-let pageSize = ref(20)
+let pageSize = ref(10)
 
 //区县列表
 let districtList = ref([])
@@ -202,6 +202,7 @@ function getData() {
   }).then((res: any) => {
     if (res.code == 1) {
       parkingData.value = res.data.list;
+      total.value = +res.data.total
     }
   });
 }

+ 97 - 35
src/views/backend/enterprise/store/employee/index.vue

@@ -1,46 +1,68 @@
 <template>
   <div class="default-main ">
     <el-alert class="ba-table-alert" v-if="baTable.table.remark" :title="baTable.table.remark" type="info"
-              show-icon/>
+              show-icon />
     <el-row>
       <el-col :span="24">
 
         <!-- 表格顶部菜单 -->
         <TableHeader :buttons="['refresh', 'add', 'edit', 'delete', 'comSearch']"
                      quick-search-placeholder="通过标题模糊搜索"
-                     @action="baTable.onTableHeaderAction"/>
+                     @action="baTable.onTableHeaderAction" />
         <!-- 表格 -->
         <!-- 要使用`el-table`组件原有的属性,直接加在Table标签上即可 -->
-        <Table @action="baTable.onTableAction"/>
+        <Table @action="baTable.onTableAction" />
 
       </el-col>
     </el-row>
 
     <!-- 表单 -->
-    <PopupForm ref="formRef"/>
+    <PopupForm ref="formRef" />
 
   </div>
 </template>
 
 <script setup lang="ts">
-import {ref, onMounted, provide} from 'vue'
-import { storeEmployee } from "/@/api/controllerUrls";
-import Table from '/@/components/table/index.vue'
-import TableHeader from '/@/components/table/header/index.vue'
-import {defaultOptButtons} from '/@/components/table'
-import PopupForm from './popupForm.vue'
-import {baTableApi} from '/@/api/common'
-import baTableClass from '/@/utils/baTable'
+import { ref, onMounted, provide } from "vue";
+import { district_list, storeEmployee } from "/@/api/controllerUrls";
+import Table from "/@/components/table/index.vue";
+import TableHeader from "/@/components/table/header/index.vue";
+import { defaultOptButtons } from "/@/components/table";
+import PopupForm from "./popupForm.vue";
+import { baTableApi } from "/@/api/common";
+import baTableClass from "/@/utils/baTable";
+import useCurrentInstance from "/@/utils/useCurrentInstance";
+import _ from "lodash";
+import auditDialog from "./auditDialog.vue";
+import request from "/@/api/request";
+import { ElMessageBox } from "element-plus";
+
+//注销按钮
+let cancelBtn: OptButton[] = [
+  {
+    render: "tipButton",
+    name: "reset",
+    title: "重置密码",
+    text: "",
+    type: "danger",
+    icon: "el-icon-Lock",
+    class: "",
+    disabledTip: false
+  }
+];
+
+let btn = defaultOptButtons(["edit", "delete"]);
+btn = btn.concat(cancelBtn);
 
 
 const baTable = new baTableClass(
   new baTableApi(storeEmployee),
   {
-    dblClickNotEditColumn: [undefined, 'status'],
+    dblClickNotEditColumn: [undefined, "status"],
     column: [
-      {type: 'selection', align: 'center', operator: false},
-      {label: '头像', prop: 'defaultHeadPortrait', align: 'center',render:'image', operator: false},
-      {label: '姓名', prop: 'realName', align: 'left', operator: 'LIKE'},
+      { type: "selection", align: "center", operator: false },
+      { label: "头像", prop: "defaultHeadPortrait", align: "center", render: "image", operator: false },
+      { label: "姓名", prop: "realName", align: "left", operator: "LIKE" },
       {
         label: "性别",
         prop: "sex",
@@ -49,37 +71,77 @@ const baTable = new baTableClass(
         operator: "=",
         replaceValue: { 1: "男", 2: "女" }
       },
-      {label: '所属门店', prop: 'storeName', align: 'center',  operator: false},
-      {label: '手机号码', prop: 'mobileNumber', align: 'center',  operator: false},
-      {label: '创建人', prop: 'creatorName', align: 'center', width: '120', operator: false},
-      {label: '创建时间', prop: 'createTime', align: 'center', width: '180', operator: false},
+      { label: "所属门店", prop: "storeName", align: "center", operator: false },
+      { label: "手机号码", prop: "mobileNumber", align: "center", operator: false },
+      { label: "创建人", prop: "creatorName", align: "center", width: "120", operator: false },
+      { label: "创建时间", prop: "createTime", align: "center", width: "180", operator: false },
       {
-        label: '操作',
-        align: 'center',
-        width: '160',
-        render: 'buttons',
-        buttons: defaultOptButtons(),
+        label: "操作",
+        align: "center",
+        width: "160",
+        render: "buttons",
+        buttons: btn,
         operator: false
-      },
-    ],
+      }
+    ]
   },
   {
-    defaultItems: {},
+    defaultItems: {}
   },
   {
     // 获得编辑数据后
     requestEdit: () => {
-      if (baTable.form.items && !baTable.form.items.icon) baTable.form.items.icon = 'el-icon-Minus'
-    },
+      if (baTable.form.items && !baTable.form.items.icon) baTable.form.items.icon = "el-icon-Minus";
+    }
   }
-)
+);
 
-provide('baTable', baTable)
+provide("baTable", baTable);
 
 onMounted(() => {
-  baTable.mount()
-  baTable.getIndex()
-})
+  baTable.mount();
+  baTable.getIndex();
+  const { proxy } = useCurrentInstance();
+  /**
+   * 表格内的按钮响应
+   * @param name 按钮name
+   * @param row 被操作行数据
+   */
+  proxy.eventBus.on("onTableButtonClick", (data: { name: string; row: TableRow }) => {
+    if (!baTable.activate) return;
+    if (data.name == "reset") {
+      resetButtonClick(data.row);
+    }
+  });
+});
+
+
+/** 点击按钮事件 */
+const resetButtonClick = (row: TableRow) => {
+  if (!row) return;
+// 数据来自表格数据,未重新请求api,深克隆,不然可能会影响表格
+  let rowClone = _.cloneDeep(row);
+
+  ElMessageBox({
+    type: "warning",
+    title: "",
+    message: "请确认是否重置密码?",
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    showCancelButton: true
+  }).then(() => {
+    request.edit(storeEmployee, {
+      id: rowClone.id,
+      password: 123456
+    }).then((res: any) => {
+      if (res.code == 1) {
+        baTable.getIndex();
+      }
+    });
+  }).catch(() => {
+  });
+};
+
 </script>