Commit 4f01ef78 by honghong

业务模块

parent fb91970a
...@@ -42,3 +42,29 @@ export function delBusiness(id) { ...@@ -42,3 +42,29 @@ export function delBusiness(id) {
method: 'delete' method: 'delete'
}) })
} }
//获取服务详细信息
export function getServe(id) {
return request({
url: 'system/services/' + id,
method: 'get'
})
}
// 新增服务
export function addServe(data) {
return request({
url: '/system/services',
method: 'post',
data: data
})
}
// 修改服务
export function updateServe(data) {
return request({
url: '/system/services',
method: 'put',
data: data
})
}
\ No newline at end of file
...@@ -96,13 +96,11 @@ ...@@ -96,13 +96,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="城市" align="center" prop="cityId" /> <el-table-column label="城市" align="center" prop="cityName" />
<el-table-column label="内容" align="center" prop="content" /> <el-table-column label="内容" align="center" prop="content" :show-overflow-tooltip="true"/>
<el-table-column label="收藏数" align="center" prop="content" /> <el-table-column label="收藏数" align="center" prop="appreciateNum" />
<el-table-column label="点赞数" align="center" prop="content" /> <el-table-column label="点赞数" align="center" prop="collectNum" />
<el-table-column label="评论数" align="center" prop="content" /> <el-table-column label="评论数" align="center" prop="" />
<el-table-column label="创建时间" align="center" prop="content" />
<el-table-column label="更新时间" align="center" prop="content" />
<el-table-column <el-table-column
label="操作" label="操作"
...@@ -148,12 +146,17 @@ ...@@ -148,12 +146,17 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="cityId"> <el-form-item label="城市" prop="cityId">
<el-select v-model="form.cityId" placeholder="请选择"> <el-select
filterable
clearable
v-model="form.cityId"
placeholder="请选择"
>
<el-option <el-option
v-for="item in cityList" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -183,6 +186,7 @@ import { ...@@ -183,6 +186,7 @@ import {
addArticle, addArticle,
updateArticle, updateArticle,
} from "@/api/operation/article"; } from "@/api/operation/article";
import { cityVoListGET } from "@/api/hispotalManage/hospital";
export default { export default {
name: "Article", name: "Article",
...@@ -221,21 +225,16 @@ export default { ...@@ -221,21 +225,16 @@ export default {
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {
cityList: [ cityId: [{ required: true, message: "请选择城市", trigger: "change" }],
{ },
value: "1", cityVoList: [],
label: "北京",
},
{
value: "2",
label: "上海",
},
],
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.cityVoListAxios();
}, },
methods: { methods: {
/** 查询文章列表 */ /** 查询文章列表 */
...@@ -247,6 +246,13 @@ export default { ...@@ -247,6 +246,13 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -364,3 +370,4 @@ export default { ...@@ -364,3 +370,4 @@ export default {
}, },
}; };
</script> </script>
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
prop="site" prop="site"
:formatter="getSiteName" :formatter="getSiteName"
/> />
<el-table-column label="城市" align="center" prop="cityId" /> <el-table-column label="城市" align="center" prop="cityName" />
<el-table-column label="图片" align="center" prop="imgUrl"> <el-table-column label="图片" align="center" prop="imgUrl">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-image <el-image
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
@change="handleChangeStatus($event,scope.row)" @change="handleChangeStatus($event, scope.row)"
v-model="scope.row.status" v-model="scope.row.status"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="位置" prop="site"> <el-form-item label="位置" prop="site">
<!-- <el-input v-model="form.site" placeholder="请输入位置" /> --> <!-- <el-input v-model="form.site" placeholder="请输入位置" /> -->
<el-select v-model="form.site" placeholder="请选择"> <el-select clearable v-model="form.site" placeholder="请选择">
<el-option <el-option
v-for="item in placeOptions" v-for="item in placeOptions"
:key="item.value" :key="item.value"
...@@ -155,16 +155,20 @@ ...@@ -155,16 +155,20 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="cityId"> <el-form-item label="城市" prop="cityId">
<el-select v-model="form.cityId" placeholder="请选择"> <el-select
filterable
clearable
v-model="form.cityId"
placeholder="请选择"
>
<el-option <el-option
v-for="item in cityList" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
<!-- <el-input v-model="form.cityId" placeholder="请输入城市" /> -->
</el-form-item> </el-form-item>
<el-form-item label="描述" prop="descr"> <el-form-item label="描述" prop="descr">
...@@ -219,6 +223,7 @@ import { ...@@ -219,6 +223,7 @@ import {
addCarousel, addCarousel,
updateCarousel, updateCarousel,
} from "@/api/operation/carousel"; } from "@/api/operation/carousel";
import { cityVoListGET } from "@/api/hispotalManage/hospital";
export default { export default {
name: "Carousel", name: "Carousel",
...@@ -281,20 +286,12 @@ export default { ...@@ -281,20 +286,12 @@ export default {
label: "商城首页", label: "商城首页",
}, },
], ],
cityList: [ cityVoList: [],
{
value: "1",
label: "北京",
},
{
value: "2",
label: "上海",
},
],
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.cityVoListAxios();
}, },
methods: { methods: {
/** 查询轮播图列表 */ /** 查询轮播图列表 */
...@@ -306,12 +303,19 @@ export default { ...@@ -306,12 +303,19 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
},
// 获取位置名称 // 获取位置名称
getSiteName(e) { getSiteName(e) {
return e.site == 1 ? "首页" : e.site == 2 ? "商城首页" : ""; return e.site == 1 ? "首页" : e.site == 2 ? "商城首页" : "";
}, },
// 修改状态 // 修改状态
handleChangeStatus(e,row) { handleChangeStatus(e, row) {
updateCarousel(row) updateCarousel(row)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
......
...@@ -96,21 +96,33 @@ ...@@ -96,21 +96,33 @@
<el-table-column label="业务名称" align="center" prop="name" /> <el-table-column label="业务名称" align="center" prop="name" />
<el-table-column label="服务" align="center" prop="name"> <el-table-column label="服务" align="center" prop="name">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" @click="toogleExpand(row)">查看服务</el-button> <el-button type="text" >查看服务</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column type="expand"> <el-table-column type="expand">
<template slot-scope="props"> <template slot-scope="props">
<el-table key="inside" :data="props.row.childres"> <el-table key="inside" :data="props.row.servicesVoList">
<el-table-column prop="a" label="服务名称"></el-table-column> <el-table-column prop="name" label="服务名称"></el-table-column>
<el-table-column prop="a" label="封面" /> <el-table-column prop="cover" label="封面">
<template slot-scope="{ row }">
<el-image
style="width: 30px; height: 30px"
:src="row.cover"
:preview-src-list="[row.cover]"
>
</el-image>
</template>
</el-table-column>
<el-table-column prop="a" label="高价" /> <el-table-column prop="a" label="高价" />
<el-table-column prop="a" label="价格" /> <el-table-column prop="price" label="价格" />
<el-table-column prop="a" label="平台分成" /> <el-table-column prop="fenmo" label="平台分成" />
<el-table-column prop="a" label="时长(小时)" /> <el-table-column prop="duration" label="时长(小时)" />
<el-table-column prop="a" label="超时计费/30分钟" /> <el-table-column prop="overtime" label="超时计费/30分钟" />
<el-table-column prop="a" label="服务时段" /> <el-table-column label="服务时段">
<el-table-column label="更新时间" align="center" prop="name" /> <template slot-scope="{ row }">
<span>{{ row.startTime }} - {{ row.endTime }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
...@@ -185,6 +197,86 @@ ...@@ -185,6 +197,86 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="修改服务"
:visible.sync="openServe"
width="50%"
append-to-body
>
<div class="hidden-dialog">
<el-form
ref="serveForm"
:model="serveForm"
:rules="serveRules"
label-width="80px"
>
<el-form-item label="服务名称" prop="name">
<el-input v-model="serveForm.name" placeholder="请输入内容">
<template slot="prepend">
<i class="el-icon-edit"></i>
</template>
</el-input>
</el-form-item>
<el-form-item label="Cover" prop="cover">
<imageUpload v-model="serveForm.cover"></imageUpload>
</el-form-item>
<el-form-item label="高价" prop="">
<el-input placeholder="请输入">
<template slot="prepend"></template>
</el-input>
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="serveForm.price" placeholder="请输入">
<template slot="prepend"></template>
</el-input>
</el-form-item>
<el-form-item label="平台分成" prop="fenmo">
<el-input v-model="serveForm.fenmo" placeholder="请输入">
<template slot="prepend"> % </template>
</el-input>
</el-form-item>
<el-form-item label="服务时长" prop="duration">
<el-input-number
v-model="serveForm.duration"
:min="1"
></el-input-number>
</el-form-item>
<el-form-item label="超时付费" prop="overtime">
<el-input v-model="serveForm.overtime" placeholder="请输入">
<template slot="prepend"></template>
</el-input>
<div>每30分钟。未满30分钟按30分钟算</div>
</el-form-item>
<el-form-item label="服务时段" prop="name">
<el-time-picker
is-range
arrow-control
v-model="serveForm.date"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围"
>
</el-time-picker>
</el-form-item>
<el-form-item label="介绍" prop="info">
<editor v-model="serveForm.info" :min-height="192" />
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button
:loading="buttonLoading"
type="primary"
@click="submitServeForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -195,6 +287,9 @@ import { ...@@ -195,6 +287,9 @@ import {
delBusiness, delBusiness,
addBusiness, addBusiness,
updateBusiness, updateBusiness,
getServe,
addServe,
updateServe,
} from "@/api/operation/business"; } from "@/api/operation/business";
export default { export default {
...@@ -232,23 +327,13 @@ export default { ...@@ -232,23 +327,13 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {},
openServe: false,
serveForm: {},
serveRules: {},
}; };
}, },
created() { created() {
// this.getList(); this.getList();
for (let i = 0; i < 10; i++) {
this.businessList.push({
id: i + 1,
hospitals: "医院" + i + 1,
name: "测试数据" + 1,
childres: [
{
a: "aaaaaaaaa",
},
],
});
this.loading = false;
}
}, },
methods: { methods: {
/** 查询业务列表 */ /** 查询业务列表 */
...@@ -260,15 +345,6 @@ export default { ...@@ -260,15 +345,6 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
toogleExpand(row) {
// let $table = this.$refs.table;
// this.tableData.map((item) => {
// if (row.id != item.id) {
// $table.toggleRowExpansion(item, false);
// }
// });
// $table.toggleRowExpansion(row);
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -288,6 +364,21 @@ export default { ...@@ -288,6 +364,21 @@ export default {
}; };
this.resetForm("form"); this.resetForm("form");
}, },
// 重置服务表单数据
resetServe() {
this.serveForm = {
name: undefined,
cover: undefined,
price: undefined,
fenmo: undefined,
duration: undefined,
overtime: undefined,
startTime: undefined,
endTime: undefined,
info: undefined,
}
this.resetForm("serveForm");
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
...@@ -323,7 +414,13 @@ export default { ...@@ -323,7 +414,13 @@ export default {
}); });
}, },
// 修改服务 // 修改服务
handleUpdateServe(){}, handleUpdateServe(row) {
const id = row.id;
getServe(id).then((response) => {
this.serveForm = response.data;
this.openServe = true;
});
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
...@@ -353,6 +450,23 @@ export default { ...@@ -353,6 +450,23 @@ export default {
} }
}); });
}, },
// 服务提交按钮
submitServeForm() {
this.$refs["serveForm"].validate((valid) => {
if (valid) {
this.buttonLoading = true;
updateServe(this.serveForm)
.then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
}
});
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
...@@ -385,3 +499,9 @@ export default { ...@@ -385,3 +499,9 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.hidden-dialog {
height: 600px;
overflow-x: hidden;
}
</style>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="标题" align="center" prop="title" /> <el-table-column label="标题" align="center" prop="title" />
<el-table-column label="城市" align="center" prop="cityId" /> <el-table-column label="城市" align="center" prop="cityName" />
<el-table-column label="封面" align="center" prop="cover"> <el-table-column label="封面" align="center" prop="cover">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-image <el-image
...@@ -92,8 +92,6 @@ ...@@ -92,8 +92,6 @@
<el-button type="text" @click="handleLook(row)">点击查看</el-button> <el-button type="text" @click="handleLook(row)">点击查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" />
<el-table-column label="更新时间" align="center" />
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
...@@ -135,12 +133,17 @@ ...@@ -135,12 +133,17 @@
<el-input v-model="form.title" placeholder="请输入标题" /> <el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="cityId"> <el-form-item label="城市" prop="cityId">
<el-select v-model="form.cityId" placeholder="请选择"> <el-select
filterable
clearable
v-model="form.cityId"
placeholder="请选择"
>
<el-option <el-option
v-for="item in cityList" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -149,7 +152,7 @@ ...@@ -149,7 +152,7 @@
<imageUpload v-model="form.cover"></imageUpload> <imageUpload v-model="form.cover"></imageUpload>
</el-form-item> </el-form-item>
<el-form-item label="内容" prop="info"> <el-form-item label="内容" prop="info">
<editor v-model="form.content" :min-height="192" /> <editor v-model="form.info" :min-height="192" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -182,6 +185,7 @@ import { ...@@ -182,6 +185,7 @@ import {
addInformation, addInformation,
updateInformation, updateInformation,
} from "@/api/operation/news"; } from "@/api/operation/news";
import { cityVoListGET } from "@/api/hispotalManage/hospital";
export default { export default {
name: "Information", name: "Information",
...@@ -219,23 +223,17 @@ export default { ...@@ -219,23 +223,17 @@ export default {
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {
cityId: [{ required: true, message: "请选择城市", trigger: "change" }],
},
openArticle: false, openArticle: false,
rowArticle: undefined, rowArticle: undefined,
cityList: [ cityVoList: [],
{
value: "1",
label: "北京",
},
{
value: "2",
label: "上海",
},
],
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.cityVoListAxios();
}, },
methods: { methods: {
/** 查询新闻资讯列表 */ /** 查询新闻资讯列表 */
...@@ -247,6 +245,13 @@ export default { ...@@ -247,6 +245,13 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
> >
<el-form-item label="位置" prop="site"> <el-form-item label="位置" prop="site">
<el-select v-model="queryParams.site" placeholder="请选择"> <el-select v-model="queryParams.site" placeholder="请选择">
<el-option <el-option
v-for="item in placeOptions" v-for="item in placeOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
...@@ -93,9 +93,14 @@ ...@@ -93,9 +93,14 @@
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="城市" align="center" prop="cityId" /> <el-table-column label="城市" align="center" prop="cityName" />
<el-table-column label="内容" align="center" prop="info" /> <el-table-column label="内容" align="center" prop="info" />
<el-table-column label="位置" align="center" prop="site" :formatter="getSiteName"/> <el-table-column
label="位置"
align="center"
prop="site"
:formatter="getSiteName"
/>
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
...@@ -142,18 +147,18 @@ ...@@ -142,18 +147,18 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="cityId"> <el-form-item label="城市" prop="cityId">
<el-select v-model="form.cityId" placeholder="请输入城市"> <el-select filterable clearable v-model="form.cityId" placeholder="请输入城市">
<el-option <el-option
v-for="item in cityList" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="位置" prop="site"> <el-form-item label="位置" prop="site">
<el-select v-model="form.site" placeholder="请输入位置"> <el-select clearable v-model="form.site" placeholder="请输入位置">
<el-option <el-option
v-for="item in placeOptions" v-for="item in placeOptions"
:key="item.value" :key="item.value"
...@@ -182,6 +187,7 @@ import { ...@@ -182,6 +187,7 @@ import {
addNotice, addNotice,
updateNotice, updateNotice,
} from "@/api/operation/notice"; } from "@/api/operation/notice";
import { cityVoListGET } from "@/api/hispotalManage/hospital";
export default { export default {
name: "Notice", name: "Notice",
...@@ -231,20 +237,12 @@ export default { ...@@ -231,20 +237,12 @@ export default {
label: "代办挂号公告", label: "代办挂号公告",
}, },
], ],
cityList: [ cityVoList: [],
{
value: "1",
label: "北京",
},
{
value: "2",
label: "上海",
},
],
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.cityVoListAxios();
}, },
methods: { methods: {
/** 查询公告列表 */ /** 查询公告列表 */
...@@ -256,6 +254,13 @@ export default { ...@@ -256,6 +254,13 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
},
// 获取位置名称 // 获取位置名称
getSiteName(e) { getSiteName(e) {
return e.site == 1 ? "首页公告" : e.site == 2 ? "代办挂号公告" : ""; return e.site == 1 ? "首页公告" : e.site == 2 ? "代办挂号公告" : "";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment