This commit is contained in:
曹辉 2023-05-25 16:43:31 +08:00
parent 9da1e4c00e
commit 870b47adae
3 changed files with 158 additions and 206 deletions

View File

@ -111,3 +111,11 @@ export function updatePicture(data) {
data: data data: data
}) })
} }
//生成二维码
export function nurseStationFriends(nurseStationId) {
return request({
url: `/system/station/nurseStationCode?nurseStationId=${nurseStationId}`,
method: 'post'
})
}

View File

@ -25,16 +25,8 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
@ -46,8 +38,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['system:station:add']" v-hasPermi="['system:station:add']"
>新增</el-button >新增</el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -58,8 +49,7 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['system:station:edit']" v-hasPermi="['system:station:edit']"
>修改</el-button >修改</el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@ -70,14 +60,10 @@
size="mini" size="mini"
@click="handledata" @click="handledata"
v-hasPermi="['system:station:importStationInfo']" v-hasPermi="['system:station:importStationInfo']"
>导入</el-button >导入</el-button>
>
</el-col> </el-col>
<right-toolbar <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -85,12 +71,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column <el-table-column label="护理站编号" align="center" prop="nurseStationCode" width="150" />
label="护理站编号"
align="center"
prop="nurseStationCode"
width="150"
/>
<el-table-column <el-table-column
label="护理站名称" label="护理站名称"
align="center" align="center"
@ -99,19 +80,16 @@
/> />
<el-table-column label="所属区域" align="center" prop="area"> <el-table-column label="所属区域" align="center" prop="area">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>
{{
scope.row.areaName !== "null-null-null-null" scope.row.areaName !== "null-null-null-null"
? scope.row.areaName ? scope.row.areaName
: "" : ""
}}</span> }}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="护理站地址" align="center" prop="address" :show-overflow-tooltip="true" />
label="护理站地址"
align="center"
prop="address"
:show-overflow-tooltip="true"
/>
<el-table-column label="护理站经度" align="center" prop="longitude" /> <el-table-column label="护理站经度" align="center" prop="longitude" />
<el-table-column label="护理站纬度" align="center" prop="latitude" /> <el-table-column label="护理站纬度" align="center" prop="latitude" />
<el-table-column label="联系电话" align="center" prop="phone" /> <el-table-column label="联系电话" align="center" prop="phone" />
@ -119,28 +97,28 @@
<el-table-column label="负责人电话" align="center" prop="dutyPhone" /> <el-table-column label="负责人电话" align="center" prop="dutyPhone" />
<el-table-column label="创建时间" align="center" prop="createTime" /> <el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" /> <el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-loading"
@click="GenerateQRcode(scope.row)"
>生成二维码</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:station:edit']" v-hasPermi="['system:station:edit']"
>修改</el-button >修改</el-button>
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:station:remove']" v-hasPermi="['system:station:remove']"
>删除</el-button >删除</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -159,28 +137,16 @@
append-to-body append-to-body
:before-close="cancel" :before-close="cancel"
> >
<el-form <el-form :inline="true" ref="form" :model="form" :rules="rules" label-width="120px">
:inline="true"
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-form-item label="所属区域" prop="areaCode"> <el-form-item label="所属区域" prop="areaCode">
<el-select <el-select v-model="form.provinceName" clearable placeholder="请选择省" style="width: 129px">
v-model="form.provinceName"
clearable
placeholder="请选择省"
style="width: 129px"
>
<el-option <el-option
v-for="item in provincelist" v-for="item in provincelist"
:key="item.areaCode" :key="item.areaCode"
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="province(item)" @click.native="province(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.cityName" v-model="form.cityName"
@ -194,8 +160,7 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickcity(item)" @click.native="clickcity(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.regionName" v-model="form.regionName"
@ -209,8 +174,7 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickarea(item)" @click.native="clickarea(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.streetCode" v-model="form.streetCode"
@ -224,23 +188,14 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickstreet(item)" @click.native="clickstreet(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName"> <el-form-item label="护理站名称" prop="nurseStationName">
<el-input <el-input v-model="form.nurseStationName" placeholder="请输入护理站名称" maxlength="40" />
v-model="form.nurseStationName"
placeholder="请输入护理站名称"
maxlength="40"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理站地址" prop="address"> <el-form-item label="护理站地址" prop="address">
<el-input <el-input v-model="form.address" placeholder="请输入护理站地址" maxlength="80" />
v-model="form.address"
placeholder="请输入护理站地址"
maxlength="80"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理站经度" prop="longitude"> <el-form-item label="护理站经度" prop="longitude">
<el-input <el-input
@ -259,17 +214,13 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="phone"> <el-form-item label="联系电话" prop="phone">
<el-input <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
v-model="form.phone"
placeholder="请输入联系电话"
maxlength="11"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理机构分类" prop="classifyNameList"> <el-form-item label="护理机构分类" prop="classifyNameList">
<template> <template>
<el-button <el-button
@click="clickinnerVisible()" @click="clickinnerVisible()"
type="" type
style=" style="
width: 208px; width: 208px;
text-align: left; text-align: left;
@ -281,11 +232,10 @@
margin-top: -10px; margin-top: -10px;
" "
v-if="form.classifyNameList == '请选择护理站所属机构分类'" v-if="form.classifyNameList == '请选择护理站所属机构分类'"
>{{ form.classifyNameList }}</el-button >{{ form.classifyNameList }}</el-button>
>
<el-button <el-button
@click="clickinnerVisible()" @click="clickinnerVisible()"
type="" type
style=" style="
width: 208px; width: 208px;
text-align: left; text-align: left;
@ -296,30 +246,21 @@
margin-top: -10px; margin-top: -10px;
" "
v-else v-else
>{{ form.classifyNameList }}</el-button >{{ form.classifyNameList }}</el-button>
>
</template> </template>
</el-form-item> </el-form-item>
<el-form-item label="负责人" prop="dutyPerson"> <el-form-item label="负责人" prop="dutyPerson">
<el-input <el-input v-model="form.dutyPerson" placeholder="请输入负责人" maxlength="20" />
v-model="form.dutyPerson"
placeholder="请输入负责人"
maxlength="20"
/>
</el-form-item> </el-form-item>
<el-form-item label="负责人电话" prop="dutyPhone"> <el-form-item label="负责人电话" prop="dutyPhone">
<el-input <el-input v-model="form.dutyPhone" placeholder="请输入负责人联系电话" maxlength="11" />
v-model="form.dutyPhone"
placeholder="请输入负责人联系电话"
maxlength="11"
/>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="sort"> <el-form-item label="排序" prop="sort">
<el-input <el-input
placeholder="请输入排序" placeholder="请输入排序"
v-model="form.sort" v-model="form.sort"
oninput="value=value.replace(/[^\d]/g,'')" oninput="value=value.replace(/[^\d]/g,'')"
maxLength="5" maxlength="5"
/> />
</el-form-item> </el-form-item>
<el-form-item label="营业概述" prop="openingHoursDescribe"> <el-form-item label="营业概述" prop="openingHoursDescribe">
@ -340,8 +281,7 @@
step: '00:30', step: '00:30',
end: '14:00', end: '14:00',
}" }"
> ></el-time-select>
</el-time-select>
<el-time-select <el-time-select
style="width: 208px; margin-left: 10px" style="width: 208px; margin-left: 10px"
placeholder="上午营业结束时间" placeholder="上午营业结束时间"
@ -351,8 +291,7 @@
step: '00:30', step: '00:30',
end: '14:30', end: '14:30',
}" }"
> ></el-time-select>
</el-time-select>
</el-form-item> </el-form-item>
<el-form-item label="下午营业时间"> <el-form-item label="下午营业时间">
<el-time-select <el-time-select
@ -364,8 +303,7 @@
step: '00:30', step: '00:30',
end: '18:00', end: '18:00',
}" }"
> ></el-time-select>
</el-time-select>
<el-time-select <el-time-select
style="width: 208px; margin-left: 10px" style="width: 208px; margin-left: 10px"
placeholder="下午营业结束时间" placeholder="下午营业结束时间"
@ -375,8 +313,7 @@
step: '00:30', step: '00:30',
end: '20:00', end: '20:00',
}" }"
> ></el-time-select>
</el-time-select>
</el-form-item> </el-form-item>
<el-form-item label="护理站总概述" prop="nurseStationDescription"> <el-form-item label="护理站总概述" prop="nurseStationDescription">
<el-input <el-input
@ -395,35 +332,21 @@
v-model="form.agencyIntroduce" v-model="form.agencyIntroduce"
></editor> ></editor>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站头像" prop="stationPictureUrl" required style="margin-left: 10%">
label="护理站头像"
prop="stationPictureUrl"
required
style="margin-left: 10%"
>
<stationAcatar <stationAcatar
@imgUrl="imgUrl" @imgUrl="imgUrl"
:img="form.stationPictureUrl" :img="form.stationPictureUrl"
:type="'stationPictureUrl'" :type="'stationPictureUrl'"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站简介头像" prop="stationIntroducePcitureUrl" style="margin-left: 10%">
label="护理站简介头像"
prop="stationIntroducePcitureUrl"
style="margin-left: 10%"
>
<stationAcatar <stationAcatar
@imgUrl="imgUrl2" @imgUrl="imgUrl2"
:img="form.stationIntroducePcitureUrl" :img="form.stationIntroducePcitureUrl"
:type="'stationIntroducePcitureUrl'" :type="'stationIntroducePcitureUrl'"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站标签信息" required label-width="130px" style="margin-left: 0px">
label="护理站标签信息"
required
label-width="130px"
style="margin-left: 0px"
>
<el-table <el-table
ref="looknurseStationLabel" ref="looknurseStationLabel"
:data="looknurseStationLabel" :data="looknurseStationLabel"
@ -431,10 +354,7 @@
> >
<el-table-column label="标签名称" width="190" align="center"> <el-table-column label="标签名称" width="190" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input v-model="scope.row.labelDescription" maxlength="40"></el-input>
v-model="scope.row.labelDescription"
maxlength="40"
></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="排序" width="200" align="center"> <el-table-column label="排序" width="200" align="center">
@ -442,24 +362,18 @@
<el-input <el-input
v-model="scope.row.labelSort" v-model="scope.row.labelSort"
oninput="value=value.replace(/[^\d]/g,'')" oninput="value=value.replace(/[^\d]/g,'')"
maxLength="5" maxlength="5"
></el-input> ></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="120"> <el-table-column label="操作" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" @click="addnurseStationLabelList">新增</el-button>
size="mini"
type="text"
@click="addnurseStationLabelList"
>新增</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="delnurseStationLabelList(scope.$index, scope.row)" @click="delnurseStationLabelList(scope.$index, scope.row)"
>删除</el-button >删除</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -480,38 +394,17 @@
> >
<el-form :model="classifyquery" label-width="150px" :inline="true"> <el-form :model="classifyquery" label-width="150px" :inline="true">
<el-form-item label="护理机构分类编码" prop="classifyCode"> <el-form-item label="护理机构分类编码" prop="classifyCode">
<el-input <el-input v-model="classifyquery.classifyCode" placeholder="请输入护理机构分类编码" />
v-model="classifyquery.classifyCode"
placeholder="请输入护理机构分类编码"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理机构分类名称" prop="classifyName"> <el-form-item label="护理机构分类名称" prop="classifyName">
<el-input <el-input v-model="classifyquery.classifyName" placeholder="请输入护理机构分类名称" />
v-model="classifyquery.classifyName"
placeholder="请输入护理机构分类名称"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="classifylistInfo">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="classifylistcancel">重置</el-button>
icon="el-icon-search"
size="mini"
@click="classifylistInfo"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="classifylistcancel"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table v-loading="loading" :data="classifylist" @cell-dblclick="setCheckedData">
v-loading="loading"
:data="classifylist"
@cell-dblclick="setCheckedData"
>
<el-table-column label="请选择" width="70" align="center"> <el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -527,22 +420,11 @@
circle circle
v-else v-else
@click="setCheckedData(scope.row)" @click="setCheckedData(scope.row)"
> ></el-button>
</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column property="classifyCode" label="护理项目分类编码" align="center"></el-table-column>
property="classifyCode" <el-table-column property="classifyName" label="护理项目分类名称" align="center"></el-table-column>
label="护理项目分类编码"
align="center"
>
</el-table-column>
<el-table-column
property="classifyName"
label="护理项目分类名称"
align="center"
>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="classifytotal > 0" v-show="classifytotal > 0"
@ -562,16 +444,10 @@
height: 50px; height: 50px;
font-size: 15px; font-size: 15px;
" "
>选择完成</el-button >选择完成</el-button>
>
</el-dialog> </el-dialog>
<!-- // --> <!-- // -->
<el-dialog <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload <el-upload
ref="upload" ref="upload"
:limit="1" :limit="1"
@ -585,7 +461,10 @@
drag drag
> >
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div> <div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件</span> <span>仅允许导入xlsxlsx格式文件</span>
<el-link <el-link
@ -593,8 +472,7 @@
:underline="false" :underline="false"
style="font-size: 12px; vertical-align: baseline" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate" @click="importTemplate"
>下载模板</el-link >下载模板</el-link>
>
</div> </div>
</el-upload> </el-upload>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -602,6 +480,26 @@
<el-button @click="upload.open = false"> </el-button> <el-button @click="upload.open = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 邀请二维码 -->
<el-dialog title="小程序二维码" :visible.sync="nurseStationFriendsshow" width="500px" append-to-body>
<div>
<el-form :inline="true" ref="form" :model="nurseStationFriendslist" label-width="130px">
<el-form-item label="护理站名称" prop="nurseStationName">
<div class="text">{{nurseStationFriendslist.nurseStationName}}</div>
</el-form-item>
<el-form-item label="护理站区域" prop="nurseStationName">
<div class="text texts">{{nurseStationFriendslist.areaName}}</div>
</el-form-item>
<el-form-item label="护理站地址" prop="nurseStationName">
<div class="text texts">{{nurseStationFriendslist.address}}</div>
</el-form-item>
</el-form>
<img style="width:400px;margin-left:25px" :src="nurseStationFriendslist.img" alt />
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="nurseStationFriendsshow=false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -609,3 +507,34 @@
import stationjs from "./stationjs"; import stationjs from "./stationjs";
export default stationjs; export default stationjs;
</script> </script>
<style>
.text {
width: 300px;
height: 40px;
line-height: 40px;
padding-left: 15px;
font-size: 14px;
border-radius: 4px;
padding: 0 15px;
color: black;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
text-align: justify;
}
.texts {
line-height: 20px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
text-align: justify;
}
</style>

