chengziding 2 kuukautta sitten
vanhempi
commit
fab569616a

+ 48 - 0
src/api/caregiver.js

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+
+// 查询护工信息列表
+export function nursingWorkerPage (query) {
+  return request({
+    url: '/info/nursingWorker/page',
+    method: 'get',
+    params: query
+  })
+}
+// 新增护工信息
+export function nursingWorkerAdd (data) {
+  return request({
+    url: '/info/nursingWorker/add',
+    method: 'post',
+    data
+  })
+}
+// 获取护工信息详细信息
+export function nursingWorkerInfo (id) {
+  return request({
+    url: `/info/nursingWorker/info/${id}`,
+    method: 'get',
+  })
+}
+// 修改护工信息
+export function nursingWorkerEdit (data) {
+  return request({
+    url: '/info/nursingWorker/edit',
+    method: 'post',
+    data
+  })
+}
+// 删除护工信息
+export function nursingWorkerDel (ids) {
+  return request({
+    url: `/info/nursingWorker/del/${ids}`,
+    method: 'post',
+  })
+}
+// 禁用启用护工
+export function nursingWorkerUpdateStatus (data) {
+  return request({
+    url: `/info/nursingWorker/update-status`,
+    method: 'post',
+    data
+  })
+}

+ 16 - 0
src/api/hospital.js

@@ -129,3 +129,19 @@ export function getQrCode (data) {
     data
   })
 }
+// 获取可关联的科室列表
+export function hospitalDepartmentRelList (query) {
+  return request({
+    url: `/info/hospitalDepartment/relList`,
+    method: 'get',
+    params: query
+  })
+}
+// 获取科室列表简略信息
+export function hospitalDepartmentSimpleList (query) {
+  return request({
+    url: `/info/hospitalDepartment/simpleList`,
+    method: 'get',
+    params: query
+  })
+}

+ 15 - 0
src/api/operating.js

@@ -211,3 +211,18 @@ export function problemStatus (id) {
     method: 'post',
   })
 }
+// 查询服务电话列表
+export function operatingPhoneList () {
+  return request({
+    url: `/info/operatingPhone/list`,
+    method: 'get',
+  })
+}
+// 服务电话列表批量编辑
+export function operatingPhoneBatchEdit (data) {
+  return request({
+    url: `/info/operatingPhone/batchEdit`,
+    method: 'put',
+    data
+  })
+}

+ 48 - 0
src/api/teacher.js

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+
+// 查询管理老师信息列表
+export function managementTeacherPage (query) {
+  return request({
+    url: '/info/managementTeacher/page',
+    method: 'get',
+    params: query
+  })
+}
+// 新增管理老师信息
+export function managementTeacherAdd (data) {
+  return request({
+    url: '/info/managementTeacher/add',
+    method: 'post',
+    data
+  })
+}
+// 获取管理老师信息详细信息
+export function managementTeacherInfo (id) {
+  return request({
+    url: `/info/managementTeacher/info/${id}`,
+    method: 'get',
+  })
+}
+// 修改管理老师信息
+export function managementTeacherEdit (data) {
+  return request({
+    url: `/info/managementTeacher/edit`,
+    method: 'post',
+    data
+  })
+}
+// 删除管理老师信息
+export function managementTeacherDel (ids) {
+  return request({
+    url: `/info/managementTeacher/del/${ids}`,
+    method: 'post',
+  })
+}
+// 启用-禁用 管理老师
+export function managementTeacherUpdateStatus (data) {
+  return request({
+    url: `/info/managementTeacher/update-status`,
+    method: 'post',
+    data
+  })
+}

+ 248 - 76
src/views/caregiver/index.vue

@@ -1,35 +1,36 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="护工姓名" prop="adName">
-        <el-input v-model="queryParams.adName" placeholder="请输入护工姓名" maxlength="20" clearable size="small" @keyup.enter.native="handleQuery" />
+      <el-form-item label="护工姓名" prop="name">
+        <el-input v-model="queryParams.name" placeholder="请输入护工姓名" maxlength="20" clearable size="small" @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="手机号">
-        <el-input v-model="queryParams.adName" placeholder="请输入手机号" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
+      <el-form-item label="手机号" prop="phoneNumber">
+        <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="性别" prop="locationCode">
-        <el-select v-model="queryParams.locationCode" placeholder="请输入广告位置" clearable size="small" style="width: 240px">
-          <!-- <el-option v-for="dict in dict.type.ad_location" :key="dict.value" :label="dict.label" :value="dict.value" /> -->
+      <el-form-item label="性别" prop="sex">
+        <el-select v-model="queryParams.sex" placeholder="请选择性别" clearable size="small" style="width: 240px">
+          <el-option label="男" value="1" />
+          <el-option label="女" value="2" />
         </el-select>
       </el-form-item>
       <el-form-item label="创建时间">
         <el-date-picker v-model="daterangeCreateTime" size="small" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
       </el-form-item>
-      <el-form-item label="用户状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请输入状态" clearable size="small" style="width: 240px">
-          <el-option label="上架" :value="true" />
-          <el-option label="下架" :value="false" />
+      <el-form-item label="用户状态" prop="enableStatus">
+        <el-select v-model="queryParams.enableStatus" placeholder="请选择用户状态" clearable size="small" style="width: 240px">
+          <el-option label="启用" value="0" />
+          <el-option label="禁用" value="1" />
         </el-select>
       </el-form-item>
-      <el-form-item label="接单状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请输入状态" clearable size="small" style="width: 240px">
-          <el-option label="上架" :value="true" />
-          <el-option label="下架" :value="false" />
+      <el-form-item label="接单状态" prop="orderReceivingStatus">
+        <el-select v-model="queryParams.orderReceivingStatus" placeholder="请选择接单状态" clearable size="small" style="width: 240px">
+          <el-option label="正常" value="0" />
+          <el-option label="关闭" value="1" />
         </el-select>
       </el-form-item>
