Commit 70ffe74c by zhangmengjie

业务增加新增按钮

parent 6c49ca6a
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<!-- <el-form-item label="提供医院" prop="hospitals"> <!-- <el-form-item label="提供医院" prop="hospitals">
<el-input <el-input
v-model="queryParams.hospitals" v-model="queryParams.hospitals"
...@@ -17,24 +10,11 @@ ...@@ -17,24 +10,11 @@
/> />
</el-form-item> --> </el-form-item> -->
<el-form-item label="业务名称" prop="name"> <el-form-item label="业务名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入业务名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.name"
placeholder="请输入业务名称"
clearable
@keyup.enter.native="handleQuery"
/>
</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>
...@@ -84,160 +64,65 @@ ...@@ -84,160 +64,65 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> --> </el-row> -->
<el-table <el-table key="outer" v-loading="loading" :data="businessList" @selection-change="handleSelectionChange">
key="outer"
v-loading="loading"
:data="businessList"
@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="ID" align="center" prop="id" :show-overflow-tooltip="true" />
label="ID"
align="center"
prop="id"
:show-overflow-tooltip="true"
/>
<el-table-column label="提供医院" align="center" prop="hospitalsList"> <el-table-column label="提供医院" align="center" prop="hospitalsList">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag v-for="(item, index) in scope.row.hospitalsList" :key="index" style="margin-right: 8px">{{ item
v-for="(item, index) in scope.row.hospitalsList" }}</el-tag>
:key="index"
style="margin-right: 8px"
>{{ item }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="业务名称" align="center" prop="name" :show-overflow-tooltip="true" />
label="业务名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
/>
<el-table-column type="expand" label="服务" align="center" prop="name"> <el-table-column type="expand" label="服务" align="center" prop="name">
<template slot-scope="props"> <template slot-scope="props">
<el-table key="inside" :data="props.row.servicesVoList"> <el-table key="inside" :data="props.row.servicesVoList">
<el-table-column <el-table-column prop="name" label="服务名称" :show-overflow-tooltip="true"></el-table-column>
prop="name"
label="服务名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column prop="cover" label="封面" width="170"> <el-table-column prop="cover" label="封面" width="170">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<imageUpload <imageUpload v-model="row.cover" :limit="row.cover.split(',').length" :disabled="true" :isShowTip="false">
v-model="row.cover" </imageUpload>
:limit="row.cover.split(',').length"
:disabled="true"
:isShowTip="false"
></imageUpload>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="highPrice" label="高价" :show-overflow-tooltip="true" />
prop="highPrice" <el-table-column prop="price" label="价格" :show-overflow-tooltip="true" />
label="高价" <el-table-column prop="fenmo" label="平台分成" :show-overflow-tooltip="true" />
:show-overflow-tooltip="true" <el-table-column prop="duration" label="时长(小时)" :show-overflow-tooltip="true" />
/> <el-table-column prop="overtime" label="超时计费/30分钟" :show-overflow-tooltip="true" />
<el-table-column
prop="price"
label="价格"
:show-overflow-tooltip="true"
/>
<el-table-column
prop="fenmo"
label="平台分成"
:show-overflow-tooltip="true"
/>
<el-table-column
prop="duration"
label="时长(小时)"
:show-overflow-tooltip="true"
/>
<el-table-column
prop="overtime"
label="超时计费/30分钟"
:show-overflow-tooltip="true"
/>
<el-table-column label="服务时段" :show-overflow-tooltip="true"> <el-table-column label="服务时段" :show-overflow-tooltip="true">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-if="row.startTime && row.endTime" <span v-if="row.startTime && row.endTime">{{ row.startTime }} - {{ row.endTime }}</span>
>{{ row.startTime }} - {{ row.endTime }}</span
>
<span v-else>未设置</span> <span v-else>未设置</span>
</template> </template>
</el-table-column> </el-table-column>
<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 <el-button size="mini" type="text" icon="el-icon-edit"
size="mini" @click="handleUpdateServe(scope.row)">修改服务</el-button>
type="text"
icon="el-icon-edit"
@click="handleUpdateServe(scope.row)"
>修改服务</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="更新时间" align="center" prop="updateTime" width="180" :show-overflow-tooltip="true" />
label="更新时间" <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
align="center"
prop="updateTime"
width="180"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="handlenew(scope.row)">新增</el-button>
size="mini" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
type="text" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
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
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total > 0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改业务对话框 --> <!-- 添加或修改业务对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
<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="hospitalsIdsList"> <el-form-item label="提供医院" prop="hospitalsIdsList">
<el-select <el-select v-model="form.hospitalsIdsList" multiple clearable="" filterable placeholder="请选择">
v-model="form.hospitalsIdsList" <el-option v-for="item in hospitalsList" :key="item.id" :label="item.name" :value="item.id">
multiple
clearable=""
filterable
placeholder="请选择"
>
<el-option
v-for="item in hospitalsList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -246,26 +131,14 @@ ...@@ -246,26 +131,14 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm" <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog :title="service == true ? '修改服务' : '新增服务'" :visible.sync="openServe" width="50%" append-to-body>
title="修改服务"
:visible.sync="openServe"
width="50%"
append-to-body
>
<div class="hidden-dialog"> <div class="hidden-dialog">
<el-form <el-form ref="serveForm" :model="serveForm" :rules="serveRules" label-width="80px">
ref="serveForm"
:model="serveForm"
:rules="serveRules"
label-width="80px"
>
<el-form-item label="服务名称" prop="name"> <el-form-item label="服务名称" prop="name">
<el-input v-model="serveForm.name" placeholder="请输入服务名称"> <el-input v-model="serveForm.name" placeholder="请输入服务名称">
<template slot="prepend"> <template slot="prepend">
...@@ -273,63 +146,42 @@ ...@@ -273,63 +146,42 @@
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="cityId">
<el-select filterable clearable v-model="serveForm.cityId" placeholder="请选择">
<el-option v-for="item in cityVoList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="Cover" prop="cover"> <el-form-item label="Cover" prop="cover">
<imageUpload v-model="serveForm.cover"></imageUpload> <imageUpload v-model="serveForm.cover"></imageUpload>
</el-form-item> </el-form-item>
<el-form-item label="高价" prop="highPrice"> <el-form-item label="高价" prop="highPrice">
<strong></strong> <strong></strong>
<el-input-number <el-input-number v-model="serveForm.highPrice" controls-position="right" :min="0"></el-input-number>
v-model="serveForm.highPrice"
controls-position="right"
:min="0"
></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="价格" prop="price"> <el-form-item label="价格" prop="price">
<strong></strong> <strong></strong>
<el-input-number <el-input-number v-model="serveForm.price" controls-position="right" :min="0"></el-input-number>
v-model="serveForm.price"
controls-position="right"
:min="0"
></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="平台分成" prop="fenmo"> <el-form-item label="平台分成" prop="fenmo">
<strong>%</strong> <strong>%</strong>
<el-input-number <el-input-number v-model="serveForm.fenmo" controls-position="right" :min="0"></el-input-number>
v-model="serveForm.fenmo"
controls-position="right"
:min="0"
></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="服务时长" prop="duration"> <el-form-item label="服务时长" prop="duration">
<el-input-number <el-input-number v-model="serveForm.duration" :min="0"></el-input-number>
v-model="serveForm.duration"
:min="0"
></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="超时付费" prop="overtime"> <el-form-item label="超时付费" prop="overtime">
<!-- <el-input v-model="serveForm.overtime" placeholder="请输入"> <!-- <el-input v-model="serveForm.overtime" placeholder="请输入">
<template slot="prepend"> ¥ </template> <template slot="prepend"> ¥ </template>
</el-input> --> </el-input> -->
<strong></strong> <strong></strong>
<el-input-number <el-input-number v-model="serveForm.overtime" controls-position="right" :min="0"></el-input-number>
v-model="serveForm.overtime"
controls-position="right"
:min="0"
></el-input-number>
<div>每30分钟。未满30分钟按30分钟算</div> <div>每30分钟。未满30分钟按30分钟算</div>
</el-form-item> </el-form-item>
<el-form-item label="服务时段" prop="date"> <el-form-item label="服务时段" prop="date">
<el-time-picker <el-time-picker is-range arrow-control v-model="serveForm.date" range-separator="至" start-placeholder="开始时间"
is-range end-placeholder="结束时间" value-format="HH:mm:ss" placeholder="选择时间范围">
arrow-control
v-model="serveForm.date"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="HH:mm:ss"
placeholder="选择时间范围"
>
</el-time-picker> </el-time-picker>
</el-form-item> </el-form-item>
<el-form-item label="介绍" prop="info"> <el-form-item label="介绍" prop="info">
...@@ -339,12 +191,7 @@ ...@@ -339,12 +191,7 @@
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button :loading="buttonLoading" type="primary" @click="submitServeForm">确 定</el-button>
:loading="buttonLoading"
type="primary"
@click="submitServeForm"
>确 定</el-button
>
<el-button @click="cancelServeForm">取 消</el-button> <el-button @click="cancelServeForm">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -362,7 +209,7 @@ import { ...@@ -362,7 +209,7 @@ import {
addServe, addServe,
updateServe, updateServe,
} from "@/api/operation/business"; } from "@/api/operation/business";
import { listHospital } from "@/api/hispotalManage/hospital"; import { listHospital, cityVoListGET } from "@/api/hispotalManage/hospital";
export default { export default {
name: "Business", name: "Business",
...@@ -380,8 +227,11 @@ export default { ...@@ -380,8 +227,11 @@ export default {
multiple: true, multiple: true,
// 显示搜索条件 // 显示搜索条件
showSearch: true, showSearch: true,
service: true,
cityVoList: [],
// 总条数 // 总条数
total: 0, total: 0,
bid: '',
// 业务表格数据 // 业务表格数据
businessList: [], businessList: [],
// 弹出层标题 // 弹出层标题
...@@ -403,6 +253,7 @@ export default { ...@@ -403,6 +253,7 @@ export default {
serveForm: {}, serveForm: {},
serveRules: { serveRules: {
name: [{ required: true, message: "请输入服务名称", trigger: "blur" }], name: [{ required: true, message: "请输入服务名称", trigger: "blur" }],
cityId: [{ required: true, message: "请选择城市", trigger: "change" }],
highPrice: [ highPrice: [
{ {
required: true, required: true,
...@@ -423,6 +274,7 @@ export default { ...@@ -423,6 +274,7 @@ export default {
}, },
created() { created() {
this.getList(); this.getList();
this.cityVoListAxios();
}, },
methods: { methods: {
hospitalsListAxios() { hospitalsListAxios() {
...@@ -475,7 +327,7 @@ export default { ...@@ -475,7 +327,7 @@ export default {
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
info: undefined, info: undefined,
date: [], date: ["", ""],
}; };
this.resetForm("serveForm"); this.resetForm("serveForm");
}, },
...@@ -484,6 +336,13 @@ export default { ...@@ -484,6 +336,13 @@ export default {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
},
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm("queryForm");
...@@ -514,8 +373,15 @@ export default { ...@@ -514,8 +373,15 @@ export default {
this.title = "修改业务"; this.title = "修改业务";
}); });
}, },
handlenew(row) {
this.service = false
this.openServe = true;
this.bid = row.id
this.resetServe();
},
// 修改服务 // 修改服务
handleUpdateServe(row) { handleUpdateServe(row) {
this.service = true
this.openServe = true; this.openServe = true;
this.resetServe(); this.resetServe();
const id = row.id; const id = row.id;
...@@ -565,25 +431,48 @@ export default { ...@@ -565,25 +431,48 @@ export default {
this.$refs["serveForm"].validate((valid) => { this.$refs["serveForm"].validate((valid) => {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
updateServe({ if (this.service == true) {
...this.serveForm, updateServe({
startTime: ...this.serveForm,
this.serveForm.date && this.serveForm.date.length startTime:
? this.serveForm.date[0] this.serveForm.date && this.serveForm.date.length
: "", ? this.serveForm.date[0]
endTime: : "",
this.serveForm.date && this.serveForm.date.length endTime:
? this.serveForm.date[1] this.serveForm.date && this.serveForm.date.length
: "", ? this.serveForm.date[1]
}) : "",
.then((response) => { })
this.$modal.msgSuccess("修改成功"); .then((response) => {
this.openServe = false; this.$modal.msgSuccess("修改成功");
this.getList(); this.openServe = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
} else {
addServe({
...this.serveForm,
startTime:
this.serveForm.date && this.serveForm.date.length
? this.serveForm.date[0]
: "",
endTime:
this.serveForm.date && this.serveForm.date.length
? this.serveForm.date[1]
: "",
bid: this.bid
}) })
.finally(() => { .then((response) => {
this.buttonLoading = false; this.$modal.msgSuccess("新增成功");
}); this.openServe = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
}
} }
}); });
}, },
...@@ -601,7 +490,7 @@ export default { ...@@ -601,7 +490,7 @@ export default {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}) })
.catch(() => {}) .catch(() => { })
.finally(() => { .finally(() => {
this.loading = false; this.loading = false;
}); });
......
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