View File

@ -8,6 +8,7 @@ import {
getFirstLevelInfo, getFirstLevelInfo,
getSecondaryLevelInfo, getSecondaryLevelInfo,
updatePicture, updatePicture,
nurseStationFriends
} from "@/api/system/station"; } from "@/api/system/station";
import stationAcatar from "../stationAvatar/index.vue"; import stationAcatar from "../stationAvatar/index.vue";
import { getListByUser } from "@/api/system/userlist.js"; import { getListByUser } from "@/api/system/userlist.js";
@ -99,6 +100,10 @@ export default {
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
Classifyshow: false, Classifyshow: false,
nurseStationFriendslist: {
img: undefined
},
nurseStationFriendsshow: false,
afternoonOpenStartTimeStr: "", afternoonOpenStartTimeStr: "",
afternoonOpenEndTimeStr: "", afternoonOpenEndTimeStr: "",
//权限查询 //权限查询
@ -185,6 +190,16 @@ export default {
this.classifylistInfo(); this.classifylistInfo();
}, },
methods: { methods: {
GenerateQRcode(row) {
this.loading = true
this.nurseStationFriendslist = row;
nurseStationFriends(row.id).then(res => {
this.nurseStationFriendslist.img =
process.env.VUE_APP_BASE_API + res.msg;
this.nurseStationFriendsshow = true;
this.loading = false
});
},
imgs(item) { imgs(item) {
this.imgsurl.pictureUrlList.push(item); this.imgsurl.pictureUrlList.push(item);
}, },