|
|
@@ -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>
|