-      <el-form-item label="常驻医院" prop="adName">
-        <el-select v-model="queryParams.locationCode" placeholder="请输入广告位置" clearable size="small" style="width: 240px">
-          <!-- <el-option v-for="dict in dict.type.ad_location" :key="dict.value" :label="dict.label" :value="dict.value" /> -->
+      <el-form-item label="常驻医院" prop="hospitalId">
+        <el-select v-model="queryParams.hospitalId" placeholder="请选择常驻医院" clearable size="small" style="width: 240px">
+          <el-option v-for="(v,i) in hospitalList" :key="i" :label="v.name" :value="v.id" />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -52,27 +53,45 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center" prop="locationCodeText" />
-      <el-table-column label="形象照片" align="center" prop="locationCodeText" />
-      <el-table-column label="性别" align="center" prop="locationCodeText" />
-      <el-table-column label="年龄" align="center" prop="locationCodeText" />
-      <el-table-column label="工作年限" align="center" prop="locationCodeText" />
-      <el-table-column label="手机号" align="center" prop="locationCodeText" />
-      <el-table-column label="常驻医院" align="center" prop="locationCodeText" />
-      <el-table-column label="接单数量" align="center" prop="locationCodeText" />
-      <el-table-column label="接单状态" align="center" prop="locationCodeText" />
-      <el-table-column label="用户状态" align="center" prop="locationCodeText" />
+      <el-table-column label="姓名" align="center" prop="name" />
+      <el-table-column label="形象照片" align="center" prop="photographUrl">
+        <template slot-scope="scope">
+          <el-image style="width: 50px; height: 50px" :src="scope.row.photographUrl" :preview-src-list="scope.row.photographUrl ? [scope.row.photographUrl] : []"></el-image>
+        </template>
+      </el-table-column>
+      <el-table-column label="性别" align="center" prop="sex" width="80">
+        <template slot-scope="{row}">
+          {{row.sex==1?'男':row.sex==2?'女':'未知'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="年龄" align="center" prop="age" width="80" />
+      <el-table-column label="工作年限" align="center" prop="workYears" width="80" />
+      <el-table-column label="手机号" align="center" prop="phoneNumber" />
+      <el-table-column label="常驻医院" align="center" prop="hospitalName" />
+      <el-table-column label="接单数量" align="center" prop="orderCount" width="80" />
+      <el-table-column label="接单状态" align="center" prop="locationCodeText">
+        <template slot-scope="{row}">
+          <el-tag v-if="row.orderReceivingStatus==0">正常</el-tag>
+          <el-tag v-if="row.orderReceivingStatus==1" type="danger">关闭</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="用户状态" align="center" prop="enableStatus">
+        <template slot-scope="{row}">
+          <el-tag v-if="row.enableStatus==0">启用</el-tag>
+          <el-tag v-if="row.enableStatus==1" type="danger">禁用</el-tag>
+        </template>
+      </el-table-column>
       <el-table-column label="创建时间" align="center" prop="createTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button size="mini" type="text">查看</el-button>
-          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
+          <el-button size="mini" type="text" @click="handleUpdate(scope.row,'查看')">查看</el-button>
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row,'修改')">修改</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
-          <el-button size="mini" type="text" @click="setStatus(scope.row)">{{scope.row.status?'禁用':'启用'}}</el-button>
+          <el-button size="mini" type="text" @click="setStatus(scope.row)">{{scope.row.enableStatus=='1'?'启用':'禁用'}}</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -80,57 +99,58 @@
     <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
     <!-- 添加或修改对话框 -->
     <el-drawer :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="护工姓名" prop="locationCode">
-          <el-input v-model="form.adName" placeholder="请输入" />
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="title=='查看'">
+        <el-form-item label="护工姓名" prop="name">
+          <el-input v-model="form.name" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="形象照片" prop="locationCode">
-          <imageUpload v-model="form.image" :limit="1" />
+        <el-form-item label="形象照片" prop="photographUrl">
+          <imageUpload key="photographUrl" :disabled="title=='查看'" v-model="form.photographUrl" :unique="'photograph-' + form.id" :limit="1" />
         </el-form-item>
-        <el-form-item label="性别" prop="locationCode">
-          <el-select v-model="form.locationCode" placeholder="请选择" clearable size="small">
-            <!-- <el-option v-for="dict in dict.type.ad_location" :key="dict.value" :label="dict.label" :value="dict.value" /> -->
+        <el-form-item label="性别" prop="sex">
+          <el-select v-model="form.sex" placeholder="请选择" clearable size="small">
+            <el-option label="男" value="1" />
+            <el-option label="女" value="2" />
           </el-select>
         </el-form-item>
-        <el-form-item label="身份证" prop="locationCode">
-          <el-input v-model="form.adName" maxlength="18" placeholder="请输入" />
+        <el-form-item label="身份证" prop="idCard">
+          <el-input v-model="form.idCard" maxlength="18" placeholder="请输入" @blur="getAge(form.idCard)" />
         </el-form-item>
-        <el-form-item label="年龄" prop="locationCode">
-          <el-input v-model="form.adName" maxlength="18" placeholder="请输入" />
+        <el-form-item label="年龄" prop="age">
+          <el-input v-model="form.age" placeholder="请输入" maxlength="3" oninput="value=value.replace(/[^0-9]/g,'')" />
         </el-form-item>
-        <el-form-item label="工作年限" prop="locationCode">
-          <el-input v-model="form.adName" maxlength="18" placeholder="请输入" />
+        <el-form-item label="工作年限" prop="workYears">
+          <el-input v-model="form.workYears" placeholder="请输入" maxlength="2" oninput="value=value.replace(/[^0-9]/g,'')" />
         </el-form-item>
-        <el-form-item label="手机号" prop="locationCode">
-          <el-input v-model="form.adName" maxlength="11" placeholder="请输入" />
+        <el-form-item label="手机号" prop="phoneNumber">
+          <el-input v-model="form.phoneNumber" maxlength="11" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="从业证书" prop="locationCode">
-          <div class="box" v-for="(item, index) in form.arr" :key="index">
-            <div class="box_t">
-              <el-input v-model="form.adName" maxlength="11" style="margin-right:10px" placeholder="请输入" />
+        <el-form-item label="从业证书" prop="nursingCertificateList">
+          <div class="box" v-for="(item, index) in form.nursingCertificateList" :key="index">
+            <div class="box_t" v-if="title!='查看'">
+              <el-input v-model="item.certificateName" maxlength="11" style="margin-right:10px" placeholder="请输入" />
               <el-button type="primary" @click="add">新增</el-button>
               <el-button type="danger" v-if="index>0" @click="del(index)">删除</el-button>
             </div>
-            <imageUpload v-model="form.image" :limit="1" />
+            <imageUpload :key="'certificate-' + index" :disabled="title=='查看'" v-model="item.pictureUrl" :unique="'certificate-' + index" :limit="1" />
           </div>
         </el-form-item>
-        <el-form-item label="排序" prop="orderIndex">
-          <el-input-number v-model="form.orderIndex" :min="1" label="排序" :precision="0"></el-input-number>
+        <el-form-item label="排序" prop="sortOrder">
+          <el-input-number v-model="form.sortOrder" :min="1" label="排序" :precision="0"></el-input-number>
         </el-form-item>
-        <el-form-item label="接单状态" prop="status">
-          <el-select v-model="form.status" placeholder="请选择" clearable style="width: 100%">
-            <el-option label="上架" :value="true" />
-            <el-option label="下架" :value="false" />
+        <el-form-item label="接单状态" prop="orderReceivingStatus">
+          <el-select v-model="form.orderReceivingStatus" placeholder="请选择" clearable style="width: 100%">
+            <el-option label="正常" value="0" />
+            <el-option label="关闭" value="1" />
           </el-select>
         </el-form-item>
-        <el-form-item label="常驻医院" prop="status">
-          <el-select v-model="form.status" placeholder="请选择" clearable style="width: 100%">
-            <el-option label="上架" :value="true" />
+        <el-form-item label="常驻医院" prop="hospitalId">
+          <el-select v-model="form.hospitalId" placeholder="请选择" clearable style="width: 100%">
+            <el-option v-for="(v,i) in hospitalList" :key="i" :label="v.name" :value="v.id" />
           </el-select>
         </el-form-item>
       </el-form>
       <div class="demo-drawer__footer">
-        <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
+        <el-button v-if="title!='查看'" :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-drawer>
@@ -138,6 +158,8 @@
 </template>
 
 <script>
+import { nursingWorkerPage, nursingWorkerAdd, nursingWorkerInfo, nursingWorkerEdit, nursingWorkerDel, nursingWorkerUpdateStatus } from '@/api/caregiver.js'
+import { hospitalSimpleList } from '@/api/hospital.js'
 export default {
   data () {
     return {
@@ -167,19 +189,146 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        name: undefined,
+        phoneNumber: undefined,
+        sex: undefined,
+        enableStatus: undefined,
+        orderReceivingStatus: undefined,
+        hospitalId: undefined,
       },
       form: {
-        arr: [{}]
+        name: undefined,
+        age: undefined,
+        workYears: undefined,
+        photographUrl: undefined,
+        sex: undefined,
+        idCard: undefined,
+        phoneNumber: undefined,
+        nursingCertificateList: [
+          {
+            id: undefined,
+            pictureUrl: undefined,
+            certificateName: undefined
+          }
+        ],
+        sortOrder: 1,
+        orderReceivingStatus: "0",
+        enableStatus: "0",
+        hospitalId: undefined
       },
-      rules: {}
+      rules: {
+        name: [
+          { required: true, message: "请输入年龄护工姓名", trigger: "blur" }
+        ],
+        photographUrl: [
+          { required: true, message: "请上传图片", trigger: "change" }
+        ],
+        sex: [
+          { required: true, message: "请选择性别", trigger: "change" }
+        ],
+        idCard: [
+          { required: true, message: "请输入身份证号码", trigger: "blur" }
+        ],
+        age: [
+          { required: true, message: "请输入年龄", trigger: "blur" }
+        ],
+        workYears: [
+          { required: true, message: "请输入工作年限", trigger: "blur" }
+        ],
+        phoneNumber: [
+          { required: true, message: "请输入手机号", trigger: "blur" }
+        ],
+        orderReceivingStatus: [
+          { required: true, message: "请选择接单状态", trigger: "change" }
+        ],
+        hospitalId: [
+          { required: true, message: "请选择常驻医院", trigger: "change" }
+        ]
+      },
+      hospitalList: []
     }
   },
+  created () {
+    this.getList();
+    this.getHospitalList();
+  },
   methods: {
     /** 搜索按钮操作 */
     handleQuery () {
       this.queryParams.pageNum = 1;
       this.getList();
     },
+    getHospitalList () {
+      hospitalSimpleList().then(response => {
+        this.hospitalList = response.data;
+      });
+    },
+    /** 查看/修改按钮操作 */
+    handleUpdate (row, title) {
+      this.loading = true;
+      this.reset();
+      const id = row.id || this.ids
+      nursingWorkerInfo(id).then(response => {
+        this.loading = false;
+        this.form = response.data;
+        this.open = true;
+        this.title = title;
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete (row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除护工姓名为"' + row.name + '"的数据项?').then(() => {
+        this.loading = true;
+        return nursingWorkerDel(ids);
+      }).then(() => {
+        this.loading = false;
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    /** 用户状态操作 */
+    setStatus (row) {
+      let statusText = row.enableStatus == '1' ? '启用' : '禁用';
+      this.$modal.confirm('是否确认' + statusText + '护工名字为"' + row.name + '"的数据项?').then(() => {
+        this.loading = true;
+        let param = { id: row.id, enableStatus: row.enableStatus == '1' ? '0' : '1' };
+        return nursingWorkerUpdateStatus(param);
+      }).then(() => {
+        this.loading = false;
+        this.getList();
+        this.$modal.msgSuccess(statusText + "成功");
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    getAge (idCard) {
+      if (!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(idCard)) {
+        throw new Error("身份证号码格式不正确");
+      }
+
+      // 提取出生年月日:第7到14位是 YYYYMMDD
+      const year = parseInt(idCard.substring(6, 10), 10);
+      const month = parseInt(idCard.substring(10, 12), 10);
+      const day = parseInt(idCard.substring(12, 14), 10);
+
+      // 获取当前日期
+      const today = new Date();
+      const currentYear = today.getFullYear();
+      const currentMonth = today.getMonth() + 1; // 月份从0开始
+      const currentDay = today.getDate();
+
+      // 计算年龄
+      let age = currentYear - year;
+
+      // 检查是否还没过生日
+      if (currentMonth < month || (currentMonth === month && currentDay < day)) {
+        age--;
+      }
+      this.form.age = age;
+    },
     /** 重置按钮操作 */
     resetQuery () {
       this.daterangeCreateTime = [];
@@ -194,7 +343,26 @@ export default {
     },
     // 表单重置
     reset () {
-      // this.form = {};
+      this.form = {
+        id: undefined,
+        name: undefined,
+        age: undefined,
+        workYears: undefined,
+        photographUrl: undefined,
+        sex: undefined,
+        idCard: undefined,
+        phoneNumber: undefined,
+        nursingCertificateList: [
+          {
+            pictureUrl: undefined,
+            certificateName: undefined
+          }
+        ],
+        sortOrder: 1,
+        orderReceivingStatus: "0",
+        enableStatus: "0",
+        hospitalId: undefined
+      };
       this.resetForm("form");
     },
     // 取消按钮
@@ -207,8 +375,8 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.buttonLoading = true;
-          if (this.form.adId != null) {
-            bannerEdit(this.form).then(response => {
+          if (this.form.id != null) {
+            nursingWorkerEdit(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
@@ -216,7 +384,7 @@ export default {
               this.buttonLoading = false;
             });
           } else {
-            bannerAdd(this.form).then(response => {
+            nursingWorkerAdd(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -235,17 +403,21 @@ export default {
         this.queryParams["createTimeStart"] = this.daterangeCreateTime[0] + ' 00:00:00';
         this.queryParams["createTimeEnd"] = this.daterangeCreateTime[1] + ' 23:59:59';
       }
-      // bannerPage(this.queryParams).then(response => {
-      //   this.list = response.rows;
-      //   this.total = response.total;
-      //   this.loading = false;
-      // });
+      nursingWorkerPage(this.queryParams).then(response => {
+        this.list = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
     },
     add () {
-      this.form.arr.push({})
+      this.form.nursingCertificateList.push({
+        id: this.generateId(),
+        certificateName: '',
+        pictureUrl: ''
+      })
     },
     del (index) {
-      this.form.arr.splice(index, 1)
+      this.form.nursingCertificateList.splice(index, 1)
     },
   },
 }

+ 20 - 8
src/views/operating/systemConfig.vue

@@ -6,9 +6,9 @@
         <div class="item" style=" width: 1100px;">
           *服务电话
           <div>
-            <el-form-item label="" prop="giftExchangeRatio" v-for="(item, index) in form.arr" :key="index">
+            <el-form-item label="" v-for="(item, index) in form.arr" :key="index">
               <div class="flex mb10">
-                <el-input class="mr10" type="text" maxlength="11" oninput="value=value.replace(/[^0-9]/g,'')" v-model="form.giftExchangeRatio" placeholder=""></el-input>
+                <el-input class="mr10" type="text" maxlength="11" oninput="value=value.replace(/[^0-9]/g,'')" v-model="form.arr[index].phoneNumber" placeholder=""></el-input>
                 <el-button type="primary" @click="add">新增</el-button>
                 <el-button type="danger" v-if="index>0" @click="del(index)">删除</el-button>
               </div>
@@ -25,7 +25,7 @@
 </template>
 
 <script>
-import { shopSaleConfigSet, shopSaleConfigDefault } from '@/api/operating'
+import { operatingPhoneBatchEdit, operatingPhoneList } from '@/api/operating'
 export default {
   data () {
     return {
@@ -42,12 +42,12 @@ export default {
     }
   },
   created () {
-    // this.getDetails()
+    this.getDetails()
   },
   methods: {
     add () {
       this.form.arr.push({
-        giftExchangeRatio: ''
+        phoneNumber: ''
       })
     },
     del (index) {
@@ -55,8 +55,8 @@ export default {
     },
     getDetails () {
       this.loading = true
-      shopSaleConfigDefault().then(res => {
-        this.form = res.data
+      operatingPhoneList().then(res => {
+        this.form.arr = (res.data && res.data.length > 0) ? res.data : [{ phoneNumber: '' }]
       }).finally(() => {
         this.loading = false
       })
@@ -64,11 +64,23 @@ export default {
     submitForm () {
       this.$refs['formRef'].validate((valid) => {
         if (valid) {
-          shopSaleConfigSet(this.form).then(res => {
+          for (let i = 0; i < this.form.arr.length; i++) {
+            if (!this.form.arr[i].phoneNumber) {
+              this.$message.error('请输入手机号')
+              return
+            }
+            // 验证手机号
+            if (!(/^1[3456789]\d{9}$/.test(this.form.arr[i].phoneNumber))) {
+              this.$message.error(`第${i + 1}行请输入正确的手机号`)
+              return
+            }
+          }
+          operatingPhoneBatchEdit(this.form.arr).then(res => {
             this.$message({
               message: '提交成功',
               type: 'success'
             })
+            this.getDetails()
           })
         }
       })

+ 230 - 180
src/views/teacher/index.vue

@@ -1,22 +1,24 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="老师姓名" prop="adName">
-        <el-input v-model="queryParams.adName" placeholder="请输入" maxlength="20" clearable size="small" @keyup.enter.native="handleQuery" />
+      <el-form-item label="老师姓名" prop="name">
+        <el-input v-model="queryParams.name" placeholder="请输入" maxlength="20" clearable size="small" @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="手机号" prop="adName">
-        <el-input v-model="queryParams.adName" placeholder="请输入" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
+      <el-form-item label="手机号" prop="phoneNumber">
+        <el-input v-model="queryParams.phoneNumber" placeholder="请输入" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="性别" prop="adName">
-        <el-select v-model="queryParams.status" placeholder="请选择" clearable size="small" style="width: 240px">
-          <el-option label="上架" :value="true" />
-          <el-option label="下架" :value="false" />
+      <el-form-item label="性别" prop="sex">
+        <el-select v-model="queryParams.sex" placeholder="请选择性别" clearable size="small" style="width: 240px">
+          <el-option label="男" value="1" />
+          <el-option label="女" value="2" />
         </el-select>
       </el-form-item>
-      <el-form-item label="医院科室" prop="adName">
-        <el-select v-model="queryParams.status" placeholder="请选择" clearable size="small" style="width: 240px">
-          <el-option label="上架" :value="true" />
-          <el-option label="下架" :value="false" />
+      <el-form-item label="医院科室" prop="departmentId">
+        <el-select v-model="queryParams.hospitalId" placeholder="请选择医院" clearable @visible-change="getRelList(queryParams.hospitalId,-1)" style="width: 120px;">
+          <el-option v-for="(v,i) in hospitalList" :key="i" :label="v.name" :value="v.id" />
+        </el-select>
+        <el-select v-model="queryParams.departmentId" placeholder="请选择科室" clearable style="width: 120px;">
+          <el-option v-for="(v,i) in relList" :key="i" :label="v.name" :value="v.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="创建时间">
@@ -52,19 +54,23 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center" prop="locationCodeText" />
-      <el-table-column label="形象照片" align="center" prop="image">
+      <el-table-column label="姓名" align="center" prop="name" />
+      <el-table-column label="形象照片" align="center" prop="photographUrl">
         <template slot-scope="scope">
-          <el-image style="width: 50px; height: 50px" :src="scope.row.image" :preview-src-list="scope.row.image ? [scope.row.image] : []"></el-image>
+          <el-image style="width: 50px; height: 50px" :src="scope.row.photographUrl" :preview-src-list="scope.row.photographUrl ? [scope.row.photographUrl] : []"></el-image>
         </template>
       </el-table-column>
-      <el-table-column label="性别" align="center" prop="adName" />
-      <el-table-column label="年龄" prop="jumpType" align="center" />
-      <el-table-column label="手机号" prop="outsideAddress" align="center" />
-      <el-table-column label="状态" align="center" prop="status">
+      <el-table-column label="性别" align="center" prop="adName">
         <template slot-scope="{row}">
-          <el-tag type="success" v-if="row.status">上架</el-tag>
-          <el-tag type="danger" v-if="!row.status">下架</el-tag>
+          {{row.sex==1?'男':row.sex==2?'女':'未知'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="年龄" prop="age" align="center" />
+      <el-table-column label="手机号" prop="phoneNumber" align="center" />
+      <el-table-column label="状态" align="center" prop="enableStatus">
+        <template slot-scope="{row}">
+          <el-tag type="success" v-if="row.enableStatus==0">启用</el-tag>
+          <el-tag type="danger" v-if="row.enableStatus==1">禁用</el-tag>
         </template>
       </el-table-column>
       <el-table-column label="创建时间" align="center" prop="createTime" width="180">
@@ -77,67 +83,63 @@
           <el-button size="mini" type="text" @click="handleUpdate(scope.row)">查看</el-button>
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
-          <el-button size="mini" type="text" @click="setStatus(scope.row)">{{scope.row.status?'下架':'上架'}}</el-button>
+          <el-button size="mini" type="text" @click="setStatus(scope.row)">{{scope.row.enableStatus=='0'?'禁用':'启用'}}</el-button>
         </template>
       </el-table-column>
     </el-table>
 
     <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
 
-    <!-- 添加或修改测试单表对话框 -->
     <el-drawer :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="老师姓名" prop="adName">
-          <el-input v-model="form.adName" placeholder="请输入广告名称" />
+        <el-form-item label="老师姓名" prop="name">
+          <el-input v-model="form.name" maxlength="20" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="形象照片" prop="image">
-          <imageUpload v-model="form.image" :limit="1" />
-          <div class="el-upload__tip" v-if="form.locationCode">推荐尺寸:
-            <span style="color:rgb(245, 108, 108)" v-for="dict in dict.type.ad_location" :key="dict.value" v-if="dict.value === form.locationCode">{{dict.raw.cssClass}}</span>
-          </div>
-          <!-- <img src="http://laijuhui.oss-cn-wuhan-lr.aliyuncs.com/upload/2025/04/01/be944e5bc84f43edb2c27f28d1c8e5e7.png" alt=""> -->
+        <el-form-item label="形象照片" prop="photographUrl">
+          <imageUpload v-model="form.photographUrl" :limit="1" />
         </el-form-item>
-        <el-form-item label="性别" prop="jumpType">
-          <el-select v-model="form.jumpType" placeholder="请选择" clearable @change="jumpTypeChange" style="width: 100%">
-            <el-option label="v.label" value="v.value" />
+        <el-form-item label="性别" prop="sex">
+          <el-select v-model="form.sex" placeholder="请选择" style="width: 100%">
+            <el-option label="男" value="1" />
+            <el-option label="女" value="2" />
           </el-select>
         </el-form-item>
-        <el-form-item label="身份证号" prop="adName">
-          <el-input v-model="form.adName" placeholder="请输入" />
+        <el-form-item label="身份证号" prop="idCard">
+          <el-input v-model="form.idCard" placeholder="请输入" @blur="getAge(form.idCard)" />
         </el-form-item>
-        <el-form-item label="年龄" prop="adName">
-          <el-input v-model="form.adName" placeholder="请输入" />
+        <el-form-item label="年龄" prop="age">
+          <el-input v-model="form.age" maxlength="3" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="工作年限" prop="adName">
-          <el-input v-model="form.adName" placeholder="请输入" />
+        <el-form-item label="工作年限" prop="workYears">
+          <el-input v-model="form.workYears" maxlength="2" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="手机号" prop="adName">
-          <el-input v-model="form.adName" placeholder="请输入" />
+        <el-form-item label="手机号" prop="phoneNumber">
+          <el-input v-model="form.phoneNumber" maxlength="11" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="管理医院科室" prop="adName">
-          <div class="flex" v-for="(item, index) in form.arr" :key="index">
-            <el-select v-model="form.jumpType" placeholder="请选择医院" clearable @change="jumpTypeChange" style="width: 100%;margin-right:10px;">
-              <el-option label="v.label" value="v.value" />
+        <el-form-item label="管理医院科室" prop="departmentIds">
+          <div class="flex mb10" v-for="(item, index) in form.departmentIds" :key="index">
+            <el-select v-model="item.hospitalId" placeholder="请选择医院" clearable @change="getRelList(item.hospitalId,index)" style="width: 100%;margin-right:10px;">
+              <el-option v-for="(v,i) in hospitalList" :key="i" :label="v.name" :value="v.id" />
             </el-select>
-            <el-select v-model="form.jumpType1" placeholder="请选择科室" clearable @change="jumpTypeChange" style="width: 100%;margin-right:10px;">
-              <el-option label="v.label" value="v.value" />
+            <el-select v-model="item.departmentId" placeholder="请选择科室" multiple clearable style="width: 100%;margin-right:10px;">
+              <el-option v-for="(v,i) in item.relList" :key="i" :label="v.name" :value="v.id" />
             </el-select>
             <el-button type="primary" @click="add">新增</el-button>
             <el-button type="danger" v-if="index>0" @click="del(index)">删除</el-button>
           </div>
         </el-form-item>
 
-        <el-form-item label="排序" prop="orderIndex">
-          <el-input-number v-model="form.orderIndex" :min="1" label="排序" :precision="0"></el-input-number>
+        <el-form-item label="排序" prop="sortOrder">
+          <el-input-number v-model="form.sortOrder" :min="1" label="排序" :precision="0"></el-input-number>
         </el-form-item>
-        <el-form-item label="状态" prop="status">
-          <el-select v-model="form.status" placeholder="请选择上架状态" clearable style="width: 100%">
-            <el-option label="上架" :value="true" />
-            <el-option label="下架" :value="false" />
+        <el-form-item label="状态" prop="enableStatus">
+          <el-select v-model="form.enableStatus" placeholder="请选择" clearable style="width: 100%">
+            <el-option label="上架" value="0" />
+            <el-option label="下架" value="1" />
           </el-select>
         </el-form-item>
-        <el-form-item label="是否开启管理权限" prop="orderIndex" label-width="150px">
-          <el-switch v-model="form.value"></el-switch>
+        <el-form-item label="是否开启管理权限" prop="manageNursingFlag" label-width="150px">
+          <el-switch v-model="form.manageNursingFlag" active-value="Y" inactive-value="N"></el-switch>
           <div class="hint">开启后,管理老师在移动端拥有管理护工的权限</div>
         </el-form-item>
       </el-form>
@@ -146,25 +148,14 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-drawer>
-    <SelNotice ref="SelNotice" @result="selectResult" />
-    <SelPointsGoods ref="SelPointsGoods" @result="selectResult" />
-    <SelShop ref="SelShop" @result="selectResult" />
   </div>
 </template>
 
 <script>
-import { bannerAdd, bannerEdit, bannerPage, bannerInfo, bannerSetStatus, bannerDelSingle } from "@/api/banner.js";
+import { managementTeacherPage, managementTeacherAdd, managementTeacherInfo, managementTeacherEdit, managementTeacherUpdateStatus, managementTeacherDel } from "@/api/teacher.js";
+import { hospitalSimpleList, hospitalDepartmentRelList, hospitalDepartmentSimpleList } from '@/api/hospital.js'
 import { getToken } from "@/utils/auth";
-import SelNotice from "@/components/SelNotice/index.vue";
-import SelPointsGoods from "@/components/SelPointsGoods/index.vue";
-import SelShop from "@/components/SelShop/index.vue";
 export default {
-  dicts: ['ad_location', 'internal_page'],
-  components: {
-    SelNotice,
-    SelPointsGoods,
-    SelShop
-  },
   data () {
     return {
       //按钮loading
@@ -206,41 +197,62 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        adName: undefined,
-        status: undefined,
-        locationCode: undefined
+        name: undefined,
+        phoneNumber: undefined,
+        sex: undefined,
+        hospitalId: undefined,
+        departmentId: undefined,
       },
       // 表单参数
       form: {
-        orderIndex: 1,
-        innerPageCode: null,
-        outsideAddress: null,
-        resourceModel: null,
-        resourceModelId: null,
-        resourceModelTitle: null
+        name: undefined,
+        photographUrl: undefined,
+        sex: undefined,
+        idCard: undefined,
+        age: undefined,
+        workYears: undefined,
+        phoneNumber: undefined,
+        sortOrder: undefined,
+        enableStatus: '0',
+        departmentIds: [{
+          hospitalId: undefined,
+          relId: undefined,
+        }],
+        relList: [],
+        manageNursingFlag: 'N'
       },
       // 表单校验
       rules: {
-        locationCode: [
-          { required: true, message: "请选择广告位置", trigger: "blur" }
+        name: [
+          { required: true, message: "请输入老师姓名", trigger: "blur" }
+        ],
+        photographUrl: [
+          { required: true, message: "请上传老师形象照片", trigger: "blur" }
+        ],
+        sex: [
+          { required: true, message: "请选择性别", trigger: "blur" }
+        ],
+        idCard: [
+          { required: true, message: "请输入身份证号", trigger: "blur" }
         ],
-        adName: [
-          { required: true, message: "请输入广告名称", trigger: "blur" }
+        age: [
+          { required: true, message: "请输入年龄", trigger: "blur" }
         ],
-        image: [
-          { required: true, message: "请上传广告图片", trigger: "blur" }
+        workYears: [
+          { required: true, message: "请输入工作年限", trigger: "blur" }
         ],
-        jumpType: [
-          { required: true, message: "请选择跳转类型", trigger: "blur" }
+        phoneNumber: [
+          { required: true, message: "请输入手机号", trigger: "blur" }
         ],
-        innerPageCode: [{ required: true, message: "请选择内部页面标识", trigger: "change" }],
-        outsideAddress: [{ required: true, message: "请输入跳转地址", trigger: "change" }],
-        resourceModel: [{ required: true, message: "请选择内部资源具体模型", trigger: "change" }],
-        resourceModelId: [{ required: true, message: "请选择内部资源", trigger: "change" }],
-        orderIndex: [{ required: true, message: "请输入排序", trigger: "change" }],
-        status: [
-          { required: true, message: "请选择上架状态", trigger: "blur" }
+        sortOrder: [
+          { required: true, message: "请输入排序", trigger: "blur" }
         ],
+        departmentIds: [
+          { required: true, message: "请选择管理科室", trigger: "blur" }
+        ],
+        enableStatus: [
+          { required: true, message: "请选择状态", trigger: "blur" }
+        ]
       },
       jumpTypeList: [
         { label: "内部页面", value: 0 },
@@ -253,10 +265,13 @@ export default {
         { label: "积分商品", value: 2 },
         { label: "商户", value: 3 },
       ],
+      hospitalList: [],
+      relList: [],
     };
   },
   created () {
     this.getList();
+    this.getHospitalList();
   },
   methods: {
     openSel () {
@@ -269,38 +284,67 @@ export default {
       }
     },
     add () {
-      this.form.arr.push({})
+      this.form.departmentIds.push({})
     },
     del (index) {
-      this.form.arr.splice(index, 1)
+      this.form.departmentIds.splice(index, 1)
     },
-    selectResult (e) {
-      if (this.form.resourceModel == 1) {
-        this.form.resourceModelTitle = e.noticeTitle;
-        this.form.resourceModelId = e.noticeId;
-      } else if (this.form.resourceModel == 2) {
-        this.form.resourceModelTitle = e.title;
-        this.form.resourceModelId = e.categoryId;
-      } else if (this.form.resourceModel == 3) {
-        this.form.resourceModelTitle = e.businessName;
-        this.form.resourceModelId = e.businessId;
-      }
-      this.$forceUpdate()
+    getHospitalList () {
+      hospitalSimpleList().then(response => {
+        this.hospitalList = response.data;
+      });
     },
-    jumpTypeChange () {
-      this.form.innerPageCode = undefined;
-      this.form.outsideAddress = undefined;
-      this.form.resourceModel = undefined;
-      this.form.resourceModelId = undefined;
-      this.form.resourceModelTitle = undefined;
-      this.$refs.form.clearValidate()
+    // 获取科室列表
+    getRelList (e, index) {
+      if (index == -1) {
+        this.queryParams.departmentId = undefined;
+        if (e) {
+          hospitalDepartmentSimpleList({ hospitalId: e }).then(res => {
+            this.relList = res.data;
+          })
+        } else {
+          this.relList = []
+        }
+      } else {
+        this.form.departmentIds[index].relId = undefined;
+        if (e) {
+          hospitalDepartmentRelList({ hospitalId: e, teacherId: this.form.id }).then(res => {
+            this.form.departmentIds[index].relList = res.data.filter(v => {
+              if (!v.relFlag) {
+                return v
+              }
+            });
+          })
+        } else {
+          this.form.departmentIds[index].relList = []
+        }
+      }
     },
-    resourceModelChange () {
-      this.form.resourceModelTitle = undefined;
-      this.form.resourceModelId = undefined;
-      this.$refs.form.clearValidate()
+    getAge (idCard) {
+      if (!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(idCard)) {
+        throw new Error("身份证号码格式不正确");
+      }
+
+      // 提取出生年月日:第7到14位是 YYYYMMDD
+      const year = parseInt(idCard.substring(6, 10), 10);
+      const month = parseInt(idCard.substring(10, 12), 10);
+      const day = parseInt(idCard.substring(12, 14), 10);
+
+      // 获取当前日期
+      const today = new Date();
+      const currentYear = today.getFullYear();
+      const currentMonth = today.getMonth() + 1; // 月份从0开始
+      const currentDay = today.getDate();
+
+      // 计算年龄
+      let age = currentYear - year;
+
+      // 检查是否还没过生日
+      if (currentMonth < month || (currentMonth === month && currentDay < day)) {
+        age--;
+      }
+      this.form.age = age;
     },
-    /** 查询测试单表列表 */
     getList () {
       this.loading = true;
       this.queryParams["createTimeStart"] = undefined;
@@ -309,7 +353,7 @@ export default {
         this.queryParams["createTimeStart"] = this.daterangeCreateTime[0] + ' 00:00:00';
         this.queryParams["createTimeEnd"] = this.daterangeCreateTime[1] + ' 23:59:59';
       }
-      bannerPage(this.queryParams).then(response => {
+      managementTeacherPage(this.queryParams).then(response => {
         this.list = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -322,20 +366,6 @@ export default {
         }
       }
     },
-    /** 自定义分页查询 */
-    getPage () {
-      this.loading = true;
-      this.queryParams.params = {};
-      if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
-        this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
-        this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
-      }
-      pageDemo(this.queryParams).then(response => {
-        this.list = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
     // 取消按钮
     cancel () {
       this.open = false;
@@ -344,16 +374,20 @@ export default {
     // 表单重置
     reset () {
       this.form = {
-        locationCode: undefined,
-        adName: undefined,
-        image: undefined,
-        jumpType: undefined,
-        innerPageCode: undefined,
-        outsideAddress: undefined,
-        resourceModel: undefined,
-        resourceModelId: undefined,
-        orderIndex: 1,
-        status: undefined,
+        name: undefined,
+        photographUrl: undefined,
+        sex: undefined,
+        idCard: undefined,
+        age: undefined,
+        workYears: undefined,
+        phoneNumber: undefined,
+        sortOrder: undefined,
+        enableStatus: '0',
+        departmentIds: [{
+          hospitalId: undefined,
+          relId: undefined,
+        }],
+        manageNursingFlag: 'N'
       };
       this.resetForm("form");
     },
@@ -365,6 +399,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery () {
       this.daterangeCreateTime = [];
+      this.queryParams.hospitalId = undefined;
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -378,27 +413,58 @@ export default {
     handleAdd () {
       this.reset();
       this.open = true;
-      this.title = "添加广告";
+      this.title = "新增";
     },
     /** 修改按钮操作 */
     handleUpdate (row) {
       this.loading = true;
       this.reset();
-      const id = row.adId || this.ids
-      bannerInfo(id).then(response => {
+      const id = row.id || this.ids
+      managementTeacherInfo(id).then(response => {
         this.loading = false;
+        if (response.data.hospitalRelList && response.data.hospitalRelList.length > 0) {
+          response.data.departmentIds = response.data.hospitalRelList.map((v, i) => {
+            v.hospitalId = v.id,
+              v.relList = [],
+              v.departmentId = v.departmentList.map(k => {
+                return k.id
+              })
+            return v
+          })
+        }
         this.form = response.data;
+        if (this.form.departmentIds) {
+          this.form.departmentIds.map((v, i) => {
+            this.getRelList(v.hospitalId, i)
+          })
+        }
         this.open = true;
-        this.title = "修改管理老师";
+        this.title = "修改";
       });
+    },
+    handleExport () {
+
     },
     /** 提交按钮 */
     submitForm () {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          for (let item of this.form.departmentIds) {
+            if (!item.hospitalId || !item.departmentId || item.departmentId.length <= 0) {
+              return this.$modal.msgError("请选择科室");
+            }
+          }
+          let formCopy = JSON.parse(JSON.stringify(this.form));
+          let arr = []
+          formCopy.departmentIds.map(v => {
+            v.departmentId.map(k => {
+              arr.push(k)
+            })
+          });
+          formCopy.departmentIds = arr;
           this.buttonLoading = true;
-          if (this.form.adId != null) {
-            bannerEdit(this.form).then(response => {
+          if (this.form.id != null) {
+            managementTeacherEdit(formCopy).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
@@ -406,7 +472,7 @@ export default {
               this.buttonLoading = false;
             });
           } else {
-            bannerAdd(this.form).then(response => {
+            managementTeacherAdd(formCopy).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -419,10 +485,10 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete (row) {
-      const ids = row.adId || this.ids;
-      this.$modal.confirm('是否确认删除广告名称为"' + row.adName + '"的数据项?').then(() => {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除老师姓名为"' + row.name + '"的数据项?').then(() => {
         this.loading = true;
-        return bannerDelSingle(ids);
+        return managementTeacherDel(ids);
       }).then(() => {
         this.loading = false;
         this.getList();
@@ -433,11 +499,14 @@ export default {
     },
     /** 上下架按钮操作 */
     setStatus (row) {
-      const ids = row.adId || this.ids;
-      let statusText = row.status ? '下架' : '上架';
-      this.$modal.confirm('是否确认' + statusText + '广告名称为"' + row.adName + '"的数据项?').then(() => {
+      let statusText = row.enableStatus == '0' ? '禁用' : '启用';
+      this.$modal.confirm('是否确认' + statusText + '老师姓名为"' + row.name + '"的数据项?').then(() => {
         this.loading = true;
-        return bannerSetStatus(ids);
+        let param = {
+          id: row.id,
+          enableStatus: row.enableStatus == '0' ? '1' : '0'
+        }
+        return managementTeacherUpdateStatus(param);
       }).then(() => {
         this.loading = false;
         this.getList();
@@ -451,28 +520,6 @@ export default {
       this.upload.title = "用户导入";
       this.upload.open = true;
     },
-    /** 导出按钮操作 */
-    handleExport () {
-      this.download('demo/demo/export', {
-        ...this.queryParams
-      }, `demo_${new Date().getTime()}.xlsx`)
-    },
-    // 文件上传中处理
-    handleFileUploadProgress (event, file, fileList) {
-      this.upload.isUploading = true;
-    },
-    // 文件上传成功处理
-    handleFileSuccess (response, file, fileList) {
-      this.upload.open = false;
-      this.upload.isUploading = false;
-      this.$refs.upload.clearFiles();
-      this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
-      this.getList();
-    },
-    // 提交上传文件
-    submitFileForm () {
-      this.$refs.upload.submit();
-    }
   }
 };
 </script>
@@ -498,4 +545,7 @@ export default {
   display: inline-block;
   margin-left: 10px;
 }
+.mb10 {
+  margin-bottom: 10px;
+}
 </style>

+ 1 - 1
vue.config.js

@@ -37,7 +37,7 @@ module.exports = {
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://192.168.0.151:8299`,
         target: `http://192.168.0.70:8181`,
-        // target: `http://192.168.0.70:8299`,
+        // target: `http://192.168.0.236:8181`,
         // target: 'https://peihu.songlanyun.com/prod-api',
         changeOrigin: true,
         pathRewrite: {