工作提交

This commit is contained in:
曹辉 2022-09-22 08:32:14 +08:00
parent 6b97199cfb
commit 09954788b2
9 changed files with 618 additions and 135 deletions

View File

@ -1,3 +1,3 @@
var baseurl = "http://192.168.16.81:8081";
var baseurl = "http://192.168.16.81:8080";
export default baseurl

View File

@ -1,5 +1,7 @@
import request from '@/utils/request'
// 查询护理站信息列表
export function listStation(query) {
return request({
@ -58,4 +60,39 @@ export function getSecondaryLevelInfo(id) {
url: `/system/communityInfo/getSecondaryLevelInfo?parentId=${id}`,
method: 'get'
})
}
//省市区
export function getSubordinateRegions(Code) {
return request({
url: `/system/area/getSubordinateRegions?areaCode=${Code}`,
method: 'get'
})
}
//查看所属护理类型
export function getInfoLists(Code) {
return request({
url: `/system/nurseType/getInfoList?nurseTypeCode=${Code}`,
method: 'get'
})
}
//查看所属标签信息
export function nurseStationlabel(id) {
return request({
url: `/system/nurseStationlabel/list?nurseStationId=${id}`,
method: 'get'
})
}
export function getLabelList(id) {
return request({
url: `/system/nurseStationlabel/getLabelList?nurseStationId=${id}`,
method: 'get'
})
}

View File

@ -0,0 +1,8 @@
import request from '@/utils/request'
export function getListByUser(data) {
return request({
url: '/system/user/getListByUser',
method: 'GET'
})
}

View File

@ -133,6 +133,30 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" inline class="demo-table-expand">
<el-form-item label="护理时长" style="margin-left: 120px">
<div
v-for="(item, index) in props.row.nurseStationItemPrices"
:key="index"
style="display: block"
>
{{ item.serveDurationUnit }}
</div>
</el-form-item>
<el-form-item label="价格" style="margin-left: 30px">
<div
v-for="(item, index) in props.row.nurseStationItemPrices"
:key="index"
style="display: block"
>
{{ item.price }}
</div>
</el-form-item>
</el-form>
</template>
</el-table-column>
<el-table-column
label="所属护理站"
align="center"
@ -185,7 +209,6 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
@ -198,7 +221,7 @@
<el-dialog
:title="title"
:visible.sync="open"
width="1100px"
width="1120px"
append-to-body
:before-close="cancel"
>
@ -206,7 +229,7 @@
ref="form"
:model="form"
:rules="rules"
label-width="110px"
label-width="130px"
:inline="true"
>
<el-form-item label="所属护理站" prop="nurseStationItem.nurseStationId">
@ -243,6 +266,13 @@
>
</template>
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
<el-input
v-model="form.nurseStationItem.nurseItemName"
placeholder="请输入护理项目名称"
maxlength="50"
/>
</el-form-item>
<el-form-item label="护理类型" prop="nurseStationItem.nurseTypeId">
<el-select
v-model="form.nurseStationItem.nurseTypeId"
@ -259,14 +289,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
<el-input
v-model="form.nurseStationItem.nurseItemName"
placeholder="请输入护理项目名称"
maxlength="50"
/>
</el-form-item>
<el-form-item label="提前预约时长" prop="advanceAppointDuration">
<el-input
v-model="form.nurseStationItem.advanceAppointDuration"
@ -274,16 +296,19 @@
type="number"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input
v-model="form.nurseStationItem.sort"
placeholder="不可输入小数点"
type="number"
oninput=" if(value.length>10){value=value.slice(0,10)}"
placeholder="请输入排序"
min="0"
oninput="if(value.indexOf('.')>0){value=value.slice(0,value.indexOf('.')+0)} if(value.length>10){value=value.slice(0,10)}"
/>
</el-form-item>
<el-form-item label="项目内容简介">
<el-form-item
label="项目内容简介"
prop="nurseStationItem.nurseItemContent"
>
<el-input
maxlength="300"
type="textarea"
@ -294,16 +319,16 @@
>
</el-input>
</el-form-item>
<el-form-item label="项目时长和价格">
<el-form-item label="项目时长和价格" required>
<el-table
ref="singleTable"
ref="nurseStationItemPrices"
:data="form.nurseStationItemPrices"
style="margin-top: 20px; width: 100%"
>
<el-table-column
property="serveDurationUnit"
label="服务时长和单位"
width="140"
width="145"
align="center"
>
<template slot-scope="scope">
@ -317,7 +342,7 @@
<el-table-column
property="price"
label="价格"
width="161"
width="166"
align="center"
>
<template slot-scope="scope">
@ -332,7 +357,7 @@
<el-table-column
property="description"
label="描述"
width="135"
width="140"
align="center"
>
<template slot-scope="scope">
@ -342,7 +367,7 @@
></el-input>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100">
<el-table-column label="操作" align="center" width="105">
<template slot-scope="scope">
<el-button
size="mini"
@ -360,27 +385,14 @@
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="项目头像">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
:on-success="handleAvatarSuccess"
>
<img
v-if="imageUrl"
:src="imageUrl"
class="avatar"
style="width: 208px; margin-top: 20px"
/>
<i
v-else
class="el-icon-plus avatar-uploader-icon"
style="width: 208px; margin-top: 20px; border: 2px solid #fafafa"
></i>
</el-upload>
<el-form-item label="项目头像" required>
<stationAcatar
@imgUrl="imgUrl"
:img="form.nurseStationItem.itemPictureUrl"
:type="'itemPictureUrl'"
/>
</el-form-item>
<el-form-item label="护理项目耗材">
<el-form-item label="护理项目耗材" required>
<el-button
type="primary"
size="small"
@ -391,12 +403,11 @@
<el-table
ref="singleTable"
:data="form.nurseStationItemConsumables"
style="margin-top: 20px; width: 100%"
style="margin-top: 20px; width: 850px"
>
<el-table-column
property="nurseStationConsumableId"
label="耗材包名称"
width="150"
align="center"
>
<template slot-scope="scope">
@ -407,7 +418,6 @@
<el-table-column
property="consumableCount"
label="耗材包数量"
width="180"
align="center"
>
<template slot-scope="scope">
@ -422,7 +432,6 @@
<el-table-column
property="consumablePrice"
label="耗材包单位"
width="150"
align="center"
>
<template slot-scope="scope">
@ -432,14 +441,13 @@
<el-table-column
property="consumablePrice"
label="耗材包单价"
width="150"
align="center"
>
<template slot-scope="scope">
{{ scope.row.consumablePrice }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@ -452,7 +460,6 @@
</el-table>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
@ -461,7 +468,7 @@
<!-- 护理站 -->
<el-dialog
:title="title"
title="选择护理站"
:visible.sync="nurseStationshow"
width="1100px"
append-to-body
@ -479,6 +486,12 @@
placeholder="请输入护理站名称"
/>
</el-form-item>
<el-form-item label="护理站编号" prop="nurseStationCode">
<el-input
v-model="nurseStationqueryParams.nurseStationCode"
placeholder="请输入护理站编号"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -700,6 +713,8 @@
<script>
import { listStationConsumable } from "@/api/system/stationConsumable";
import stationAcatar from "../stationAvatar/index.vue";
import {
list,
getNurseItem,
@ -712,6 +727,7 @@ import {
import { getToken } from "@/utils/auth";
export default {
components: { stationAcatar },
name: "NurseItem",
data() {
return {
@ -796,6 +812,16 @@ export default {
ids: 1,
//
rules: {
nurseItemName: [
{ required: true, message: "护理项目名称不能为空", trigger: "blur" },
],
"nurseStationItem.nurseItemContent": [
{ required: true, message: "项目内容简介不能为空", trigger: "blur" },
],
sort: [{ required: true, message: "排序不能为空", trigger: "blur" }],
advanceAppointDuration: [
{ required: true, message: "提前预约时长不能为空", trigger: "blur" },
],
"nurseStationItem.nurseStationId": [
{ required: true, message: "请选择所属护理站", trigger: "blur" },
],
@ -812,6 +838,10 @@ export default {
// this.listStationConsumableinfo();
},
methods: {
imgUrl(imgUrl) {
console.log(imgUrl);
this.form.nurseStationItem.itemPictureUrl = imgUrl;
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
@ -820,7 +850,7 @@ export default {
this.download(
"/system/stationItem/downloadTemplate?fileType=1",
{},
`护理站项目模板.xlsx`
`护理站项目信息导入模板.xlsx`
);
},
//
@ -916,7 +946,6 @@ export default {
liststation(this.nurseStationqueryParams).then((res) => {
this.nurseStationlist = res.rows;
this.total2 = res.total;
// console.log(this.nurseStationlist);
});
},
loadMore() {
@ -968,10 +997,7 @@ export default {
this.loading = true;
list(this.queryParams).then((response) => {
response.rows.forEach((e) => {
// console.log(e)
// e.nurseTypeId
this.typelist.forEach((el) => {
// console.log(el);
if (e.nurseTypeId == el.id) {
e.nurseTypeName = el.nurseTypeName;
}
@ -992,19 +1018,21 @@ export default {
},
//
addnurseStationItemPrices(item, index) {
this.ids++;
var obj = {
serveDurationUnit: "",
price: "",
description: "",
ids: this.ids,
};
this.form.nurseStationItemPrices.push(obj);
if (this.form.nurseStationItemPrices.length == 5) {
this.$message.error("最多只能5条");
} else {
this.ids++;
var obj = {
serveDurationUnit: "",
price: "",
description: "",
ids: this.ids,
};
this.form.nurseStationItemPrices.push(obj);
}
},
delnurseStationItemPrices(item) {
console.log(item);
if (item.ids && !item.id) {
console.log(1);
if (this.form.nurseStationItemPrices.length == 1) {
this.$message.error("最后一条不可删除");
} else {
@ -1012,7 +1040,6 @@ export default {
this.form.nurseStationItemPrices.filter((e) => e.ids != item.ids);
}
} else if (!item.ids && item.id) {
console.log(2);
if (this.form.nurseStationItemPrices.length == 1) {
this.$message.error("最后一条不可删除");
} else {
@ -1079,7 +1106,33 @@ export default {
this.reset();
const id = row.id || this.ids;
getNurseItem(id).then((response) => {
console.log(response);
this.form = response.data;
if (this.form.nurseStationItemPrices == []) {
var obj = {
serveDurationUnit: "",
price: "",
description: "",
ids: this.ids,
};
this.form.nurseStationItemPrices.push(obj);
} else if (this.form.nurseStationItemPrices.length == 0) {
var obj = {
serveDurationUnit: "",
price: "",
description: "",
ids: this.ids,
};
this.form.nurseStationItemPrices.push(obj);
} else if (this.form.nurseStationItemPrices == null) {
var obj = {
serveDurationUnit: "",
price: "",
description: "",
ids: this.ids,
};
this.form.nurseStationItemPrices.push(obj);
}
this.open = true;
this.title = "修改护理站护理项目";
});
@ -1132,6 +1185,12 @@ export default {
};
</script>
<style lang="scss" scoped>
::v-deep .el-table__cell .el-form-item--medium .el-form-item__content {
display: block;
}
// ::v-deep .el-form-item__label {
// font-weight: 550;
// }
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;

View File

@ -164,7 +164,6 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="所属区域编码" align="center" prop="areaCode" />
<el-table-column
label="护理站编号"
align="center"
@ -175,17 +174,16 @@
align="center"
prop="nurseStationName"
/>
<el-table-column label="护理类型" align="center" prop="nurseTypeName">
<el-table-column label="护理类型" align="center" prop="nurseTypeName">
<template slot-scope="scope">
<div v-for="(item, index) in scope.row.nurseTypeList" :key="index">
<span>
{{ item.nurseTypeName }}
</span>
<span v-if="scope.row.nurseTypeList.length > 1">.</span>
</div>
<el-button size="mini" type="text" @click="looktype(scope.row)"
>查看</el-button
>
</template>
</el-table-column>
<el-table-column
<el-table-column label="所属区域" align="center" prop="areaCode" />
<el-table-column label="护理站地址" align="center" prop="address" />
<!-- <el-table-column
label="护理站简介"
align="center"
prop="agencyIntroduce"
@ -196,11 +194,10 @@
align="center"
prop="nurseStationDescription"
:show-overflow-tooltip="true"
/>
/> -->
<el-table-column label="护理站经度" align="center" prop="longitude" />
<el-table-column label="护理站纬度" align="center" prop="latitude" />
<el-table-column label="联系电话" align="center" prop="phone" />
<el-table-column label="护理站地址" align="center" prop="address" />
<el-table-column label="负责人" align="center" prop="dutyPerson" />
<el-table-column label="负责人电话" align="center" prop="dutyPhone" />
<el-table-column label="排序" align="center" prop="sort" />
@ -210,6 +207,13 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="looknurseStationLabelList(scope.row)"
>查看标签信息</el-button
>
<el-button
size="mini"
type="text"
@ -237,6 +241,58 @@
:limit.sync="queryParams.pageSize"
@pagination="liststationinfo"
/>
<!-- 查看护理类型 -->
<el-dialog
title="护理类型"
:visible.sync="typeopen"
width="700px"
append-to-body
>
<el-table v-loading="loading" :data="typelooks">
<el-table-column
label="护理类型名称"
align="center"
prop="nurseTypeName"
/>
<el-table-column
label="护理类型编号"
align="center"
prop="nurseTypeCode"
/>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" plain @click="typeopen = false" size="small"
>关闭窗口</el-button
>
</div>
</el-dialog>
<!-- 查看标签信息 -->
<el-dialog
title="标签信息"
:visible.sync="nurseStationLabelopen"
width="700px"
append-to-body
>
<el-table v-loading="loading" :data="looknurseStationLabel">
<el-table-column
label="标签名称"
align="center"
prop="labelDescription"
/>
<el-table-column label="标签编号" align="center" prop="labelCode" />
<el-table-column label="排序" align="center" prop="sort" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
plain
@click="nurseStationLabelopen = false"
size="small"
>关闭窗口</el-button
>
</div>
</el-dialog>
<!-- 新增护理站信息对话框 -->
<el-dialog
@ -258,7 +314,7 @@
v-model="value"
clearable
placeholder="请选择省"
style="width: 127px"
style="width: 129px"
>
<el-option
v-for="item in provincelist"
@ -273,7 +329,7 @@
v-model="value1"
clearable
placeholder="请选择市"
style="width: 127px; margin-left: 10px"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in citylist"
@ -288,7 +344,7 @@
v-model="value2"
clearable
placeholder="请选择区"
style="width: 127px; margin-left: 10px"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in arealist"
@ -300,10 +356,10 @@
</el-option>
</el-select>
<el-select
v-model="form.areaCode"
v-model="value3"
clearable
placeholder="请选择街道"
style="width: 127px; margin-left: 10px"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in streetlist"
@ -319,20 +375,12 @@
<el-input
v-model="form.nurseStationName"
placeholder="请输入护理站名称"
maxlength="40"
/>
</el-form-item>
<el-form-item label="护理站地址" prop="address">
<el-input v-model="form.address" placeholder="请输入护理站地址" />
</el-form-item>
<el-form-item label="护理站经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入护理站经度" />
</el-form-item>
<el-form-item label="护理站纬度" prop="latitude">
<el-input v-model="form.latitude" placeholder="请输入护理站纬度" />
</el-form-item>
<el-form-item label="护理类型" prop="nurseStationType">
<el-select
v-model="form.nurseStationType"
v-model="form.nurseStationType2"
multiple
placeholder="请选择护理类型"
style="width: 208px"
@ -346,20 +394,58 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="护理站经度" prop="longitude">
<el-input
v-model="form.longitude"
placeholder="请输入护理站经度"
type="number"
oninput=" if(value.length>10){value=value.slice(0,20)}"
/>
</el-form-item>
<el-form-item label="护理站纬度" prop="latitude">
<el-input
v-model="form.latitude"
placeholder="请输入护理站纬度"
type="number"
oninput=" if(value.length>10){value=value.slice(0,20)}"
/>
</el-form-item>
<el-form-item label="护理站地址" prop="address">
<el-input
v-model="form.address"
placeholder="请输入护理站地址"
maxlength="80"
/>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
<el-input
v-model="form.phone"
placeholder="请输入联系电话"
maxlength="11"
/>
</el-form-item>
<el-form-item label="负责人" prop="dutyPerson">
<el-input v-model="form.dutyPerson" placeholder="请输入负责人" />
<el-input
v-model="form.dutyPerson"
placeholder="请输入负责人"
maxlength="20"
/>
</el-form-item>
<el-form-item label="负责人电话" prop="dutyPhone">
<el-input
v-model="form.dutyPhone"
placeholder="请输入负责人联系电话"
maxlength="11"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
<el-input
v-model="form.sort"
placeholder="排序不可输入小数点"
type="number"
min="0"
oninput="if(value.indexOf('.')>0){value=value.slice(0,value.indexOf('.')+0)} if(value.length>10){value=value.slice(0,10)}"
/>
</el-form-item>
<el-form-item label="护理站总概述" prop="nurseStationDescription">
<el-input
@ -367,6 +453,7 @@
v-model="form.nurseStationDescription"
placeholder="请输入护理站信息总概述"
type="textarea"
maxlength="150"
/>
</el-form-item>
<el-form-item label="护理站简介" prop="agencyIntroduce">
@ -375,18 +462,63 @@
v-model="form.agencyIntroduce"
></editor>
</el-form-item>
<el-form-item label="护理站头像" prop="stationPictureUrl">
<el-form-item label="护理站头像" prop="stationPictureUrl" required>
<stationAcatar
@imgUrl="imgUrl"
:img="form.stationPictureUrl"
:type="'stationPictureUrl'"
/>
</el-form-item>
<el-form-item label="护理站简介头像" prop="stationPictureUrl">
<el-form-item label="护理站简介头像" prop="stationIntroducePcitureUrl">
<stationAcatar
:img="form.stationPictureUrl"
@imgUrl="imgUrl2"
:img="form.stationIntroducePcitureUrl"
:type="'stationIntroducePcitureUrl'"
/>
</el-form-item>
<el-form-item label="护理站标签信息" required label-width="130px">
<el-table
ref="looknurseStationLabel"
:data="looknurseStationLabel"
style="margin-top: 20px"
>
<el-table-column label="标签名称" width="190" align="center">
<template slot-scope="scope">
<el-input
v-model="scope.row.labelDescription"
maxlength="40"
></el-input>
</template>
</el-table-column>
<el-table-column label="排序" width="200" align="center">
<template slot-scope="scope">
<el-input
v-model="scope.row.sort"
placeholder="排序不可输入小数点"
type="number"
min="0"
oninput="if(value.indexOf('.')>0){value=value.slice(0,value.indexOf('.')+0)} if(value.length>10){value=value.slice(0,10)}"
></el-input>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="120">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="addnurseStationLabelList"
>新增</el-button
>
<el-button
size="mini"
type="text"
@click="delnurseStationLabelList(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -582,12 +714,11 @@
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
<!-- <userlist /> -->
</div>
</template>
<script>
import editor from "@/components/Editor";
import {
listStation,
getStation,
@ -596,15 +727,42 @@ import {
updateStation,
getFirstLevelInfo,
getSecondaryLevelInfo,
getSubordinateRegions,
getInfoLists,
nurseStationlabel,
getLabelList,
} from "@/api/system/station";
import { getInfoList } from "@/api/system/nurseItem";
import stationAcatar from "../stationAvatar/index.vue";
import { getToken } from "@/utils/auth";
import editor from "@/components/Editor";
import userlist from "../userlist/index.vue";
export default {
components: { stationAcatar, editor },
components: { stationAcatar, editor, userlist },
name: "Station",
data() {
//
var checkMobile = (rule, value, cb) => {
var str = String(value);
//
const regMobile =
/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
// /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
// /^(?:(?:\+|0086))?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[0-9]))\d{8}$/;
const reg = /^(0[0-9]{2,3}\-)([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
const isTel = reg.test(value);
if (str.length == 11) {
if (regMobile.test(str)) {
return cb();
}
} else if (11 < str.length <= 13) {
if (isTel) {
return cb();
}
}
cb(new Error("请输入正确的联系电话"));
};
return {
imageUrl: "",
imageUrl2: "",
@ -643,13 +801,24 @@ export default {
showSearch: true,
//
total: 0,
//
typelooks: [],
//
looknurseStationLabel: [
{
labelDescription: "",
sort: "",
ids: 1,
},
],
//
stationList: [],
//
title: "",
//
open: false,
openadd: false,
typeopen: false,
nurseStationLabelopen: false,
//
queryParams: {
pageNum: 1,
@ -672,15 +841,64 @@ export default {
},
//
form: {},
ids: 1,
provincelist: [],
arealist: [],
citylist: [],
streetlist: [],
resid: null,
//
rules: {
agencyIntroduce: [
{ required: true, message: "请输入护理站简介", trigger: "blur" },
],
stationIntroducePcitureUrl: [
{ required: true, message: "请上传护理站简介头像", trigger: "blur" },
],
stationPictureUrl: [
{ required: true, message: "请上传护理站头像", trigger: "blur" },
],
nurseStationDescription: [
{ required: true, message: "护理站总概述不能为空", trigger: "blur" },
],
phone: [
{
required: true,
validator: checkMobile,
trigger: "blur",
message: "",
},
// { required: true, message: "", trigger: "blur" },
],
dutyPerson: [
{ required: true, message: "负责人不能为空", trigger: "blur" },
],
dutyPhone: [
{
required: true,
validator: checkMobile,
trigger: "blur",
message: "",
},
// { required: true, message: "", trigger: "blur" },
],
sort: [{ required: true, message: "排序不能为空", trigger: "blur" }],
address: [{ required: true, message: "地址不能为空", trigger: "blur" }],
longitude: [
{ required: true, message: "经度不能为空", trigger: "blur" },
],
latitude: [
{ required: true, message: "纬度不能为空", trigger: "blur" },
],
areaCode: [
{ required: true, message: "所属区域不能为空", trigger: "blur" },
],
nurseStationName: [
{ required: true, message: "护理站名称不能为空", trigger: "blur" },
],
nurseStationType: [
{ required: true, message: "请选择护理站类型", trigger: "blur" },
],
},
};
},
@ -688,15 +906,71 @@ export default {
this.getList();
},
methods: {
handleAvatarSuccess2(res, file) {
this.imageUrl2 = URL.createObjectURL(file.raw);
imgUrl(imgUrl) {
console.log(imgUrl);
this.form.stationPictureUrl = imgUrl;
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
imgUrl2(imgUrl) {
console.log(imgUrl);
this.form.stationIntroducePcitureUrl = imgUrl;
},
delnurseStationLabelList(item) {
console.log(item);
if (item.ids && !item.id) {
if (this.looknurseStationLabel.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.looknurseStationLabel = this.looknurseStationLabel.filter(
(e) => e.ids != item.ids
);
}
} else if (!item.ids && item.id) {
if (this.looknurseStationLabel.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.looknurseStationLabel = this.looknurseStationLabel.filter(
(e) => e.id != item.id
);
}
}
console.log(this.form.nurseStationLabelList);
},
addnurseStationLabelList() {
if (this.looknurseStationLabel.length == 5) {
this.$message.error("最多只能5条");
} else {
this.ids++;
var obj = {
labelDescription: "",
sort: "",
ids: this.ids,
};
this.looknurseStationLabel.push(obj);
}
console.log(this.looknurseStationLabel);
},
//
looknurseStationLabelList(item) {
console.log(item);
nurseStationlabel(item.id).then((res) => {
this.looknurseStationLabel = res.rows;
this.nurseStationLabelopen = true;
console.log(this.looknurseStationLabel);
});
},
//
looktype(item) {
console.log(item);
getInfoLists(item.nurseTypeCode).then((res) => {
console.log(res);
this.typelooks = res.data;
this.typeopen = true;
});
},
//
clickstreet(item) {
this.form.areaCode = item.areaCode;
this.value3 = item.areaCode;
console.log(this.form);
},
//
@ -744,7 +1018,6 @@ export default {
//
cancel() {
this.open = false;
// this.openadd = false;
this.reset();
this.value3 = "";
this.value2 = "";
@ -759,6 +1032,7 @@ export default {
nurseStationCode: null,
nurseStationName: null,
nurseStationType: null,
nurseStationType2: [],
agencyIntroduce: null,
nurseStationDescription: null,
longitude: null,
@ -768,7 +1042,9 @@ export default {
dutyPerson: null,
dutyPhone: null,
stationPictureUrl: null,
stationIntroducePcitureUrl: null,
sort: null,
nurseStationLabelList: [],
};
this.resetForm("form");
},
@ -786,6 +1062,25 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
areaCode: null,
userId: null,
nurseStationCode: null,
nurseStationName: null,
nurseStationType: null,
agencyIntroduce: null,
nurseStationDescription: null,
longitude: null,
latitude: null,
phone: null,
address: null,
dutyPerson: null,
dutyPhone: null,
stationPictureUrl: null,
sort: null,
};
this.resetForm("queryForm");
this.handleQuery();
},
@ -798,24 +1093,94 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.value3 = "";
this.value2 = "";
this.value1 = "";
this.value = "";
this.open = true;
this.looknurseStationLabel = [
{
labelDescription: "",
sort: "",
ids: 1,
},
];
this.title = "添加护理站信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getStation(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改护理站信息";
});
getStation(id)
.then((response) => {
this.resid = response.data.id;
this.form = response.data;
if (
!this.form.nurseStationType ||
this.form.nurseStationType == null ||
this.form.nurseStationType.length == 0
) {
} else {
this.form.nurseStationType2 = this.form.nurseStationType.split(",");
this.form.nurseStationType = this.form.nurseStationType2;
}
// this.form.nurseStationLabelList = [];
this.title = "修改护理站信息";
getSubordinateRegions(response.data.areaCode).then((res) => {
this.value = res.data.provinceCode;
this.value1 = res.data.cityName;
this.value2 = res.data.regionName;
this.value3 = res.data.streetName;
});
})
.then(() => {
getLabelList(this.resid).then((res) => {
this.looknurseStationLabel = res;
if (this.looknurseStationLabel.length == 0) {
var obj = {
labelDescription: "",
sort: "",
ids: 1,
};
this.looknurseStationLabel.push(obj);
} else if (this.looknurseStationLabel == []) {
var obj = {
labelDescription: "",
sort: "",
ids: 1,
};
this.looknurseStationLabel.push(obj);
} else if (this.looknurseStationLabel == null) {
var obj = {
labelDescription: "",
sort: "",
ids: 1,
};
this.looknurseStationLabel.push(obj);
}
console.log(this.looknurseStationLabel);
// console.log(this.form);
// console.log(this.form.nurseStationLabelList);
// this.form.nurseStationLabelList = obj;
// res.rows.forEach((e) => {
// this.form.nurseStationLabelList.push(e);
// });
});
console.log(this.form);
this.open = true;
});
},
/** 提交按钮 */
submitForm() {
this.form.nurseStationLabelList = this.looknurseStationLabel;
this.form.nurseStationType = this.form.nurseStationType2;
console.log(this.form);
this.$refs["form"].validate((valid) => {
if (valid) {
this.form.nurseStationType = this.form.nurseStationType2.join(",");
if (this.form.id != null) {
updateStation(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
@ -824,9 +1189,13 @@ export default {
});
} else {
addStation(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
if (response.code) {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
} else {
this.form.nurseStationType = obj;
}
});
}
}
@ -836,7 +1205,7 @@ export default {
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除护理站信息编号为"' + ids + '"的数据项?')
.confirm("是否确认删除此护理站信息?")
.then(function () {
return delStation(ids);
})
@ -866,7 +1235,7 @@ export default {
this.download(
"/system/station/downloadTemplate?fileType=nurseStation",
{},
`护理站模板.xlsx`
`护理站信息导入模板.xlsx`
);
},
//

View File

@ -143,32 +143,23 @@ export default {
};
},
created() {
console.log(this.img);
console.log(this.type);
this.types = this.type;
if (this.img == null) {
console.log(1);
this.options.img = null;
} else if (this.img == "") {
console.log(2);
this.options.img = null;
} else {
console.log(3);
this.options.img = baseurl + this.img;
}
},
watch: {
img: {
handler(newimg, oldimg) {
console.log(this.img);
if (this.img == null) {
console.log(1);
this.options.img = null;
} else if (this.img == "") {
console.log(2);
this.options.img = null;
} else {
console.log(3);
this.options.img = baseurl + this.img;
}
},
@ -176,7 +167,6 @@ export default {
type: {
handler(newimg, oldimg) {
this.types = this.type;
console.log(this.types);
},
},
},
@ -208,7 +198,7 @@ export default {
beforeUpload(file) {
if (file.type.indexOf("image/") == -1) {
this.$modal.msgError(
"文件格式错误,请上传图片类型,如JPGPNG后缀的文件。"
"文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。"
);
} else {
const reader = new FileReader();
@ -222,15 +212,12 @@ export default {
uploadImg() {
// console.log(this.types);
this.$refs.cropper.getCropBlob((data) => {
console.log(data);
let formData = new FormData();
console.log(formData);
formData.append("file", data);
formData.append("type", this.types);
console.log(formData);
updateNurseStationHeads(formData).then((response) => {
console.log(response);
this.options.img = baseurl + response.imgUrl;
this.$emit("imgUrl", response.imgUrl);
this.openimg = false;
});
});
@ -252,6 +239,7 @@ export default {
position: relative;
display: inline-block;
height: 120px;
background: #fafafa;
}
.user-info-head:hover:after {

View File

@ -716,7 +716,7 @@ export default {
this.download(
"/system/stationItem/downloadTemplate?fileType=2",
{},
`护理站耗材模板.xlsx`
`护理站耗材信息导入模板.xlsx`
);
},
//

View File

@ -840,9 +840,10 @@ export default {
/** 提交按钮 */
submitForm: function () {
console.log(this.form);
this.form.nurseStationIds = this.form.nurseStationIds.join(",");
this.$refs["form"].validate((valid) => {
if (valid) {
this.form.nurseStationIds = this.form.nurseStationIds.join(",");
if (this.form.userId != undefined) {
updateUser(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");

View File

@ -0,0 +1,21 @@
<template></template>
<script>
import { getListByUser } from "@/api/system/userlist.js";
export default {
name: "userlist",
data() {
return {};
},
created() {
this.info()
},
methods: {
info() {
getListByUser().then((res) => {
console.log(res);
});
},
},
};
</script>