Merge remote-tracking branch 'origin/dev'

This commit is contained in:
纪寒 2023-05-29 15:41:24 +08:00
commit 913267ac48
9 changed files with 698 additions and 392 deletions

View File

@ -77,3 +77,11 @@ export function updateRemoteSigns(id, remoteSigns) {
method: 'POST' method: 'POST'
}) })
} }
//同步百度地图
export function getAreaList(keyword, areaLevel, parentCode, parentId) {
return request({
url: `/system/area/getAreaList?keyword=${keyword}&areaLevel=${areaLevel}&parentCode=${parentCode}&parentId=${parentId}`,
method: 'get'
})
}

View File

@ -19,7 +19,7 @@ export function Detailed(id) {
export function appointmentOrderDetails(id) { export function appointmentOrderDetails(id) {
return request({ return request({
url: `/system/appointmentOrderDetails/Detailed` + `?orderNo=${id}`, url: `/system/appointmentOrderDetails/detailed` + `?orderNo=${id}`,
method: 'get', method: 'get',
}) })
@ -77,3 +77,21 @@ export function getPersonInfo(nurseStationPersonId) {
method: 'get' method: 'get'
}) })
} }
//xiugai
export function edit(data) {
return request({
url: `/system/appointmentOrderDetails/updateAppointmentOrderInfo`,
method: "post",
data
})
}
//确认完成
export function updateCompanionStatus(orderStatus, orderNo) {
return request({
url: `/system/appointmentOrder/updateCompanionStatus?orderStatus=${orderStatus}&orderNo=${orderNo}`,
method: "post"
})
}

View File

@ -111,3 +111,11 @@ export function updatePicture(data) {
data: data data: data
}) })
} }
//生成二维码
export function nurseStationFriends(nurseStationId) {
return request({
url: `/system/station/nurseStationCode?nurseStationId=${nurseStationId}`,
method: 'post'
})
}

View File

