This commit is contained in:
闫晓茹 2023-04-28 13:48:35 +08:00
parent e3eb00535f
commit c028f5bf13

View File

@ -10,16 +10,12 @@
>
<el-form-item label="护理站名称" prop="nurseStationId">
<el-button type class="stationbtn" @click="ParamsStation(true)">
{{
queryParams.nurseStationName
}}
{{ queryParams.nurseStationName }}
</el-button>
</el-form-item>
<el-form-item label="护理项目" prop="nurseItemId" label-width="100px">
<el-button type class="stationbtn" @click="ParamsStationxm(true)">
{{
queryParams.nurseItemName
}}
{{ queryParams.nurseItemName }}
</el-button>
</el-form-item>
<el-form-item label="海报名称" prop="poserName">
@ -31,7 +27,11 @@
/>
</el-form-item>
<el-form-item label="海报所属模块" prop="moduleType">
<el-select v-model="queryParams.moduleType" placeholder="请选择" style="width: 208px">
<el-select
v-model="queryParams.moduleType"
placeholder="请选择"
style="width: 208px"
>
<el-option
v-for="item in options"
:key="item.value"
@ -49,8 +49,16 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
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>
<el-row :gutter="10" class="mb8">
@ -62,7 +70,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:poser:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -73,7 +82,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:poser:edit']"
>修改</el-button>
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -84,7 +94,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:poser:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
@ -97,37 +108,56 @@
>导出</el-button
>
</el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="poserList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="poserList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="所属护理站" align="center" prop="nurseStationName" />
<el-table-column label="所属护理项目" align="center" prop="nurseItemName" />
<el-table-column
label="所属护理站"
align="center"
prop="nurseStationName"
/>
<el-table-column
label="所属护理项目"
align="center"
prop="nurseItemName"
/>
<el-table-column label="海报名称" align="center" prop="poserName" />
<el-table-column label="海报编号" align="center" prop="poserCode" />
<el-table-column label="海报所属模块" align="center" prop="moduleType">
<template slot-scope="scope">
{{
scope.row.moduleType == "NURSE_AGENCY_MODULE" ? "护理机构模块" : ""
scope.row.moduleType == "NURSE_AGENCY_MODULE" ? "护理机构模块" : ""
}}
{{
scope.row.moduleType == "NURSE_ITEM_MODULE" ? "护理项目模块" : ""
scope.row.moduleType == "NURSE_ITEM_MODULE" ? "护理项目模块" : ""
}}
{{
scope.row.moduleType == "HEALTH_CONSUTION_MODULE"
? "健康咨询模块"
: ""
scope.row.moduleType == "HEALTH_CONSUTION_MODULE"
? "健康咨询模块"
: ""
}}
{{ scope.row.moduleType == "HOME_PAGE_MODULE" ? "首页模块" : "" }}
{{
scope.row.moduleType == "NURSE_AGENCY_INTRODUCE_MODULE"
? "护理机构轮播图"
: ""
scope.row.moduleType == "NURSE_AGENCY_INTRODUCE_MODULE"
? "护理机构轮播图"
: ""
}}
</template>
</el-table-column>
<el-table-column label="海报显示顺序" align="center" prop="poserSort" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -135,14 +165,16 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:poser:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:poser:remove']"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -161,9 +193,19 @@
:before-close="cancel"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="110px" :inline="true">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="110px"
:inline="true"
>
<el-form-item label="海报名称" prop="poserName">
<el-input v-model="form.poserName" placeholder="请输入海报名称" maxlength="50" />
<el-input
v-model="form.poserName"
placeholder="请输入海报名称"
maxlength="50"
/>
</el-form-item>
<el-form-item label="海报所属模块" prop="moduleType">
@ -212,7 +254,8 @@
color: #c0c4cc;
"
v-if="form.nurseStationName == '请选择所属护理站'"
>{{ form.nurseStationName }}</el-button>
>{{ form.nurseStationName }}</el-button
>
<el-button
type
style="
@ -226,7 +269,8 @@
@click="ParamsStation(false)"
:disabled="isEditFlag"
v-else
>{{ form.nurseStationName }}</el-button>
>{{ form.nurseStationName }}</el-button
>
</template>
</el-form-item>
<el-form-item
@ -249,7 +293,8 @@
"
@click="ParamsStationxm(false)"
v-if="form.nurseItemName == '请选择所属护理项目'"
>{{ form.nurseItemName }}</el-button>
>{{ form.nurseItemName }}</el-button
>
<el-button
:disabled="isEditFlag"
type
@ -263,23 +308,51 @@
"
@click="ParamsStationxm(false)"
v-else
>{{ form.nurseItemName }}</el-button>
>{{ form.nurseItemName }}</el-button
>
</template>
</el-form-item>
<el-form-item label="海报图片" prop="posterPictureUrl">
<el-table label-width="50px" style="margin-top: 20px" :data="form.posterPictureUrlLists">
<el-table-column label="图片" align="center" width="300">
<template slot-scope="scope">
<!-- <el-form-item label="海报图片" prop="posterPictureUrl"> -->
<el-table
label-width="50px"
style="margin-top: 20px"
:data="form.posterPictureUrlLists"
>
<el-table-column label="图片" align="center" width="300">
<template slot-scope="scope">
<el-form-item
:prop="
'posterPictureUrlLists.' + scope.$index + '.posterPictureUrl'
"
:rules="[
{
required: true,
message: '请上传海报图片',
trigger: 'blur',
},
]"
>
<stationAcatar
@item="imgUrl"
:img="scope.row.posterPictureUrl"
:type="'posterPictureUrl'"
:item="scope.row"
/>
</template>
</el-table-column>
<el-table-column label="图片跳转标识" align="center" width="300">
<template slot-scope="scope">
</el-form-item>
</template>
</el-table-column>
<el-table-column label="图片跳转标识" align="center" width="300">
<template slot-scope="scope">
<el-form-item
:prop="'posterPictureUrlLists.' + scope.$index + '.jumpType'"
:rules="[
{
required: true,
message: '请选择图片跳转标识',
trigger: 'blur',
},
]"
>
<el-select
v-model="scope.row.jumpType"
placeholder="请选择"
@ -291,24 +364,47 @@
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@click.native="taptypes(scope.row,item)"
@click.native="taptypes(scope.row, item)"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="图片跳转链接" align="center" width="300">
<template slot-scope="scope">
<el-input v-model="scope.row.jumpLink" placeholder="请输入跳转链接" style="widt h:250px"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="addPictureUrl">新增</el-button>
<el-button size="mini" type="text" @click="delPictureUrl(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="图片跳转链接" align="center" width="300">
<template slot-scope="scope">
<el-form-item
:prop="'posterPictureUrlLists.' + scope.$index + '.jumpLink'"
:rules="[
{
required: true,
message: '请输入跳转链接',
trigger: 'blur',
},
]"
>
<el-input
v-model="scope.row.jumpLink"
placeholder="请输入跳转链接"
style="widt h:250px"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="addPictureUrl"
>新增</el-button
>
<el-button
size="mini"
type="text"
@click="delPictureUrl(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<!-- </el-form-item> -->
<el-form-item label="海报简介">
<el-input
type="textarea"
@ -349,19 +445,42 @@
append-to-body
:before-close="clicknurseStationshow"
>
<el-form ref="form" :model="getListByUserquery" label-width="110px" :inline="true">
<el-form
ref="form"
:model="getListByUserquery"
label-width="110px"
:inline="true"
>
<el-form-item label="护理站编码" prop="nurseStationCode">
<el-input v-model="getListByUserquery.nurseStationCode" placeholder="请输入护理站编码" />
<el-input
v-model="getListByUserquery.nurseStationCode"
placeholder="请输入护理站编码"
/>
</el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName">
<el-input v-model="getListByUserquery.nurseStationName" placeholder="请输入护理站名称" />
<el-input
v-model="getListByUserquery.nurseStationName"
placeholder="请输入护理站名称"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="info">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="stationcancel">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="info"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="stationcancel"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="nurseStationlist" @cell-dblclick="choicestationid">
<el-table
v-loading="loading"
:data="nurseStationlist"
@cell-dblclick="choicestationid"
>
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
@ -380,9 +499,21 @@
></el-button>
</template>
</el-table-column>
<el-table-column property="nurseStationCode" label="护理站编码" align="center"></el-table-column>
<el-table-column property="nurseStationName" label="护理站名称" align="center"></el-table-column>
<el-table-column property="phone" label="联系电话" align="center"></el-table-column>
<el-table-column
property="nurseStationCode"
label="护理站编码"
align="center"
></el-table-column>
<el-table-column
property="nurseStationName"
label="护理站名称"
align="center"
></el-table-column>
<el-table-column
property="phone"
label="联系电话"
align="center"
></el-table-column>
<el-table-column
property="address"
label="护理站地址"
@ -409,17 +540,38 @@
>
<el-form :model="nurseItemquery" label-width="150px" :inline="true">
<el-form-item label="护理项目编码" prop="nurseItemCode">
<el-input v-model="nurseItemquery.nurseItemCode" placeholder="请输入护理项目编码" />
<el-input
v-model="nurseItemquery.nurseItemCode"
placeholder="请输入护理项目编码"
/>
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
<el-input v-model="nurseItemquery.nurseItemName" placeholder="请输入护理项目名称" />
<el-input
v-model="nurseItemquery.nurseItemName"
placeholder="请输入护理项目名称"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="nurseItemlistInfo">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="nurseItemlistcancel">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="nurseItemlistInfo"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="nurseItemlistcancel"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="nurseItemlist" @cell-dblclick="choicenurseItem">
<el-table
v-loading="loading"
:data="nurseItemlist"
@cell-dblclick="choicenurseItem"
>
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
@ -438,11 +590,27 @@
></el-button>
</template>
</el-table-column>
<el-table-column label="所属护理站" align="center" prop="nurseStationName" />
<el-table-column
label="所属护理站"
align="center"
prop="nurseStationName"
/>
<!-- <el-table-column label="护理类型" align="center" prop="nurseTypeName" /> -->
<el-table-column label="护理项目编号" align="center" prop="nurseItemCode" />
<el-table-column label="护理项目名称" align="center" prop="nurseItemName" />
<el-table-column label="护理项目分类名称" align="center" prop="nurseItemName" />
<el-table-column
label="护理项目编号"
align="center"
prop="nurseItemCode"
/>
<el-table-column
label="护理项目名称"
align="center"
prop="nurseItemName"
/>
<el-table-column
label="护理项目分类名称"
align="center"
prop="nurseItemName"
/>
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" />
</el-table>
@ -467,7 +635,7 @@ import {
getListByUser,
updatePoser,
updatePicture,
selectPosterImageJump
selectPosterImageJump,
} from "@/api/system/poser";
import { list } from "@/api/system/nurseItem";
import stationAcatar from "../stationAvatar/index.vue";
@ -481,7 +649,7 @@ export default {
loading: true,
getListByUserquery: {
pageNum: 1,
pageSize: 10
pageSize: 10,
},
nurseStationlist: [],
nurseStationshow: false,
@ -517,7 +685,7 @@ export default {
pageNum: 1,
pageSize: 10,
nurseItemCode: null,
nurseItemName: null
nurseItemName: null,
},
//
queryParams: {
@ -534,7 +702,7 @@ export default {
moduleType: null,
poserSort: null,
jumpLink: null,
jumpType: null
jumpType: null,
},
//
form: {
@ -548,55 +716,55 @@ export default {
nurseStationId: null,
nurseStationName: "请选择所属护理站",
nurseItemName: "请选择所属护理项目",
nurseItemId: null
nurseItemId: null,
},
imgsurl: { pictureUrlList: [] },
//
rules: {
moduleType: [
{ required: true, message: "请选择海报所属模块", trigger: "blur" }
{ required: true, message: "请选择海报所属模块", trigger: "blur" },
],
poserName: [
{ required: true, message: "请输入海报名称", trigger: "blur" }
{ required: true, message: "请输入海报名称", trigger: "blur" },
],
nurseStationId: [
{ required: true, message: "请选择所属护理站", trigger: "blur" }
{ required: true, message: "请选择所属护理站", trigger: "blur" },
],
posterIntroduce: [
{ required: true, message: "请输入海报简介", trigger: "blur" }
{ required: true, message: "请输入海报简介", trigger: "blur" },
],
posterVideoUrl: [
{ required: true, message: "请选择海报视频", trigger: "blur" }
{ required: true, message: "请选择海报视频", trigger: "blur" },
],
poserSort: [
{ required: true, message: "请输入海报顺序", trigger: "blur" }
{ required: true, message: "请输入海报顺序", trigger: "blur" },
],
nurseItemId: [
{ required: true, message: "请选择所属护理项目", trigger: "blur" }
]
{ required: true, message: "请选择所属护理项目", trigger: "blur" },
],
},
options: [
{
value: "NURSE_AGENCY_MODULE",
label: "护理机构模块"
label: "护理机构模块",
},
{
value: "NURSE_ITEM_MODULE",
label: "护理项目模块"
label: "护理项目模块",
},
{
value: "HEALTH_CONSUTION_MODULE",
label: "健康咨询模块"
label: "健康咨询模块",
},
{
value: "HOME_PAGE_MODULE",
label: "首页模块"
label: "首页模块",
},
{
value: "NURSE_AGENCY_INTRODUCE_MODULE",
label: "护理机构轮播图"
}
label: "护理机构轮播图",
},
],
objitem: [],
jumpTypes: [],
@ -613,10 +781,10 @@ export default {
isShowUploadVideo: false,
//
videoForm: {
showVideoPath: "" //
showVideoPath: "", //
},
//
deletNewImgs: []
deletNewImgs: [],
};
},
created() {
@ -631,27 +799,26 @@ export default {
},
//
PosterImageJump() {
selectPosterImageJump().then(res => {
selectPosterImageJump().then((res) => {
this.jumpTypes = res.data;
});
},
//
delPictureUrl(item) {
console.log(item);
if (item.idd && !item.id) {
if (this.form.posterPictureUrlLists.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.form.posterPictureUrlLists = this.form.posterPictureUrlLists.filter(
e => e.idd != item.idd
);
this.form.posterPictureUrlLists =
this.form.posterPictureUrlLists.filter((e) => e.idd != item.idd);
}
} else if (!item.idd && item.id) {
if (this.form.posterPictureUrlLists.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.form.posterPictureUrlLists = this.form.posterPictureUrlLists.filter(
e => e.id != item.id
);
this.form.posterPictureUrlLists =
this.form.posterPictureUrlLists.filter((e) => e.id != item.id);
}
}
},
@ -663,7 +830,7 @@ export default {
jumpType: null,
idd: this.idd,
jumpLink: null,
jumpDictId: null
jumpDictId: null,
};
if (this.form.posterPictureUrlLists.length >= 5) {
this.$message.error("最多新增5条");
@ -699,13 +866,13 @@ export default {
pageNum: 1,
pageSize: 10,
nurseItemCode: null,
nurseItemName: null
nurseItemName: null,
};
this.nurseItemlistInfo();
},
//
nurseItemlistInfo() {
list(this.nurseItemquery).then(res => {
list(this.nurseItemquery).then((res) => {
this.nurseItemlist = res.rows;
this.nurseItemtotal = res.total;
});
@ -740,7 +907,7 @@ export default {
},
//list
info() {
getListByUser(this.getListByUserquery).then(res => {
getListByUser(this.getListByUserquery).then((res) => {
this.nurseStationlist = res.rows;
this.total4 = res.total;
});
@ -755,7 +922,7 @@ export default {
stationcancel() {
this.getListByUserquery = {
pageNum: 1,
pageSize: 10
pageSize: 10,
};
this.info();
},
@ -794,7 +961,7 @@ export default {
/** 查询泉医到家系统海报模块信息(包含咨询简介信息)列表 */
getList() {
this.loading = true;
listPoser(this.queryParams).then(response => {
listPoser(this.queryParams).then((response) => {
this.poserList = response.rows;
this.total = response.total;
this.loading = false;
@ -804,12 +971,12 @@ export default {
cancel() {
var obj = { pictureUrlList: [] };
if (this.form.posterPictureUrlLists) {
this.form.posterPictureUrlLists.forEach(e => {
this.form.posterPictureUrlLists.forEach((e) => {
obj.pictureUrlList.push(e.posterPictureUrl);
});
}
if (obj.pictureUrlList.length > 0) {
updatePicture({ pictureUrlList: this.deletNewImgs }).then(res => {
updatePicture({ pictureUrlList: this.deletNewImgs }).then((res) => {
this.open = false;
});
}
@ -829,8 +996,8 @@ export default {
jumpType: null,
idd: this.idd,
jumpLink: null,
jumpDictId: null
}
jumpDictId: null,
},
],
moduleType: null,
id: null,
@ -841,7 +1008,7 @@ export default {
nurseStationName: "请选择所属护理站",
nurseStationId: null,
nurseItemName: "请选择所属护理项目",
nurseItemId: null
nurseItemId: null,
};
this.deletNewImgs = [];
this.resetForm("form");
@ -854,22 +1021,22 @@ export default {
resetQuery() {
this.nurseItemquery = {
pageNum: 1,
pageSize: 10
pageSize: 10,
};
this.stationid = "";
this.nurseitemid = "";
this.queryParams = {
pageNum: 1,
pageSize: 10
pageSize: 10,
};
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.nurseStationId);
this.itemids = selection.map(item => item.nurseItemId);
this.Types = selection.map(item => item.moduleType);
this.ids = selection.map((item) => item.nurseStationId);
this.itemids = selection.map((item) => item.nurseItemId);
this.Types = selection.map((item) => item.moduleType);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
@ -885,7 +1052,7 @@ export default {
const id = row.nurseStationId || this.ids;
const itemid = row.nurseItemId || this.itemids;
const type = row.moduleType || this.Types;
getPoser(type, id, itemid).then(response => {
getPoser(type, id, itemid).then((response) => {
this.form = response.data;
if (response.data.goodAttributeDetailsLists) {
this.goodDetailsLists = response.data.goodAttributeDetailsLists;
@ -897,15 +1064,15 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.form.posterPictureUrlLists.forEach(e => {
this.form.posterPictureUrlLists.forEach((e) => {
if (!e.jumpType || e.jumpType == "") {
e.jumpDictId = null;
}
});
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updatePoser(this.form).then(response => {
updatePoser(this.form).then((response) => {
// var obj = { pictureUrlList: [] };
// if (this.form.posterPictureUrlLists) {
// this.form.posterPictureUrlLists.forEach((e) => {
@ -920,7 +1087,7 @@ export default {
this.getList();
});
} else {
addPoser(this.form).then(response => {
addPoser(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -943,7 +1110,7 @@ export default {
}
this.$modal
.confirm("是否确认删除?")
.then(function() {
.then(function () {
return delPoser(nurseStationIds, moduleTypes, nurseItemIds);
})
.then(() => {
@ -957,12 +1124,12 @@ export default {
this.download(
"system/poser/export",
{
...this.queryParams
...this.queryParams,
},
`poser_${new Date().getTime()}.xlsx`
);
}
}
},
},
};
</script>
<style lang="scss" scoped>