Commit 70ffe74c by zhangmengjie

业务增加新增按钮

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