Commit 44b91c6a by 裴梁博

Merge branch 'feature/v1/plb' into 'master'

修改诊前挂号

See merge request !17
parents b817b20b b1cdb497
...@@ -61,4 +61,13 @@ export function totalOrderPUT(data) { ...@@ -61,4 +61,13 @@ export function totalOrderPUT(data) {
method: 'put', method: 'put',
data: data data: data
}) })
}
// 查询医生列表
export function doctorListGET(query) {
return request({
url: "/system/doctor/list",
method: "get",
params: query,
});
} }
\ No newline at end of file
<!--
* @Author: ‘巴博尔’ 2164119982@qq.com
* @Date: 2023-12-04 15:56:04
* @LastEditors: ‘巴博尔’ 2164119982@qq.com
* @LastEditTime: 2023-12-06 09:49:26
* @FilePath: \peizhen-vue\src\views\orderManagement\zqghOrder\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form
...@@ -265,9 +273,14 @@ ...@@ -265,9 +273,14 @@
<el-table-column <el-table-column
label="订单类型" label="订单类型"
align="center" align="center"
prop="" prop="orderType"
key="" key="orderType"
></el-table-column> >
<template slot-scope="{ row }">
<span v-if="row.orderType == 0">小程序</span>
<span v-if="row.orderType == 1">美团</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
...@@ -311,7 +324,8 @@ ...@@ -311,7 +324,8 @@
<el-button <el-button
size="large" size="large"
type="text" type="text"
v-if="[0, 1, 7, 8, '0', '1', '7', '8'].includes(scope.row.tstatus)" @click="handleClickCancell(scope.row)"
v-if="[1, '1'].includes(scope.row.tstatus)"
>取消</el-button >取消</el-button
> >
</template> </template>
...@@ -336,9 +350,9 @@ ...@@ -336,9 +350,9 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单类型" prop="orderId"> <el-form-item label="订单类型" prop="orderType">
<el-select <el-select
v-model="form.orderId" v-model="form.orderType"
clearable clearable
placeholder="请选择订单类型" placeholder="请选择订单类型"
style="width: 270px" style="width: 270px"
...@@ -347,11 +361,11 @@ ...@@ -347,11 +361,11 @@
v-for="item in [ v-for="item in [
{ {
label: '小程序', label: '小程序',
value: '0', value: 0,
}, },
{ {
label: '美团', label: '美团',
value: '1', value: 1,
}, },
]" ]"
:key="item.value" :key="item.value"
...@@ -363,9 +377,9 @@ ...@@ -363,9 +377,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户手机号" prop="orderId"> <el-form-item label="用户手机号" prop="userPhone">
<el-input <el-input
v-model="form.orderId" v-model="form.userPhone"
placeholder="请输入用户手机号" placeholder="请输入用户手机号"
style="width: 270px" style="width: 270px"
maxlength="11" maxlength="11"
...@@ -375,28 +389,29 @@ ...@@ -375,28 +389,29 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单号" prop="orderId"> <el-form-item label="订单号" prop="orderSn">
<el-input <el-input
v-model="form.orderId" v-model="form.orderSn"
placeholder="请输入订单号" placeholder="请输入订单号"
style="width: 270px" style="width: 270px"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="城市" prop="orderId"> <el-form-item label="城市" prop="cityId">
<el-select <el-select
v-model="form.orderId" v-model="form.cityId"
clearable clearable
placeholder="请选择城市" placeholder="请选择城市"
filterable filterable
style="width: 270px" style="width: 270px"
@change="changeCityId"
> >
<el-option <el-option
v-for="item in []" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -405,9 +420,9 @@ ...@@ -405,9 +420,9 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单价" prop="orderId"> <el-form-item label="订单价" prop="payMoney">
<el-input-number <el-input-number
v-model="form.orderId" v-model="form.payMoney"
:min="0" :min="0"
label="订单价" label="订单价"
:precision="2" :precision="2"
...@@ -418,19 +433,21 @@ ...@@ -418,19 +433,21 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="医院" prop="orderId"> <el-form-item label="医院" prop="hid">
<el-select <el-select
v-model="form.orderId" v-model="form.hid"
clearable clearable
placeholder="请选择医院" placeholder="请选择医院"
filterable filterable
style="width: 270px" style="width: 270px"
:disabled="form.cityId ? false : true"
@change="changeHId"
> >
<el-option <el-option
v-for="item in []" v-for="item in hospitalList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -439,54 +456,44 @@ ...@@ -439,54 +456,44 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="科室" prop="orderId"> <el-form-item label="科室" prop="didName">
<el-input <el-input
v-model="form.orderId" v-model="form.didName"
placeholder="请输入科室" placeholder="请输入科室"
style="width: 270px" style="width: 270px"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="医生" prop="orderId"> <el-form-item label="医生" prop="doctorId">
<el-input <el-select
v-model="form.orderId" v-model="form.doctorId"
placeholder="请输入医生" clearable
style="width: 270px" placeholder="请选择医生"
/> filterable
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户姓名" prop="orderId">
<el-input
v-model="form.orderId"
placeholder="请输入用户姓名"
maxlength="5"
style="width: 270px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户手机号" prop="orderId">
<el-input
v-model="form.orderId"
placeholder="请输入用户手机号"
style="width: 270px" style="width: 270px"
maxlength="11" :disabled="form.hid ? false : true"
/> >
<el-option
v-for="item in doctorList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="预约时间" prop="orderId"> <el-form-item label="预约时间" prop="timeOfAppointment">
<el-date-picker <el-date-picker
v-model="form.orderId" v-model="form.timeOfAppointment"
type="datetime" type="datetime"
placeholder="请选择预约时间" placeholder="请选择预约时间"
style="width: 270px" style="width: 270px"
value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -495,14 +502,14 @@ ...@@ -495,14 +502,14 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="orderId"> <el-form-item label="备注" prop="remark">
<el-input <el-input
type="textarea" type="textarea"
:rows="2" :rows="2"
placeholder="请输入备注" placeholder="请输入备注"
maxlength="100" maxlength="100"
show-word-limit show-word-limit
v-model="form.textarea" v-model="form.remark"
style="width: calc(100% - 100px)" style="width: calc(100% - 100px)"
> >
</el-input> </el-input>
...@@ -539,6 +546,43 @@ import { ...@@ -539,6 +546,43 @@ import {
addZqghOrder, addZqghOrder,
updateZqghOrder, updateZqghOrder,
} from "@/api/orderManagement/zqghOrder"; } from "@/api/orderManagement/zqghOrder";
import {
addThirdOrderPOST,
cityVoListGET,
hospitalListGET,
servicesListGET,
companyListGET,
employeesListGET,
totalOrderPUT,
doctorListGET,
} from "@/api/addForm/index";
import { listByIds } from "@/api/system/oss";
const validatePhone = (rule, value, callback) => {
if (!value) {
callback(new Error("手机号不能为空"));
}
//正则表达式进行验证手机号,从1开始,第二位是35789中的任意一位,以9数字结尾
if (!/^1[35789]\d{9}$/.test(value)) {
callback(new Error("手机号格式不正确"));
}
callback();
};
const validateIsCardId = (rule, value, callback) => {
if (!value) {
return new Error("请输入身份证号)");
} else {
const reg =
/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/;
const card = reg.test(value);
if (!card) {
callback(new Error("身份证号格式有误!"));
} else {
callback();
}
}
};
export default { export default {
name: "ZqghOrder", name: "ZqghOrder",
...@@ -573,6 +617,8 @@ export default { ...@@ -573,6 +617,8 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderSn: undefined, orderSn: undefined,
yStatus: undefined,
orderType: undefined,
// orderId: undefined, // orderId: undefined,
// hid: undefined, // hid: undefined,
// did: undefined, // did: undefined,
...@@ -586,25 +632,89 @@ export default { ...@@ -586,25 +632,89 @@ export default {
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {
//blur change
orderType: [
{ required: true, message: "订单类型不能为空", trigger: "change" },
],
userPhone: [
{ required: true, message: "用户手机号不能为空", trigger: "blur" },
{
required: true,
trigger: "blur",
min: 11,
max: 11,
message: "长度不符合",
},
{ required: true, trigger: "blur", validator: validatePhone },
],
orderSn: [
{ required: true, message: "订单号不能为空", trigger: "blur" },
],
cityId: [
{ required: true, message: "城市不能为空", trigger: "change" },
],
payMoney: [
{ required: true, message: "订单价不能为空", trigger: "blur" },
],
hid: [{ required: true, message: "医院不能为空", trigger: "change" }],
didName: [{ required: true, message: "科室不能为空", trigger: "blur" }],
doctorId: [
{ required: true, message: "医生不能为空", trigger: "change" },
],
timeOfAppointment: [
{ required: true, message: "预约时间不能为空", trigger: "change" },
],
},
VisitorData: { VisitorData: {
name: "", name: "",
sex: "", sex: "",
idcard: "", idcard: "",
isAdult: "", isAdult: "",
}, },
cityVoList: [],
hospitalList: [],
doctorList: [],
}; };
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
handleClickCancell(row) {
let self = this;
self
.$confirm("是否确认取消此项?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(async () => {
const { code } = await totalOrderPUT({
id: row.toOrderId,
status: 7,
});
if (code === 200) {
self.$modal.msgSuccess("取消成功");
self.getList();
}
})
.catch(() => {
self.$message({
type: "info",
message: "已取消删除",
});
});
},
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true;
this.rowArticle = this.replaceSpecialChar(text); this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
this.openArticle = true;
}, },
replaceSpecialChar(detail) { replaceSpecialChar(detail) {
if (!detail) {
return "";
}
var content = detail.replaceAll( var content = detail.replaceAll(
/<img[^>]*>/gi, /<img[^>]*>/gi,
function (match, capture) { function (match, capture) {
...@@ -640,21 +750,31 @@ export default { ...@@ -640,21 +750,31 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: undefined, id: undefined,
orderId: undefined, businessId: 6,
orderType: undefined,
userPhone: undefined,
orderSn: undefined,
cityId: undefined,
payMoney: undefined,
hid: undefined, hid: undefined,
did: undefined, didName: undefined,
doctorId: undefined, doctorId: undefined,
timeOfAppointment: undefined, timeOfAppointment: undefined,
status: undefined, // orderId: undefined,
overTime: undefined, // hid: undefined,
voucher: undefined, // did: undefined,
isCal: undefined, // doctorId: undefined,
delFlag: undefined, // timeOfAppointment: undefined,
createBy: undefined, // status: undefined,
createTime: undefined, // overTime: undefined,
updateBy: undefined, // voucher: undefined,
updateTime: undefined, // isCal: undefined,
remark: undefined, // delFlag: undefined,
// createBy: undefined,
// createTime: undefined,
// updateBy: undefined,
// updateTime: undefined,
// remark: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -679,6 +799,43 @@ export default { ...@@ -679,6 +799,43 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "新增订单"; this.title = "新增订单";
this.cityVoListAxios();
},
async cityVoListAxios() {
const { code, data } = await cityVoListGET();
console.log("cityVoListGET", code, data);
if (code === 200) {
this.cityVoList = data;
}
},
changeCityId(e) {
console.log("changeCityId", e);
this.$set(this.form, "hid", undefined);
this.$set(this.form, "doctorId", undefined);
this.hospitalListAxios(e);
},
async hospitalListAxios(cityId) {
const { code, data } = await hospitalListGET({
cityId,
});
console.log("hospitalListGET", code, data);
if (code === 200) {
this.hospitalList = data;
}
},
changeHId(e) {
console.log('changeHId',e);
this.$set(this.form, "doctorId", undefined);
this.doctorListAxios(e);
},
async doctorListAxios(hid) {
const { code, rows } = await doctorListGET({
hid,
});
console.log("doctorListGET", code, rows);
if (code === 200) {
this.doctorList = rows;
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
...@@ -698,17 +855,17 @@ export default { ...@@ -698,17 +855,17 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.id != null) { if (this.form.id != null) {
updateZqghOrder(this.form) // updateZqghOrder(this.form)
.then((response) => { // .then((response) => {
this.$modal.msgSuccess("修改成功"); // this.$modal.msgSuccess("修改成功");
this.open = false; // this.open = false;
this.getList(); // this.getList();
}) // })
.finally(() => { // .finally(() => {
this.buttonLoading = false; // this.buttonLoading = false;
}); // });
} else { } else {
addZqghOrder(this.form) addThirdOrderPOST(this.form)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = 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