@ -49,16 +49,14 @@
/> />
</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="resethandleQuery">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
icon="el-icon-search" </el-form-item>
size="mini" <el-form-item style="float: right;" v-if="getbaidulist.areaName">
@click="resethandleQuery" <el-button icon="el-icon-loading" size="mini" @click="getbaiduArea" type="info">
>搜索</el-button 点击同步百度地图区域信息
> <span>({{getbaidulist.areaName=='区域列表'?'全国':getbaidulist.areaName}})</span>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" </el-button>
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- <el-row :gutter="10" class="mb8"> <!-- <el-row :gutter="10" class="mb8">
@ -112,12 +110,8 @@
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
@queryTable="getList" @queryTable="getList"
></right-toolbar> ></right-toolbar>
</el-row> --> </el-row>-->
<el-table <el-table v-loading="loading" :data="areaList" @selection-change="handleSelectionChange">
v-loading="loading"
:data="areaList"
@selection-change="handleSelectionChange"
>
<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="parentId" /> --> <!-- <el-table-column label="父级id" align="center" prop="parentId" /> -->
<el-table-column label="区域名称" align="center" prop="areaName" /> <el-table-column label="区域名称" align="center" prop="areaName" />
@ -129,17 +123,11 @@
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949"
@change="updateRemoteSigns(scope.row)" @change="updateRemoteSigns(scope.row)"
> ></el-switch>
</el-switch>
<!-- {{ scope.row.remoteSigns == 0 ? "否" : "是" }} --> <!-- {{ scope.row.remoteSigns == 0 ? "否" : "是" }} -->
</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" size="mini"
@ -147,16 +135,14 @@
icon="el-icon-circle-plus-outline" icon="el-icon-circle-plus-outline"
@click="handleadd(scope.row)" @click="handleadd(scope.row)"
v-hasPermi="['system:area:add']" v-hasPermi="['system:area:add']"
>新增</el-button >新增</el-button>
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:area:edit']" v-hasPermi="['system:area:edit']"
>修改</el-button >修改</el-button>
>
<!-- <el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
@ -164,7 +150,7 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:area:remove']" v-hasPermi="['system:area:remove']"
>删除</el-button >删除</el-button
> --> >-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -177,33 +163,14 @@
/> />
</el-col> </el-col>
</el-row> </el-row>
<!-- 添加或修改区域对话框 --> <!-- 添加或修改区域对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="130px"> <el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item <el-form-item label="父级区域名称" prop="parentName" :required="true" v-if="form.parentName">
label="父级区域名称" <el-input v-model="form.parentName" placeholder="请输入父级区域名称" disabled />
prop="parentName"
:required="true"
v-if="form.parentName"
>
<el-input
v-model="form.parentName"
placeholder="请输入父级区域名称"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="父级区域编码" prop="parentCode" :required="true" v-if="form.parentCode">
label="父级区域编码" <el-input v-model="form.parentCode" placeholder="请输入父级区域编码" disabled />
prop="parentCode"
:required="true"
v-if="form.parentCode"
>
<el-input
v-model="form.parentCode"
placeholder="请输入父级区域编码"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item label="区域名称" prop="areaName"> <el-form-item label="区域名称" prop="areaName">
<el-input v-model="form.areaName" placeholder="请输入区域名称" /> <el-input v-model="form.areaName" placeholder="请输入区域名称" />
@ -213,12 +180,12 @@
</el-form-item> </el-form-item>
<!-- <el-form-item label="区域级别" prop="areaLevel"> <!-- <el-form-item label="区域级别" prop="areaLevel">
<el-input v-model="form.areaLevel" placeholder="请输入区域级别" /> <el-input v-model="form.areaLevel" placeholder="请输入区域级别" />
</el-form-item> --> </el-form-item>-->
<el-form-item label="偏远地区" prop="remoteSigns"> <el-form-item label="偏远地区" prop="remoteSigns">
<el-radio v-model="form.remoteSigns" label="0"></el-radio> <el-radio v-model="form.remoteSigns" label="0"></el-radio>
<el-radio v-model="form.remoteSigns" label="1"></el-radio> <el-radio v-model="form.remoteSigns" label="1"></el-radio>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop=""> <el-form-item label="排序" prop>
<el-input <el-input
v-model.number="form.sort" v-model.number="form.sort"
placeholder="请输入排序(只能输入数字)" placeholder="请输入排序(只能输入数字)"
@ -245,6 +212,7 @@ import {
selectAreaListinfo, selectAreaListinfo,
selectAreaListquery, selectAreaListquery,
updateRemoteSigns, updateRemoteSigns,
getAreaList
} from "@/api/system/area"; } from "@/api/system/area";
export default { export default {
@ -255,7 +223,7 @@ export default {
deptOptions: undefined, deptOptions: undefined,
defaultProps: { defaultProps: {
children: "children", children: "children",
label: "areaName", label: "areaName"
}, },
areaName: "", areaName: "",
// //
@ -287,27 +255,28 @@ export default {
sort: null, sort: null,
areaType: null, areaType: null,
parentCode: null, parentCode: null,
remoteSigns: null, remoteSigns: null
}, },
// //
form: { form: {
remoteSigns: "0", remoteSigns: "0"
}, },
// //
rules: { rules: {
areaCode: [ areaCode: [
{ required: true, message: "请输入区域编码", trigger: "blur" }, { required: true, message: "请输入区域编码", trigger: "blur" }
], ],
areaName: [ areaName: [
{ required: true, message: "请输入区域名称", trigger: "blur" }, { required: true, message: "请输入区域名称", trigger: "blur" }
], ],
areaLevel: [ areaLevel: [
{ required: true, message: "请输入区域级别", trigger: "blur" }, { required: true, message: "请输入区域级别", trigger: "blur" }
], ],
remoteSigns: [ remoteSigns: [
{ required: true, message: "请选择是否是偏远地区", trigger: "blur" }, { required: true, message: "请选择是否是偏远地区", trigger: "blur" }
], ]
}, },
getbaidulist: {}
}; };
}, },
created() { created() {
@ -321,7 +290,7 @@ export default {
this.areaName = ""; this.areaName = "";
return; return;
} else { } else {
selectAreaListquery(val).then((res) => { selectAreaListquery(val).then(res => {
this.deptOptions = res.data; this.deptOptions = res.data;
}); });
} }
@ -331,16 +300,34 @@ export default {
this.selectAreaListin(); this.selectAreaListin();
} }
} }
}, }
}, },
methods: { methods: {
//
getbaiduArea() {
if (this.getbaidulist.areaName == "区域列表") {
getAreaList("", 1, "", "").then(res => {
this.handleNodeClick(this.getbaidulist);
this.selectAreaListin();
});
} else {
getAreaList(
this.getbaidulist.areaName,
"",
this.getbaidulist.areaCode,
this.getbaidulist.id
).then(res => {
this.handleNodeClick(this.getbaidulist);
});
}
},
// //
updateRemoteSigns(row) { updateRemoteSigns(row) {
if (row.remoteSigns) { if (row.remoteSigns) {
this.$confirm('确定修改"' + row.areaName + '"为偏远地区吗?', { this.$confirm('确定修改"' + row.areaName + '"为偏远地区吗?', {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning"
}) })
.then(() => { .then(() => {
var remoteSigns = null; var remoteSigns = null;
@ -349,11 +336,11 @@ export default {
} else { } else {
remoteSigns = 0; remoteSigns = 0;
} }
updateRemoteSigns(row.id, remoteSigns).then((res) => { updateRemoteSigns(row.id, remoteSigns).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "修改为偏远地区!", message: "修改为偏远地区!"
}); });
} }
}); });
@ -362,14 +349,14 @@ export default {
row.remoteSigns = false; row.remoteSigns = false;
this.$message({ this.$message({
type: "info", type: "info",
message: "取消修改", message: "取消修改"
}); });
}); });
} else { } else {
this.$confirm('确定修改"' + row.areaName + '"为非偏远地区吗吗?', { this.$confirm('确定修改"' + row.areaName + '"为非偏远地区吗吗?', {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning"
}) })
.then(() => { .then(() => {
var remoteSigns = null; var remoteSigns = null;
@ -378,11 +365,11 @@ export default {
} else { } else {
remoteSigns = 0; remoteSigns = 0;
} }
updateRemoteSigns(row.id, remoteSigns).then((res) => { updateRemoteSigns(row.id, remoteSigns).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "修改为非偏远地区!", message: "修改为非偏远地区!"
}); });
} }
}); });
@ -391,25 +378,26 @@ export default {
row.remoteSigns = true; row.remoteSigns = true;
this.$message({ this.$message({
type: "info", type: "info",
message: "取消修改", message: "取消修改"
}); });
}); });
} }
}, },
// //
handleNodeClick(data) { handleNodeClick(data) {
this.getbaidulist = data;
this.queryParams.areaLevel = null; this.queryParams.areaLevel = null;
this.loading = true; this.loading = true;
this.queryParams.parentCode = data.areaCode; this.queryParams.parentCode = data.areaCode;
if (data.areaCode != 1) { if (data.areaCode != 1) {
this.handleQuery(); this.handleQuery();
selectAreaList("", data.areaCode).then((res) => { selectAreaList("", data.areaCode).then(res => {
if (res.data.length > 0) { if (res.data.length > 0) {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
} else { } else {
@ -422,13 +410,13 @@ export default {
this.queryParams.parentCode = null; this.queryParams.parentCode = null;
this.queryParams.areaLevel = 1; this.queryParams.areaLevel = 1;
this.handleQuery(); this.handleQuery();
selectAreaListinfo(1).then((res) => { selectAreaListinfo(1).then(res => {
if (res.data.length > 0) { if (res.data.length > 0) {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
} else { } else {
@ -441,20 +429,20 @@ export default {
}, },
selectAreaListin() { selectAreaListin() {
this.loading = true; this.loading = true;
selectAreaListinfo(1).then((res) => { selectAreaListinfo(1).then(res => {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
var obj = [ var obj = [
{ {
areaName: "区域列表", areaName: "区域列表",
children: res.data, children: res.data,
areaCode: 1, areaCode: 1
}, }
]; ];
this.deptOptions = obj; this.deptOptions = obj;
this.loading = false; this.loading = false;
@ -462,11 +450,11 @@ export default {
}, },
info() { info() {
this.loading = true; this.loading = true;
selectAreaList(this.areaName).then((res) => { selectAreaList(this.areaName).then(res => {
this.loading = false; this.loading = false;
var obj = { var obj = {
areaName: "区域列表", areaName: "区域列表",
children: res.data, children: res.data
}; };
this.deptOptions = obj; this.deptOptions = obj;
}); });
@ -474,8 +462,8 @@ export default {
/** 查询区域列表 */ /** 查询区域列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listArea(this.queryParams).then((response) => { listArea(this.queryParams).then(response => {
response.rows.forEach((e) => { response.rows.forEach(e => {
if (e.remoteSigns == 1) { if (e.remoteSigns == 1) {
e.remoteSigns = true; e.remoteSigns = true;
} else { } else {
@ -508,7 +496,7 @@ export default {
updateTime: null, updateTime: null,
areaType: null, areaType: null,
parentCode: null, parentCode: null,
remoteSigns: "0", remoteSigns: "0"
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -529,11 +517,16 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams.parentCode = null; this.queryParams.parentCode = null;
this.queryParams.areaLevel = 1; this.queryParams.areaLevel = 1;
this.getbaidulist = {
areaName: "区域列表",
areaLevel: 1,
areaCode: 1
};
this.handleQuery(); this.handleQuery();
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id); this.ids = selection.map(item => item.id);
this.single = selection.length !== 1; this.single = selection.length !== 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -551,7 +544,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getArea(id).then((response) => { getArea(id).then(response => {
response.data.remoteSigns = String(response.data.remoteSigns); response.data.remoteSigns = String(response.data.remoteSigns);
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
@ -560,10 +553,10 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateArea(this.form).then((response) => { updateArea(this.form).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
@ -571,7 +564,7 @@ export default {
} }
}); });
} else { } else {
addArea(this.form).then((response) => { addArea(this.form).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
@ -589,7 +582,7 @@ export default {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal this.$modal
.confirm('是否确认删除区域名称为"' + row.areaName + '"的数据项吗?') .confirm('是否确认删除区域名称为"' + row.areaName + '"的数据项吗?')
.then(function () { .then(function() {
return delArea(ids); return delArea(ids);
}) })
.then(() => { .then(() => {
@ -603,11 +596,11 @@ export default {
this.download( this.download(
"system/area/export", "system/area/export",
{ {
...this.queryParams, ...this.queryParams
}, },
`area_${new Date().getTime()}.xlsx` `area_${new Date().getTime()}.xlsx`
); );
}, }
}, }
}; };
</script> </script>

View File

@ -51,18 +51,25 @@
<el-table v-loading="loading" :data="goodsOrderList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="goodsOrderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" /> <el-table-column type="selection" align="center" />
<el-table-column label="所属护理站" align="center" prop="nurseStationName" /> <el-table-column label="所属护理站" align="center" prop="nurseStationName" />
<el-table-column label="订单编号" align="center" prop="orderNo" width="190" /> <el-table-column label="订单编号" align="center" prop="orderNo" />
<el-table-column label="商品名称" align="center" prop="goodsName" /> <el-table-column label="商品名称" align="center" prop="goodsName" />
<el-table-column label="订单总金额" align="center" prop="totalPrice" /> <el-table-column label="订单总金额" align="center" prop="totalPrice" />
<el-table-column label="订单状态" align="center" width="95" prop="orderStatus"> <el-table-column label="订单状态" align="center" prop="orderStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ orderStatus(scope.row.orderStatus) }} --> <!-- {{ orderStatus(scope.row.orderStatus) }} -->
<el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button> <el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">待发货</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">待发货</el-button>
<el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button> <el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_RECEIVED_GOODS'">待收货</el-button> <el-button
type="primary"
v-if="scope.row.orderStatus == 'WAIT_RECEIVED_GOODS'&&scope.row.orderType !='HEALTH_CONSULTATION'"
>待收货</el-button>
<el-button
type="primary"
v-if="scope.row.orderStatus == 'WAIT_RECEIVED_GOODS'&&scope.row.orderType =='HEALTH_CONSULTATION'"
>待咨询</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'RECEIVED_GOODS'">待评价</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'RECEIVED_GOODS'">待评价</el-button>
<el-button type="success" v-if="scope.row.orderStatus == 'EVALUATED'">交易完成</el-button> <el-button type="success" v-if="scope.row.orderStatus == 'EVALUATED'">完成</el-button>
<el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_REFUND'">退款中</el-button> <el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_REFUND'">退款中</el-button>
<el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_RETURNED_GOODS'">待退货</el-button> <el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_RETURNED_GOODS'">待退货</el-button>
<el-button type="danger" v-if="scope.row.orderStatus == 'REFUNDED'">已退款</el-button> <el-button type="danger" v-if="scope.row.orderStatus == 'REFUNDED'">已退款</el-button>
@ -76,8 +83,8 @@
{{ scope.row.orderType == "HEALTH_CONSULTATION" ? "健康咨询" : "" }} {{ scope.row.orderType == "HEALTH_CONSULTATION" ? "健康咨询" : "" }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="下单时间" align="center" prop="orderTime" width="180" /> <el-table-column label="下单时间" align="center" prop="orderTime" />
<el-table-column label="联系电话" align="center" prop="phone" width="180" /> <el-table-column label="联系电话" align="center" prop="phone" />
<el-table-column label="下单方式" align="center" prop="orderChannel"> <el-table-column label="下单方式" align="center" prop="orderChannel">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.orderChannel == "MOBILE_APP" ? "手机APP" : "" }} {{ scope.row.orderChannel == "MOBILE_APP" ? "手机APP" : "" }}
@ -91,7 +98,7 @@
<el-button <el-button
v-if=" v-if="
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' && scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
scope.row.expressNo scope.row.expressNo&&scope.row.orderType !='HEALTH_CONSULTATION'
" "
size="mini" size="mini"
type="text" type="text"
@ -102,7 +109,7 @@
<el-button <el-button
v-if=" v-if="
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' && scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
scope.row.expressNo == '' scope.row.expressNo == ''&&scope.row.orderType !='HEALTH_CONSULTATION'
" "
size="mini" size="mini"
type="text" type="text"
@ -113,7 +120,7 @@
<el-button <el-button
v-if=" v-if="
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' && scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
scope.row.expressNo == null scope.row.expressNo == null&&scope.row.orderType !='HEALTH_CONSULTATION'
" "
size="mini" size="mini"
type="text" type="text"
@ -270,9 +277,7 @@
v-model="orderList.compositeScore" v-model="orderList.compositeScore"
style="padding-top: 7px" style="padding-top: 7px"
disabled disabled
show-score
text-color="#ff9900" text-color="#ff9900"
score-template="{value}"
></el-rate> ></el-rate>
<el-input v-else type="text" disabled style="width: 240px" placeholder="未评分"></el-input> <el-input v-else type="text" disabled style="width: 240px" placeholder="未评分"></el-input>
</div> </div>
@ -297,7 +302,6 @@
style="width: 23%; height: 100%; margin: 1%" style="width: 23%; height: 100%; margin: 1%"
v-for="(item, index) in ratelist" v-for="(item, index) in ratelist"
:src="baseurl + item.evaluatePictureUrl" :src="baseurl + item.evaluatePictureUrl"
alt
:key="index" :key="index"
/> />
</div> </div>

View File

@ -24,7 +24,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="订单状态" prop="orderStatus"> <el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态"> <el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
<el-option <el-option
v-for="item in orderStatuslist" v-for="item in orderStatuslist"
:key="item.value" :key="item.value"
@ -33,6 +33,16 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="orderStatus">
<el-select v-model="queryParams.orderType" placeholder="请选择订单状态" clearable>
<el-option
v-for="item in ordertypelist"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员名称" prop="patientName"> <el-form-item label="会员名称" prop="patientName">
<el-input <el-input
v-model="queryParams.patientName" v-model="queryParams.patientName"
@ -60,7 +70,14 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button> <el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">已付款</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">已付款</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_DISPATCH'">待派单</el-button> <el-button
type="success"
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'&&scope.row.orderType=='COMPANION_IN_HOSPITAL'"
>已支付</el-button>
<el-button
type="primary"
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'&&scope.row.orderType!='COMPANION_IN_HOSPITAL'"
>待派单</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_RECEIVE'">待接单</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_RECEIVE'">待接单</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'NOT_FINISH'">未完成</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'NOT_FINISH'">未完成</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'COMPLETE'">待评价</el-button> <el-button type="primary" v-if="scope.row.orderStatus == 'COMPLETE'">待评价</el-button>
@ -70,16 +87,40 @@
<el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button> <el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="订单类型" align="center" prop="orderType">
<template slot-scope="scope">{{scope.row.orderType=='COMPANION_IN_HOSPITAL'?'陪诊陪护':'其它' }}</template>
</el-table-column>
<el-table-column label="会员名称" align="center" prop="patientName" /> <el-table-column label="会员名称" align="center" prop="patientName" />
<el-table-column label="护理员名称" align="center" prop="nursePersonName" /> <el-table-column label="护理员名称" align="center" prop="nursePersonName" />
<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"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="scope.row.orderType=='COMPANION_IN_HOSPITAL'&&scope.row.orderStatus == 'WAIT_DISPATCH'"
@click="seelookedit(scope.row,false)"
>编辑</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="scope.row.orderType=='COMPANION_IN_HOSPITAL'&&scope.row.orderStatus == 'WAIT_DISPATCH'"
@click="Confirmcompletion(scope.row)"
>确认完成</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
v-if="scope.row.orderType=='COMPANION_IN_HOSPITAL'&&scope.row.orderStatus != 'WAIT_DISPATCH'"
@click="seelookedit(scope.row,true)"
>查看</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-zoom-in" icon="el-icon-zoom-in"
@click="seeLook(scope.row)" @click="seeLook(scope.row)"
v-hasPermi="['system:appointmentOrder:query']" v-if="scope.row.orderType!='COMPANION_IN_HOSPITAL'"
>查看</el-button> >查看</el-button>
<el-button <el-button
size="mini" size="mini"
@ -87,7 +128,7 @@
icon="el-icon-s-promotion" icon="el-icon-s-promotion"
@click="dispatch(scope.row)" @click="dispatch(scope.row)"
v-hasPermi="['system:appointmentOrder:dispatch']" v-hasPermi="['system:appointmentOrder:dispatch']"
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'" v-if="scope.row.orderStatus == 'WAIT_DISPATCH'&&scope.row.orderType!='COMPANION_IN_HOSPITAL'"
>派单</el-button> >派单</el-button>
<el-button <el-button
size="mini" size="mini"
@ -149,7 +190,15 @@
<div class="text">{{query.itemServeDurationUnit}}</div> <div class="text">{{query.itemServeDurationUnit}}</div>
</el-form-item> </el-form-item>
<el-form-item label="评价星级" prop="compositeScore" v-if="query.orderStatus =='EVALUATED'"> <el-form-item label="评价星级" prop="compositeScore" v-if="query.orderStatus =='EVALUATED'">
<div class="text">{{query.compositeScore}}</div> <div class="text" style="border:none">
<el-rate
v-if="query.compositeScore"
v-model="query.compositeScore"
style="padding-top: 7px"
disabled
text-color="#ff9900"
></el-rate>
</div>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="评价满意度" label="评价满意度"
@ -166,14 +215,12 @@
</el-form-item> </el-form-item>
<el-form-item label="健康状况" prop="diseaseName"> <el-form-item label="健康状况" prop="diseaseName">
<div <div
class="text" class="textr"
style="height:100px;line-height:26px;overflow: scroll"
>{{query.diseaseName}}</div> >{{query.diseaseName}}</div>
</el-form-item> </el-form-item>
<el-form-item label="服务地址" prop="serviceAddress"> <el-form-item label="服务地址" prop="serviceAddress">
<div <div
class="text" class="textr"
style="height:100px;line-height:26px;overflow: scroll"
>{{query.serviceAddress}}</div> >{{query.serviceAddress}}</div>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -428,6 +475,141 @@
@pagination="info" @pagination="info"
/> />
</el-dialog> </el-dialog>
<!-- 编辑 -->
<el-dialog title="院内陪护订单信息" :visible.sync="editinnerVisible" append-to-body width="1280px">
<el-form :inline="true" ref="form" :model="query" :rules="rules" label-width="130px">
<el-form-item label="订单填写人姓名" prop="orderWriteName">
<input
v-if="!lookedit"
class="text"
type="text"
v-model="query.orderWriteName"
placeholder="请输入姓名"
maxlength="5"
/>
<div class="text" v-else>{{query.orderWriteName}}</div>
</el-form-item>
<el-form-item label="姓名" prop="caregiverName">
<input
class="text"
v-if="!lookedit"
type="text"
v-model="query.caregiverName"
placeholder="请输入姓名"
maxlength="5"
/>
<div class="text" v-else>{{query.caregiverName}}</div>
</el-form-item>
<el-form-item label="电话" prop="caregiverPhone">
<input
v-if="!lookedit"
class="text"
type="text"
v-model="query.caregiverPhone"
placeholder="请输入电话"
maxlength="11"
/>
<div class="text" v-else>{{query.caregiverPhone}}</div>
</el-form-item>
<el-form-item label="医院名称" prop="hospitalName">
<input
v-if="!lookedit"
class="text"
type="text"
v-model="query.hospitalName"
placeholder="请输入医院名称"
maxlength="20"
/>
<div class="text" v-else>{{query.hospitalName}}</div>
</el-form-item>
<el-form-item label="科室名称" prop="departmentName">
<input
v-if="!lookedit"
class="text"
type="text"
v-model="query.departmentName"
placeholder="请输入科室名称"
maxlength="20"
/>
<div class="text" v-else>{{query.departmentName}}</div>
</el-form-item>
<el-form-item label="病床号" prop="hospitalBedNumber">
<input
v-if="!lookedit"
class="text"
type="text"
v-model="query.hospitalBedNumber"
placeholder="请输入病床号"
maxlength="20"
/>
<div class="text" v-else>{{query.hospitalBedNumber}}</div>
</el-form-item>
<el-form-item label="时间" prop="time">
<el-date-picker
v-if="!lookedit"
v-model="timevalue"
type="daterange"
:picker-options="setDateRange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
@change="timechange"
></el-date-picker>
<div
v-else
class="text"
>{{query.companionStartDate}} {{query.companionEndDate?'至':'' }} {{ query.companionEndDate }}</div>
</el-form-item>
<div class="text" style="border:none;display: inline-block;"></div>
<div class="text" style="border:none;display: inline-block;"></div>
<el-form-item label="护理站名称" prop="nurseStationName">
<div class="text">{{query.nurseStationName}}</div>
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
<div class="text">{{query.nurseItemName}}</div>
</el-form-item>
<el-form-item label="订单编号" prop="orderNo">
<div class="text">{{query.orderNo}}</div>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<div class="text">{{switchOrderStatus2(query.orderStatus)}}</div>
</el-form-item>
<el-form-item label="订单总金额" prop="totalPrice">
<div class="text">{{query.totalPrice}}</div>
</el-form-item>
<el-form-item label="数量" prop="companionDays">
<div class="text">{{query.companionDays}}</div>
</el-form-item>
<!-- <el-form-item label="护理员名称" prop="nursePersonName">
<div class="text">{{query.nursePersonName}}</div>
</el-form-item>-->
<el-form-item label="护理项目时长" prop="itemServeDurationUnit">
<div class="text">{{query.itemServeDurationUnit}}</div>
</el-form-item>
<el-form-item
label="评价满意度"
prop="evaluateSatisfaction"
v-if="query.orderStatus == 'EVALUATED'"
>
<div class="text">{{query.evaluateSatisfaction}}</div>
</el-form-item>
<el-form-item label="评价星级" prop="compositeScore" v-if="query.orderStatus =='EVALUATED'">
<el-rate
v-if="query.compositeScore"
v-model="query.compositeScore"
style="padding-top: 7px"
disabled
text-color="#ff9900"
></el-rate>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="margin-right: 50px">
<el-button @click="editinnerVisible = false" v-if="!lookedit"> </el-button>
<el-button type="primary" @click="editsubmitForm" v-if="!lookedit"> </el-button>
<el-button type="primary" @click="editinnerVisible = false" v-if="lookedit"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -452,6 +634,9 @@ export default indexjs;
height: 600px; height: 600px;
} }
.text { .text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 250px; width: 250px;
height: 36px; height: 36px;
line-height: 36px; line-height: 36px;
@ -461,6 +646,18 @@ export default indexjs;
padding: 0 15px; padding: 0 15px;
border: 1px solid #e6ebf5; border: 1px solid #e6ebf5;
} }
.textr {
width: 250px;
padding-left: 15px;
font-size: 14px;
border-radius: 4px;
padding: 0 15px;
border: 1px solid #e6ebf5;
color: black;
height: 100px;
line-height: 26px;
overflow: scroll;
}
::v-deep .el-dialog { ::v-deep .el-dialog {
margin-top: 30px !important; margin-top: 30px !important;
} }

View File

@ -6,13 +6,22 @@ import {
dispatchsubmit, dispatchsubmit,
xylWeChatRefundNotify, xylWeChatRefundNotify,
appointmentOrderDetails, appointmentOrderDetails,
getPersonInfo getPersonInfo,
edit,
updateCompanionStatus
} from "@/api/system/order"; } from "@/api/system/order";
import { getListByUser } from "@/api/system/userlist.js"; import { getListByUser } from "@/api/system/userlist.js";
export default { export default {
name: "order", name: "order",
data() { data() {
return { return {
setDateRange: {
disabledDate: time => {
// 禁用今天之前的日期【当前天可选】
return time.getTime() < Date.now() - 24 * 60 * 60 * 1000;
}
},
timevalue: [],
map: null, map: null,
baseurl: process.env.VUE_APP_BASE_API, baseurl: process.env.VUE_APP_BASE_API,
orderStatuslist: [{ orderStatuslist: [{
@ -55,6 +64,7 @@ export default {
// 遮罩层 // 遮罩层
loading: true, loading: true,
innerVisible4: false, innerVisible4: false,
editinnerVisible: false,
innerrefund: false, innerrefund: false,
// 护理员姓名弹框 // 护理员姓名弹框
nursePersonNameinfo: false, nursePersonNameinfo: false,
@ -88,6 +98,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
lookedit: undefined,
queryParams: { queryParams: {
patientName: null, patientName: null,
orderNo: null, orderNo: null,
@ -96,6 +107,7 @@ export default {
orderStatus: "", orderStatus: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderType: null,
}, },
querynursePersonname: { querynursePersonname: {
orderNo: "", orderNo: "",
@ -110,13 +122,36 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {},
ordertypelist: [{
value: "COMPANION_IN_HOSPITAL",
label: "陪诊陪护",
},
{
value: "OTHER",
label: "其它",
},
],
}; };
}, },
created() { created() {
this.getList(); this.getList();
}, },
mounted() {}, mounted() { },
methods: { methods: {
//时间确定
timechange(e) {
this.query.companionStartDate = this.formatDate(new Date(e[0]).getTime());
this.query.companionEndDate = this.formatDate(new Date(e[1]).getTime());
},
//修改提交
editsubmitForm() {
edit(this.query).then(res => {
if (res.code == 200) {
this.$message.success("修改成功");
this.editinnerVisible = false;
}
});
},
init(query) { init(query) {
this.map = new AMap.Map("container", { this.map = new AMap.Map("container", {
resizeEnable: true, //设置地图可缩放 resizeEnable: true, //设置地图可缩放
@ -206,6 +241,104 @@ export default {
break; break;
} }
}, },
switchOrderStatus2(orderStatus) {
switch (orderStatus) {
case "WAIT_PAY":
return "待付款";
case "PAY":
return "已付款";
case "WAIT_DISPATCH":
return "已支付";
case "NOT_FINISH":
return "未完成";
case "WAIT_RECEIVE":
return "待接单"
case "COMPLETE":
return "待评价";
case "EVALUATED":
return "服务完成";
case "WAIT_REFUND":
return "退款中";
case "REFUNDED":
return "退款成功";
case "CANCEL":
return "已取消";
default:
break;
}
},
formatDate(time, timetype) {
let date = new Date(time); //13位时间戳
//let date = new Date(parseInt(time) * 1000); //10位时间戳
let y = date.getFullYear();
let MM = date.getMonth() + 1;
MM = MM < 10 ? "0" + MM : MM;
let d = date.getDate();
d = d < 10 ? "0" + d : d;
return y + "-" + MM + "-" + d;
},
//确认完成
Confirmcompletion(row) {
this.$confirm("确认完成此陪诊陪护订单?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
updateCompanionStatus(row.orderStatus, row.orderNo).then(res => {
this.$modal.msgSuccess("订单已完成");
this.getList()
})
})
.catch(() => { });
},
//编辑
seelookedit(row, boolean) {
this.lookedit = boolean
this.loading = true;
const id = row.orderNo;
this.map = null;
appointmentOrderDetails(id).then(res => {
this.timevalue = [
res.data.companionStartDate ? res.data.companionStartDate : "",
res.data.companionEndDate ? res.data.companionEndDate : ""
];
this.query = res.data;
res.data.disablingCondition == "DISABLED"
? (res.data.disablingCondition = "是")
: "";
res.data.disablingCondition == "NOT_DISABLED"
? (res.data.disablingCondition = "否")
: "";
if (row.orderStatus == "EVALUATED") {
if (res.data) {
if (res.data.evaluateSatisfaction == "COMMONLY") {
this.query.evaluateSatisfaction = "一般";
} else if (res.data.evaluateSatisfaction == "SATISFIED") {
this.query.evaluateSatisfaction = "满意";
} else if (res.data.evaluateSatisfaction == "DISSATISFIED") {
this.query.evaluateSatisfaction = "差";
} else if (res.data.evaluateSatisfaction == "VERYSATISFIED") {
this.query.evaluateSatisfaction = "非常满意";
} else if (res.data.evaluateSatisfaction == "VERYDISSATISFIED") {
this.query.evaluateSatisfaction = "非常差";
}
this.loading = false;
this.editinnerVisible = true;
} else {
this.loading = false;
this.editinnerVisible = true;
}
} else if (row.orderStatus == "COMPLETE") {
this.loading = false;
this.editinnerVisible = true;
} else {
this.loading = false;
this.editinnerVisible = true;
}
});
},
// 查看 // 查看
seeLook(row) { seeLook(row) {
this.loading = true this.loading = true
@ -218,16 +351,16 @@ export default {
res.data.disablingCondition == 'NOT_DISABLED' ? res.data.disablingCondition = '否' : '' res.data.disablingCondition == 'NOT_DISABLED' ? res.data.disablingCondition = '否' : ''
if (row.orderStatus == 'EVALUATED') { if (row.orderStatus == 'EVALUATED') {
if (res.data) { if (res.data) {
if (res.data.evaluateSatisfaction == 'COMMONLY') { if (res.data.evaluateSatisfaction == "COMMONLY") {
this.query.evaluateSatisfaction = '一般' this.query.evaluateSatisfaction = "一般";
} else if (res.data.evaluateSatisfaction == 'SATISFIED') { } else if (res.data.evaluateSatisfaction == "SATISFIED") {
this.query.evaluateSatisfaction = '满意' this.query.evaluateSatisfaction = "满意";
} else if (res.data.evaluateSatisfaction == 'DISSATISFIED') { } else if (res.data.evaluateSatisfaction == "DISSATISFIED") {
this.query.evaluateSatisfaction = '不满意' this.query.evaluateSatisfaction = "差";
} else if (res.data.evaluateSatisfaction == 'VERYSATISFIED') { } else if (res.data.evaluateSatisfaction == "VERYSATISFIED") {
this.query.evaluateSatisfaction = '非常满意' this.query.evaluateSatisfaction = "非常满意";
} else if (res.data.evaluateSatisfaction == 'VERYDISSATISFIED') { } else if (res.data.evaluateSatisfaction == "VERYDISSATISFIED") {
this.query.evaluateSatisfaction = '非常不满意' this.query.evaluateSatisfaction = "非常差";
} }
this.loading = false this.loading = false
this.innerVisible4 = true; this.innerVisible4 = true;
@ -388,7 +521,7 @@ export default {
this.getList(); this.getList();
}); });
}) })
.catch(() => {}); .catch(() => { });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {

View File

@ -25,16 +25,8 @@
/> />
</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>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
@ -46,8 +38,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['system:station:add']" v-hasPermi="['system:station:add']"
>新增</el-button >新增</el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -58,8 +49,7 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['system:station:edit']" v-hasPermi="['system:station:edit']"
>修改</el-button >修改</el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@ -70,27 +60,19 @@
size="mini" size="mini"
@click="handledata" @click="handledata"
v-hasPermi="['system:station:importStationInfo']" v-hasPermi="['system:station:importStationInfo']"
>导入</el-button >导入</el-button>
>
</el-col> </el-col>
<right-toolbar <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="nurseStationlist" :data="nurseStationlist"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
:element-loading-text="loadingtext"
> >
<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="护理站编号" align="center" prop="nurseStationCode" width="150" />
label="护理站编号"
align="center"
prop="nurseStationCode"
width="150"
/>
<el-table-column <el-table-column
label="护理站名称" label="护理站名称"
align="center" align="center"
@ -99,19 +81,16 @@
/> />
<el-table-column label="所属区域" align="center" prop="area"> <el-table-column label="所属区域" align="center" prop="area">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>
{{
scope.row.areaName !== "null-null-null-null" scope.row.areaName !== "null-null-null-null"
? scope.row.areaName ? scope.row.areaName
: "" : ""
}}</span> }}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="护理站地址" align="center" prop="address" :show-overflow-tooltip="true" />
label="护理站地址"
align="center"
prop="address"
:show-overflow-tooltip="true"
/>
<el-table-column label="护理站经度" align="center" prop="longitude" /> <el-table-column label="护理站经度" align="center" prop="longitude" />
<el-table-column label="护理站纬度" align="center" prop="latitude" /> <el-table-column label="护理站纬度" align="center" prop="latitude" />
<el-table-column label="联系电话" align="center" prop="phone" /> <el-table-column label="联系电话" align="center" prop="phone" />
@ -119,28 +98,28 @@
<el-table-column label="负责人电话" align="center" prop="dutyPhone" /> <el-table-column label="负责人电话" align="center" prop="dutyPhone" />
<el-table-column label="创建时间" align="center" prop="createTime" /> <el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" /> <el-table-column label="创建人" align="center" prop="createBy" />
<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
size="mini"
type="text"
icon="el-icon-loading"
@click="GenerateQRcode(scope.row)"
>生成二维码</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:station:edit']" v-hasPermi="['system:station:edit']"
>修改</el-button >修改</el-button>
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:station:remove']" v-hasPermi="['system:station:remove']"
>删除</el-button >删除</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -159,28 +138,16 @@
append-to-body append-to-body
:before-close="cancel" :before-close="cancel"
> >
<el-form <el-form :inline="true" ref="form" :model="form" :rules="rules" label-width="120px">
:inline="true"
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-form-item label="所属区域" prop="areaCode"> <el-form-item label="所属区域" prop="areaCode">
<el-select <el-select v-model="form.provinceName" clearable placeholder="请选择省" style="width: 129px">
v-model="form.provinceName"
clearable
placeholder="请选择省"
style="width: 129px"
>
<el-option <el-option
v-for="item in provincelist" v-for="item in provincelist"
:key="item.areaCode" :key="item.areaCode"
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="province(item)" @click.native="province(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.cityName" v-model="form.cityName"
@ -194,8 +161,7 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickcity(item)" @click.native="clickcity(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.regionName" v-model="form.regionName"
@ -209,8 +175,7 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickarea(item)" @click.native="clickarea(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
<el-select <el-select
v-model="form.streetCode" v-model="form.streetCode"
@ -224,23 +189,14 @@
:label="item.areaName" :label="item.areaName"
:value="item.areaCode" :value="item.areaCode"
@click.native="clickstreet(item)" @click.native="clickstreet(item)"
> ></el-option>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName"> <el-form-item label="护理站名称" prop="nurseStationName">
<el-input <el-input v-model="form.nurseStationName" placeholder="请输入护理站名称" maxlength="40" />
v-model="form.nurseStationName"
placeholder="请输入护理站名称"
maxlength="40"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理站地址" prop="address"> <el-form-item label="护理站地址" prop="address">
<el-input <el-input v-model="form.address" placeholder="请输入护理站地址" maxlength="80" />
v-model="form.address"
placeholder="请输入护理站地址"
maxlength="80"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理站经度" prop="longitude"> <el-form-item label="护理站经度" prop="longitude">
<el-input <el-input
@ -259,17 +215,13 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="phone"> <el-form-item label="联系电话" prop="phone">
<el-input <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
v-model="form.phone"
placeholder="请输入联系电话"
maxlength="11"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理机构分类" prop="classifyNameList"> <el-form-item label="护理机构分类" prop="classifyNameList">
<template> <template>
<el-button <el-button
@click="clickinnerVisible()" @click="clickinnerVisible()"
type="" type
style=" style="
width: 208px; width: 208px;
text-align: left; text-align: left;
@ -281,11 +233,10 @@
margin-top: -10px; margin-top: -10px;
" "
v-if="form.classifyNameList == '请选择护理站所属机构分类'" v-if="form.classifyNameList == '请选择护理站所属机构分类'"
>{{ form.classifyNameList }}</el-button >{{ form.classifyNameList }}</el-button>
>
<el-button <el-button
@click="clickinnerVisible()" @click="clickinnerVisible()"
type="" type
style=" style="
width: 208px; width: 208px;
text-align: left; text-align: left;
@ -296,30 +247,21 @@
margin-top: -10px; margin-top: -10px;
" "
v-else v-else
>{{ form.classifyNameList }}</el-button >{{ form.classifyNameList }}</el-button>
>
</template> </template>
</el-form-item> </el-form-item>
<el-form-item label="负责人" prop="dutyPerson"> <el-form-item label="负责人" prop="dutyPerson">
<el-input <el-input v-model="form.dutyPerson" placeholder="请输入负责人" maxlength="20" />
v-model="form.dutyPerson"
placeholder="请输入负责人"
maxlength="20"
/>
</el-form-item> </el-form-item>
<el-form-item label="负责人电话" prop="dutyPhone"> <el-form-item label="负责人电话" prop="dutyPhone">
<el-input <el-input v-model="form.dutyPhone" placeholder="请输入负责人联系电话" maxlength="11" />
v-model="form.dutyPhone"
placeholder="请输入负责人联系电话"
maxlength="11"
/>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="sort"> <el-form-item label="排序" prop="sort">
<el-input <el-input
placeholder="请输入排序" placeholder="请输入排序"
v-model="form.sort" v-model="form.sort"
oninput="value=value.replace(/[^\d]/g,'')" oninput="value=value.replace(/[^\d]/g,'')"
maxLength="5" maxlength="5"
/> />
</el-form-item> </el-form-item>
<el-form-item label="营业概述" prop="openingHoursDescribe"> <el-form-item label="营业概述" prop="openingHoursDescribe">
@ -330,7 +272,7 @@
maxlength="150" maxlength="150"
/> />
</el-form-item> </el-form-item>
<el-form-item label="上午营业时间" > <el-form-item label="上午营业时间">
<el-time-select <el-time-select
style="width: 208px" style="width: 208px"
placeholder="上午营业开始时间" placeholder="上午营业开始时间"
@ -340,8 +282,7 @@
step: '00:30', step: '00:30',
end: '14:00', end: '14:00',
}" }"
> ></el-time-select>
</el-time-select>
<el-time-select <el-time-select
style="width: 208px; margin-left: 10px" style="width: 208px; margin-left: 10px"
placeholder="上午营业结束时间" placeholder="上午营业结束时间"
@ -351,10 +292,9 @@
step: '00:30', step: '00:30',
end: '14:30', end: '14:30',
}" }"
> ></el-time-select>
</el-time-select>
</el-form-item> </el-form-item>
<el-form-item label="下午营业时间" > <el-form-item label="下午营业时间">
<el-time-select <el-time-select
style="width: 208px" style="width: 208px"
placeholder="下午营业开始时间" placeholder="下午营业开始时间"
@ -364,8 +304,7 @@
step: '00:30', step: '00:30',
end: '18:00', end: '18:00',
}" }"
> ></el-time-select>
</el-time-select>
<el-time-select <el-time-select
style="width: 208px; margin-left: 10px" style="width: 208px; margin-left: 10px"
placeholder="下午营业结束时间" placeholder="下午营业结束时间"
@ -375,8 +314,7 @@
step: '00:30', step: '00:30',
end: '20:00', end: '20:00',
}" }"
> ></el-time-select>
</el-time-select>
</el-form-item> </el-form-item>
<el-form-item label="护理站总概述" prop="nurseStationDescription"> <el-form-item label="护理站总概述" prop="nurseStationDescription">
<el-input <el-input
@ -395,35 +333,21 @@
v-model="form.agencyIntroduce" v-model="form.agencyIntroduce"
></editor> ></editor>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站头像" prop="stationPictureUrl" required style="margin-left: 10%">
label="护理站头像"
prop="stationPictureUrl"
required
style="margin-left: 10%"
>
<stationAcatar <stationAcatar
@imgUrl="imgUrl" @imgUrl="imgUrl"
:img="form.stationPictureUrl" :img="form.stationPictureUrl"
:type="'stationPictureUrl'" :type="'stationPictureUrl'"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站简介头像" prop="stationIntroducePcitureUrl" style="margin-left: 10%">
label="护理站简介头像"
prop="stationIntroducePcitureUrl"
style="margin-left: 10%"
>
<stationAcatar <stationAcatar
@imgUrl="imgUrl2" @imgUrl="imgUrl2"
:img="form.stationIntroducePcitureUrl" :img="form.stationIntroducePcitureUrl"
:type="'stationIntroducePcitureUrl'" :type="'stationIntroducePcitureUrl'"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="护理站标签信息" required label-width="130px" style="margin-left: 0px">
label="护理站标签信息"
required
label-width="130px"
style="margin-left: 0px"
>
<el-table <el-table
ref="looknurseStationLabel" ref="looknurseStationLabel"
:data="looknurseStationLabel" :data="looknurseStationLabel"
@ -431,10 +355,7 @@
> >
<el-table-column label="标签名称" width="190" align="center"> <el-table-column label="标签名称" width="190" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input v-model="scope.row.labelDescription" maxlength="40"></el-input>
v-model="scope.row.labelDescription"
maxlength="40"
></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="排序" width="200" align="center"> <el-table-column label="排序" width="200" align="center">
@ -442,24 +363,18 @@
<el-input <el-input
v-model="scope.row.labelSort" v-model="scope.row.labelSort"
oninput="value=value.replace(/[^\d]/g,'')" oninput="value=value.replace(/[^\d]/g,'')"
maxLength="5" maxlength="5"
></el-input> ></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="120"> <el-table-column label="操作" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" @click="addnurseStationLabelList">新增</el-button>
size="mini"
type="text"
@click="addnurseStationLabelList"
>新增</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="delnurseStationLabelList(scope.$index, scope.row)" @click="delnurseStationLabelList(scope.$index, scope.row)"
>删除</el-button >删除</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -480,38 +395,17 @@
> >
<el-form :model="classifyquery" label-width="150px" :inline="true"> <el-form :model="classifyquery" label-width="150px" :inline="true">
<el-form-item label="护理机构分类编码" prop="classifyCode"> <el-form-item label="护理机构分类编码" prop="classifyCode">
<el-input <el-input v-model="classifyquery.classifyCode" placeholder="请输入护理机构分类编码" />
v-model="classifyquery.classifyCode"
placeholder="请输入护理机构分类编码"
/>
</el-form-item> </el-form-item>
<el-form-item label="护理机构分类名称" prop="classifyName"> <el-form-item label="护理机构分类名称" prop="classifyName">
<el-input <el-input v-model="classifyquery.classifyName" placeholder="请输入护理机构分类名称" />
v-model="classifyquery.classifyName"
placeholder="请输入护理机构分类名称"
/>
</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="classifylistInfo">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="classifylistcancel">重置</el-button>
icon="el-icon-search"
size="mini"
@click="classifylistInfo"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="classifylistcancel"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table v-loading="loading" :data="classifylist" @cell-dblclick="setCheckedData">
v-loading="loading"
:data="classifylist"
@cell-dblclick="setCheckedData"
>
<el-table-column label="请选择" width="70" align="center"> <el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -527,22 +421,11 @@
circle circle
v-else v-else
@click="setCheckedData(scope.row)" @click="setCheckedData(scope.row)"
> ></el-button>
</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column property="classifyCode" label="护理项目分类编码" align="center"></el-table-column>
property="classifyCode" <el-table-column property="classifyName" label="护理项目分类名称" align="center"></el-table-column>
label="护理项目分类编码"
align="center"
>
</el-table-column>
<el-table-column
property="classifyName"
label="护理项目分类名称"
align="center"
>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="classifytotal > 0" v-show="classifytotal > 0"
@ -562,16 +445,10 @@
height: 50px; height: 50px;
font-size: 15px; font-size: 15px;
" "
>选择完成</el-button >选择完成</el-button>
>
</el-dialog> </el-dialog>
<!-- // --> <!-- // -->
<el-dialog <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload <el-upload
ref="upload" ref="upload"
:limit="1" :limit="1"
@ -585,7 +462,10 @@
drag drag
> >
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div> <div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件</span> <span>仅允许导入xlsxlsx格式文件</span>
<el-link <el-link
@ -593,8 +473,7 @@
:underline="false" :underline="false"
style="font-size: 12px; vertical-align: baseline" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate" @click="importTemplate"
>下载模板</el-link >下载模板</el-link>
>
</div> </div>
</el-upload> </el-upload>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -602,6 +481,23 @@
<el-button @click="upload.open = false"> </el-button> <el-button @click="upload.open = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 邀请二维码 -->
<el-dialog title="机构二维码" :visible.sync="nurseStationFriendsshow" width="500px" append-to-body>
<div>
<el-form :inline="true" ref="form" :model="nurseStationFriendslist" label-width="130px">
<el-form-item label="机构名称" prop="nurseStationName">
<div class="text">{{nurseStationFriendslist.nurseStationName}}</div>
</el-form-item>
<el-form-item label="机构地址" prop="nurseStationName">
<div class="text texts">{{nurseStationFriendslist.address}}</div>
</el-form-item>
</el-form>
<img style="width:400px;margin-left:25px" :src="nurseStationFriendslist.img" alt />
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="nurseStationFriendsshow=false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -609,3 +505,34 @@
import stationjs from "./stationjs"; import stationjs from "./stationjs";
export default stationjs; export default stationjs;
</script> </script>
<style>
.text {
width: 300px;
height: 40px;
line-height: 40px;
padding-left: 15px;
font-size: 14px;
border-radius: 4px;
padding: 0 15px;
color: black;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
text-align: justify;
}
.texts {
line-height: 20px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
text-align: justify;
}
</style>

View File

@ -8,6 +8,7 @@ import {
getFirstLevelInfo, getFirstLevelInfo,
getSecondaryLevelInfo, getSecondaryLevelInfo,
updatePicture, updatePicture,
nurseStationFriends
} from "@/api/system/station"; } from "@/api/system/station";
import stationAcatar from "../stationAvatar/index.vue"; import stationAcatar from "../stationAvatar/index.vue";
import { getListByUser } from "@/api/system/userlist.js"; import { getListByUser } from "@/api/system/userlist.js";
@ -84,21 +85,25 @@ export default {
labelDescription: "", labelDescription: "",
sort: "", sort: "",
idd: 1, idd: 1,
}, ], },],
// 护理站信息表格数据 // 护理站信息表格数据
stationList: [{ stationList: [{
sysAreaVOList: [{ sysAreaVOList: [{
provinceName: null, provinceName: null,
cityName: null, cityName: null,
streetName: null, streetName: null,
}, ], },],
}, ], },],
nurseStationlist: [], nurseStationlist: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
Classifyshow: false, Classifyshow: false,
nurseStationFriendslist: {
img: undefined
},
nurseStationFriendsshow: false,
afternoonOpenStartTimeStr: "", afternoonOpenStartTimeStr: "",
afternoonOpenEndTimeStr: "", afternoonOpenEndTimeStr: "",
//权限查询 //权限查询
@ -150,13 +155,13 @@ export default {
// validator: checkMobile, // validator: checkMobile,
trigger: "blur", trigger: "blur",
message: "请输入手机号", message: "请输入手机号",
}, ], },],
dutyPhone: [{ dutyPhone: [{
// validator: checkMobile2, // validator: checkMobile2,
trigger: "blur", trigger: "blur",
message: "请输入联系电话", message: "请输入联系电话",
}, ], },],
sort: [{ required: true, message: "排序不能为空", trigger: "blur" }], sort: [{ required: true, message: "排序不能为空", trigger: "blur" }],
address: [{ required: true, message: "地址不能为空", trigger: "blur" }], address: [{ required: true, message: "地址不能为空", trigger: "blur" }],
longitude: [ longitude: [
@ -176,7 +181,8 @@ export default {
], ],
}, },
checkedDataList: [] // 选择的护理机构分类 checkedDataList: [],// 选择的护理机构分类
loadingtext: "加载中"
}; };
}, },
created() { created() {
@ -185,6 +191,17 @@ export default {
this.classifylistInfo(); this.classifylistInfo();
}, },
methods: { methods: {
GenerateQRcode(row) {
this.loadingtext = "生成中";
this.loading = true;
this.nurseStationFriendslist = row;
nurseStationFriends(row.id).then(res => {
this.nurseStationFriendslist.img =
process.env.VUE_APP_BASE_API + res.msg;
this.nurseStationFriendsshow = true;
this.loading = false;
});
},
imgs(item) { imgs(item) {
this.imgsurl.pictureUrlList.push(item); this.imgsurl.pictureUrlList.push(item);
}, },
@ -201,7 +218,7 @@ export default {
labelDescription: "", labelDescription: "",
sort: "", sort: "",
idd: 1, idd: 1,
}, ]; },];
} else { } else {
this.looknurseStationLabel.splice(index, 1); this.looknurseStationLabel.splice(index, 1);
} }
@ -270,10 +287,10 @@ export default {
obj.pictureUrlList.push(this.form.stationPictureUrl); obj.pictureUrlList.push(this.form.stationPictureUrl);
} }
if (obj.pictureUrlList.length > 0) { if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {}); updatePicture(obj).then((res) => { });
} }
if (this.imgsurl.pictureUrlList.length > 0) { if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {}); updatePicture(this.imgsurl).then((res) => { });
} }
this.imgsurl = { pictureUrlList: [] }; this.imgsurl = { pictureUrlList: [] };
this.open = false; this.open = false;
@ -284,6 +301,7 @@ export default {
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.loadingtext = "加载中";
this.nurseStationType2 = []; this.nurseStationType2 = [];
this.form = { this.form = {
id: null, id: null,
@ -425,7 +443,7 @@ export default {
labelDescription: "", labelDescription: "",
sort: "", sort: "",
idd: 1, idd: 1,
}, ]; },];
this.title = "添加护理站信息"; this.title = "添加护理站信息";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
@ -488,7 +506,7 @@ export default {
} }
this.imgsurl = { pictureUrlList: [] }; this.imgsurl = { pictureUrlList: [] };
if (obj.pictureUrlList.length > 0) { if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {}); updatePicture(obj).then((res) => { });
} }
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
@ -498,7 +516,7 @@ export default {
}); });
} else { } else {
addStation(this.form).then((response) => { addStation(this.form).then((response) => {
if (response.code==200) { if (response.code == 200) {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
@ -515,7 +533,7 @@ export default {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal this.$modal
.confirm("是否确认删除此护理站信息?") .confirm("是否确认删除此护理站信息?")
.then(function() { .then(function () {
return delStation(ids); return delStation(ids);
}) })
.then(() => { .then(() => {
@ -523,12 +541,12 @@ export default {
obj.pictureUrlList.push(row.stationIntroducePcitureUrl); obj.pictureUrlList.push(row.stationIntroducePcitureUrl);
obj.pictureUrlList.push(row.stationPictureUrl); obj.pictureUrlList.push(row.stationPictureUrl);
if (obj.pictureUrlList.length > 0) { if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {}); updatePicture(obj).then((res) => { });
} }
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}) })
.catch(() => {}); .catch(() => { });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {