Commit 2772776b by ‘巴博尔’

代办买药

parent 7703840e
...@@ -16,41 +16,45 @@ ...@@ -16,41 +16,45 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="接单人" prop="orderSn"> <el-form-item label="接单人" prop="receiverName">
<el-input <el-input
v-model="queryParams.orderSn" v-model="queryParams.receiverName"
placeholder="请输入接单人" placeholder="请输入接单人"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="当前状态" prop="orderSn"> <el-form-item label="当前状态" prop="yStatus">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.yStatus"
placeholder="全部"
clearable=""
>
<el-option <el-option
v-for="item in [ v-for="item in [
{ {
label: '已发布', label: '已发布',
value: '0', value: 0,
}, },
{ {
label: '已接单', label: '已接单',
value: '1', value: 1,
}, },
{ {
label: '已完成', label: '已完成',
value: '2', value: 2,
}, },
{ {
label: '退款中', label: '退款中',
value: '3', value: 3,
}, },
{ {
label: '已退款', label: '已退款',
value: '4', value: 4,
}, },
{ {
label: '进行中', label: '进行中',
value: '6', value: 6,
}, },
]" ]"
:key="item.value" :key="item.value"
...@@ -60,17 +64,21 @@ ...@@ -60,17 +64,21 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="orderSn"> <el-form-item label="订单类型" prop="orderType">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.orderType"
placeholder="全部"
clearable=""
>
<el-option <el-option
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"
...@@ -395,9 +403,14 @@ ...@@ -395,9 +403,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"
...@@ -494,7 +507,13 @@ ...@@ -494,7 +507,13 @@
v-hasPermi="['system:dbmyOrder:remove']" v-hasPermi="['system:dbmyOrder:remove']"
>删除</el-button >删除</el-button
> --> > -->
<el-button size="large" type="text">取消</el-button> <el-button
size="large"
type="text"
@click="handleClickCancell(scope.row)"
v-if="[1, '1'].includes(scope.row.tstatus)"
>取消</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -514,12 +533,12 @@ ...@@ -514,12 +533,12 @@
width="1000px" width="1000px"
append-to-body append-to-body
> >
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<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"
...@@ -528,11 +547,11 @@ ...@@ -528,11 +547,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"
...@@ -544,9 +563,9 @@ ...@@ -544,9 +563,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"
...@@ -556,28 +575,29 @@ ...@@ -556,28 +575,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>
...@@ -586,9 +606,9 @@ ...@@ -586,9 +606,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"
...@@ -599,9 +619,9 @@ ...@@ -599,9 +619,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="ypName">
<el-input <el-input
v-model="form.orderId" v-model="form.ypName"
placeholder="请输入药品名称" placeholder="请输入药品名称"
style="width: 270px" style="width: 270px"
/> />
...@@ -610,18 +630,18 @@ ...@@ -610,18 +630,18 @@
</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="ydAddress">
<el-input <el-input
v-model="form.orderId" v-model="form.ydAddress"
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="isCf">
<el-select <el-select
v-model="form.orderId" v-model="form.isCf"
clearable clearable
placeholder="请选择" placeholder="请选择"
style="width: 270px" style="width: 270px"
...@@ -630,11 +650,11 @@ ...@@ -630,11 +650,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"
...@@ -648,9 +668,9 @@ ...@@ -648,9 +668,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="way">
<el-select <el-select
v-model="form.orderId" v-model="form.way"
clearable clearable
placeholder="请选择" placeholder="请选择"
style="width: 270px" style="width: 270px"
...@@ -659,11 +679,11 @@ ...@@ -659,11 +679,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"
...@@ -675,9 +695,9 @@ ...@@ -675,9 +695,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="recipient">
<el-input <el-input
v-model="form.orderId" v-model="form.recipient"
placeholder="请输入收件人" placeholder="请输入收件人"
maxlength="5" maxlength="5"
style="width: 270px" style="width: 270px"
...@@ -687,9 +707,9 @@ ...@@ -687,9 +707,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="pzShPhone">
<el-input <el-input
v-model="form.orderId" v-model="form.pzShPhone"
placeholder="请输入收件人手机号" placeholder="请输入收件人手机号"
style="width: 270px" style="width: 270px"
maxlength="11" maxlength="11"
...@@ -697,9 +717,9 @@ ...@@ -697,9 +717,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="pzAddress">
<el-input <el-input
v-model="form.orderId" v-model="form.pzAddress"
placeholder="请输入收货地址" placeholder="请输入收货地址"
style="width: 270px" style="width: 270px"
/> />
...@@ -708,19 +728,19 @@ ...@@ -708,19 +728,19 @@
</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="addressInfo">
<el-input <el-input
v-model="form.orderId" v-model="form.addressInfo"
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="emId">
<div @click="openCheckPerson = true"> <div @click="clickOpenCheckPerson">
<el-input <el-input
v-model="form.orderId" v-model="form.emId_name"
placeholder="请选择接单人" placeholder="请选择接单人"
style="width: 270px" style="width: 270px"
readonly="" readonly=""
...@@ -731,9 +751,9 @@ ...@@ -731,9 +751,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="isRefrigerate">
<el-select <el-select
v-model="form.orderId" v-model="form.isRefrigerate"
clearable clearable
placeholder="请选择" placeholder="请选择"
style="width: 270px" style="width: 270px"
...@@ -742,11 +762,11 @@ ...@@ -742,11 +762,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"
...@@ -761,23 +781,26 @@ ...@@ -761,23 +781,26 @@
</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="prescriptionAttachment">
<div style="width: calc(100% - 100px)"> <div style="width: calc(100% - 100px)">
<imageUpload v-model="form.cover" :limit="20"></imageUpload> <imageUpload
v-model="form.prescriptionAttachment"
:limit="20"
></imageUpload>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</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>
...@@ -805,17 +828,17 @@ ...@@ -805,17 +828,17 @@
:inline="true" :inline="true"
label-width="100px" label-width="100px"
> >
<el-form-item label="接单人姓名" prop="orderSn"> <el-form-item label="接单人姓名" prop="name">
<el-input <el-input
v-model="queryParamsMin.orderSn" v-model="queryParamsMin.name"
placeholder="请输入接单人姓名" placeholder="请输入接单人姓名"
clearable clearable
style="width: 200px" style="width: 200px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="接单人手机号" prop="orderSn"> <el-form-item label="接单人手机号" prop="phone">
<el-input <el-input
v-model="queryParamsMin.orderSn" v-model="queryParamsMin.phone"
placeholder="请输入接单人姓名" placeholder="请输入接单人姓名"
clearable clearable
maxlength="11" maxlength="11"
...@@ -823,88 +846,73 @@ ...@@ -823,88 +846,73 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="large" <el-button
type="primary"
icon="el-icon-search"
size="large"
@click="handleQueryMin"
>搜索</el-button >搜索</el-button
> >
<el-button icon="el-icon-refresh" size="large">重置</el-button> <el-button
icon="el-icon-refresh"
size="large"
@click="resetQueryMin"
>重置</el-button
>
</el-form-item> </el-form-item>
<el-form-item label="所属商户" prop="orderSn"> <el-form-item label="所属商户" prop="companyId">
<el-select <el-select
v-model="queryParamsMin.value" v-model="queryParamsMin.companyId"
placeholder="请选择" placeholder="请选择"
clearable="" clearable=""
style="width: 200px" style="width: 200px"
filterable="" filterable=""
> >
<el-option <el-option
v-for="item in []" v-for="item in companyList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="popmodel-person"> <div class="popmodel-person">
<div class="popmodel-person-item popmodel-person-itema"> <div
<div class="popmodel-person-item-top"> :class="
<img src="" alt="" /> item.check_is
<div> ? 'popmodel-person-item popmodel-person-itema'
<p>张丹</p> : 'popmodel-person-item'
<p>12345678912</p> "
</div> v-for="(item, index) in employeesList"
</div> :key="index"
<p class="popmodel-person-item-botm"> @click="clickCheckEMply(item, index)"
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing >
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p>
</div>
<div class="popmodel-person-item">
<div class="popmodel-person-item-top">
<img src="" alt="" />
<div>
<p>张丹</p>
<p>12345678912</p>
</div>
</div>
<p class="popmodel-person-item-botm">
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p>
</div>
<div class="popmodel-person-item">
<div class="popmodel-person-item-top"> <div class="popmodel-person-item-top">
<img src="" alt="" /> <img :src="item.avatar_change_url" alt="" />
<div> <div>
<p>张丹</p> <p>{{ item.name }}</p>
<p>12345678912</p> <p>{{ item.phone }}</p>
</div> </div>
</div> </div>
<p class="popmodel-person-item-botm"> <p class="popmodel-person-item-botm">
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing 所属商户:{{ item.companyName }}
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p> </p>
</div> </div>
</div> </div>
<pagination <pagination
v-show="total > 0" v-show="employeesList_total > 0"
:total="total" :total="employeesList_total"
:page.sync="queryParams.pageNum" :page.sync="queryParamsMin.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParamsMin.pageSize"
@pagination="getList" @pagination="employeesListAxios"
/> />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="openCheckPerson = false" <el-button type="primary" @click="clickClosepERSON(1)"
>确 定</el-button >确 定</el-button
> >
<el-button @click="openCheckPerson = false">取 消</el-button> <el-button @click="clickClosepERSON(2)">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -1074,6 +1082,42 @@ import { ...@@ -1074,6 +1082,42 @@ import {
addDbmyOrder, addDbmyOrder,
updateDbmyOrder, updateDbmyOrder,
} from "@/api/orderManagement/dbmyOrder"; } from "@/api/orderManagement/dbmyOrder";
import {
addThirdOrderPOST,
cityVoListGET,
hospitalListGET,
servicesListGET,
companyListGET,
employeesListGET,
totalOrderPUT,
} 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: "DbmyOrder", name: "DbmyOrder",
...@@ -1120,6 +1164,9 @@ export default { ...@@ -1120,6 +1164,9 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderSn: undefined, orderSn: undefined,
orderType: undefined,
receiverName: undefined,
yStatus: undefined,
// orderId: undefined, // orderId: undefined,
// ypName: undefined, // ypName: undefined,
// ydAddress: undefined, // ydAddress: undefined,
...@@ -1142,7 +1189,85 @@ export default { ...@@ -1142,7 +1189,85 @@ 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" },
],
ypName: [
{ required: true, message: "药品名称不能为空", trigger: "blur" },
],
ydAddress: [
{ required: true, message: "药店地址不能为空", trigger: "blur" },
],
isCf: [
{ required: true, message: "是否处方药不能为空", trigger: "change" },
],
way: [
{ required: true, message: "取药方式不能为空", trigger: "change" },
],
recipient: [
{ required: true, message: "收件人不能为空", trigger: "blur" },
],
pzShPhone: [
{ required: true, message: "收件人手机号不能为空", trigger: "blur" },
{
required: true,
trigger: "blur",
min: 11,
max: 11,
message: "长度不符合",
},
{ required: true, trigger: "blur", validator: validatePhone },
],
pzAddress: [
{ required: true, message: "收货地址不能为空", trigger: "blur" },
],
addressInfo: [
{ required: true, message: "详细地址不能为空", trigger: "blur" },
],
emId: [
{
required: true,
message: "接单人不能为空",
trigger: ["change", "blur"],
},
],
isRefrigerate: [
{
required: true,
message: "是否需要冷藏不能为空",
trigger: "change",
},
],
prescriptionAttachment: [
{
required: true,
message: "处方附件不能为空",
trigger: ["change", "blur"],
},
],
},
VisitorData: { VisitorData: {
name: "", name: "",
sex: "", sex: "",
...@@ -1150,16 +1275,143 @@ export default { ...@@ -1150,16 +1275,143 @@ export default {
isAdult: "", isAdult: "",
voucher: "", voucher: "",
}, },
queryParamsMin: { queryParamsMin: {},
pageNum: 1, cityVoList: [],
pageSize: 10, employeesList: [],
}, employeesList_total: 0,
companyList: [],
}; };
}, },
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: "已取消删除",
});
});
},
clickClosepERSON(type) {
let self = this;
switch (type) {
case 1:
let row_data = self.employeesList.filter((item) => {
return item.check_is;
});
console.log("row_data", row_data);
if (row_data?.length) {
self.$set(self.form, "emId", row_data[0].id);
self.$set(self.form, "emId_name", row_data[0].name);
}
break;
case 2:
self.queryParamsMin = {
pageNum: 1,
pageSize: 10,
phone: undefined,
name: undefined,
companyId: undefined,
};
self.companyList = [];
self.employeesList = [];
break;
}
self.openCheckPerson = false;
},
clickOpenCheckPerson() {
this.queryParamsMin = {
pageNum: 1,
pageSize: 10,
phone: undefined,
name: undefined,
companyId: undefined,
};
this.companyList = [];
this.employeesList = [];
this.openCheckPerson = true;
this.employeesListAxios();
this.companyListAxios();
},
handleQueryMin() {
this.$set(this.queryParamsMin, "pageNum", 1);
this.employeesListAxios();
},
resetQueryMin() {
this.resetForm("queryFormMin");
this.handleQueryMin();
},
clickCheckEMply(row, index) {
let self = this;
self.employeesList.forEach((fk, fl) => {
self.$set(self.employeesList, fl, {
...fk,
check_is: false,
});
});
self.$set(self.employeesList, index, {
...row,
check_is: !row.check_is,
});
},
async employeesListAxios() {
let self = this;
const { code, rows, total } = await employeesListGET(this.queryParamsMin);
console.log("employeesListGET", code, rows);
if (code === 200) {
self.employeesList = rows || [];
self.employeesList_total = total;
if (rows.length) {
rows.forEach(async (item, index) => {
self.$set(self.employeesList, index, {
...item,
check_is: false,
avatar_change_url: await self.listByIdsAixos(
item.avatar ? item.avatar : 103
),
});
});
}
}
},
listByIdsAixos(ids) {
return new Promise(async (resolve, reject) => {
const res = await listByIds(ids);
if (res.code === 200 && res?.data?.length && res.data[0]) {
resolve(res.data[0].url);
} else {
resolve("");
}
});
},
async companyListAxios() {
const { code, rows } = await companyListGET({
pageNum: 1,
pageSize: 9999999,
});
if (code === 200) {
this.companyList = rows;
}
},
clickSeeROWrFK(value, title, type = "undefined") { clickSeeROWrFK(value, title, type = "undefined") {
this.vDataL = { this.vDataL = {
open: false, open: false,
...@@ -1189,11 +1441,14 @@ export default { ...@@ -1189,11 +1441,14 @@ export default {
this.VisitorData = row; this.VisitorData = row;
}, },
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) {
...@@ -1240,30 +1495,47 @@ export default { ...@@ -1240,30 +1495,47 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: undefined, id: undefined,
orderId: undefined, businessId: 5,
orderType: undefined,
userPhone: undefined,
orderSn: undefined,
cityId: undefined,
payMoney: undefined,
ypName: undefined, ypName: undefined,
ydAddress: undefined, ydAddress: undefined,
isCf: undefined, isCf: undefined,
prescriptionAttachment: undefined,
way: undefined, way: undefined,
recipient: undefined, recipient: undefined,
adress: undefined, pzShPhone: undefined,
pzAddress: undefined,
addressInfo: undefined, addressInfo: undefined,
phone: undefined, emId: undefined,
isRefrigerate: undefined, isRefrigerate: undefined,
status: undefined, prescriptionAttachment: undefined,
overTime: undefined, // orderId: undefined,
voucher: undefined, // ypName: undefined,
pzShr: undefined, // ydAddress: undefined,
pzAddress: undefined, // isCf: undefined,
pzShPhone: undefined, // prescriptionAttachment: undefined,
pzShRemake: undefined, // way: undefined,
delFlag: undefined, // recipient: undefined,
createBy: undefined, // adress: undefined,
createTime: undefined, // addressInfo: undefined,
updateBy: undefined, // phone: undefined,
updateTime: undefined, // isRefrigerate: undefined,
remark: undefined, // status: undefined,
// overTime: undefined,
// voucher: undefined,
// pzShr: undefined,
// pzAddress: undefined,
// pzShPhone: undefined,
// pzShRemake: undefined,
// delFlag: undefined,
// createBy: undefined,
// createTime: undefined,
// updateBy: undefined,
// updateTime: undefined,
// remark: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -1288,6 +1560,14 @@ export default { ...@@ -1288,6 +1560,14 @@ 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;
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
...@@ -1307,17 +1587,17 @@ export default { ...@@ -1307,17 +1587,17 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.id != null) { if (this.form.id != null) {
updateDbmyOrder(this.form) // updateDbmyOrder(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 {
addDbmyOrder(this.form) addThirdOrderPOST(this.form)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
......
...@@ -16,33 +16,37 @@ ...@@ -16,33 +16,37 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="订单状态" prop="orderSn"> <el-form-item label="当前状态" prop="yStatus">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.yStatus"
placeholder="全部"
clearable=""
>
<el-option <el-option
v-for="item in [ v-for="item in [
{ {
label: '已发布', label: '已发布',
value: '0', value: 0,
}, },
{ {
label: '已接单', label: '已接单',
value: '1', value: 1,
}, },
{ {
label: '已完成', label: '已完成',
value: '2', value: 2,
}, },
{ {
label: '退款中', label: '退款中',
value: '3', value: 3,
}, },
{ {
label: '已退款', label: '已退款',
value: '4', value: 4,
}, },
{ {
label: '进行中', label: '进行中',
value: '6', value: 6,
}, },
]" ]"
:key="item.value" :key="item.value"
...@@ -52,17 +56,21 @@ ...@@ -52,17 +56,21 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="orderSn"> <el-form-item label="订单类型" prop="orderType">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.orderType"
placeholder="全部"
clearable=""
>
<el-option <el-option
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"
......
...@@ -16,49 +16,53 @@ ...@@ -16,49 +16,53 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="就诊人姓名" prop="orderSn" label-width="90px"> <el-form-item label="就诊人姓名" prop="vistorName" label-width="90px">
<el-input <el-input
v-model="queryParams.orderSn" v-model="queryParams.vistorName"
placeholder="请输入就诊人姓名" placeholder="请输入就诊人姓名"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="接单人" prop="orderSn"> <el-form-item label="接单人" prop="receiverName">
<el-input <el-input
v-model="queryParams.orderSn" v-model="queryParams.receiverName"
placeholder="请输入接单人" placeholder="请输入接单人"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="当前状态" prop="orderSn"> <el-form-item label="当前状态" prop="yStatus">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.yStatus"
placeholder="全部"
clearable=""
>
<el-option <el-option
v-for="item in [ v-for="item in [
{ {
label: '已发布', label: '已发布',
value: '0', value: 0,
}, },
{ {
label: '已接单', label: '已接单',
value: '1', value: 1,
}, },
{ {
label: '已完成', label: '已完成',
value: '2', value: 2,
}, },
{ {
label: '退款中', label: '退款中',
value: '3', value: 3,
}, },
{ {
label: '已退款', label: '已退款',
value: '4', value: 4,
}, },
{ {
label: '进行中', label: '进行中',
value: '6', value: 6,
}, },
]" ]"
:key="item.value" :key="item.value"
...@@ -68,17 +72,21 @@ ...@@ -68,17 +72,21 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="orderSn"> <el-form-item label="订单类型" prop="orderType">
<el-select v-model="queryParams.value" placeholder="全部" clearable=""> <el-select
v-model="queryParams.orderType"
placeholder="全部"
clearable=""
>
<el-option <el-option
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"
...@@ -110,7 +118,8 @@ ...@@ -110,7 +118,8 @@
icon="el-icon-plus" icon="el-icon-plus"
size="large" size="large"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button
>
</el-col> </el-col>
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
...@@ -266,7 +275,9 @@ ...@@ -266,7 +275,9 @@
<!-- {{ row.startDay }} - {{ row.endDay }} --> <!-- {{ row.startDay }} - {{ row.endDay }} -->
<el-button <el-button
type="primary" type="primary"
@click="clickSeeROWrEM(`${row.startDay}至${row.endDay}`, '期待陪护日期')" @click="
clickSeeROWrEM(`${row.startDay}至${row.endDay}`, '期待陪护日期')
"
>查看</el-button >查看</el-button
> >
</template> </template>
...@@ -315,9 +326,14 @@ ...@@ -315,9 +326,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"
...@@ -414,7 +430,13 @@ ...@@ -414,7 +430,13 @@
v-hasPermi="['system:zyphOrder:remove']" v-hasPermi="['system:zyphOrder:remove']"
>删除</el-button >删除</el-button
> --> > -->
<el-button size="large" type="text">取消</el-button> <el-button
size="large"
type="text"
@click="handleClickCancell(scope.row)"
v-if="[1, '1'].includes(scope.row.tstatus)"
>取消</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -428,13 +450,18 @@ ...@@ -428,13 +450,18 @@
/> />
<!-- 添加或修改住院陪诊订单对话框 --> <!-- 添加或修改住院陪诊订单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-dialog
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> :title="title"
:visible.sync="open"
width="1000px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<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"
...@@ -443,11 +470,11 @@ ...@@ -443,11 +470,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"
...@@ -459,9 +486,9 @@ ...@@ -459,9 +486,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"
...@@ -471,28 +498,29 @@ ...@@ -471,28 +498,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>
...@@ -501,28 +529,29 @@ ...@@ -501,28 +529,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="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"
> >
<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>
</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="didName">
<el-input <el-input
v-model="form.orderId" v-model="form.didName"
placeholder="请输入科室" placeholder="请输入科室"
style="width: 270px" style="width: 270px"
/> />
...@@ -531,18 +560,29 @@ ...@@ -531,18 +560,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="serviceId">
<el-input <el-select
v-model="form.orderId" v-model="form.serviceId"
placeholder="请输入服务" clearable
placeholder="请选择服务"
filterable
style="width: 270px" style="width: 270px"
/> :disabled="form.cityId ? false : true"
>
<el-option
v-for="item in servicesList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</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="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"
...@@ -555,9 +595,9 @@ ...@@ -555,9 +595,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="name">
<el-input <el-input
v-model="form.orderId" v-model="form.name"
placeholder="请输入就诊人姓名" placeholder="请输入就诊人姓名"
maxlength="5" maxlength="5"
style="width: 270px" style="width: 270px"
...@@ -565,15 +605,24 @@ ...@@ -565,15 +605,24 @@
</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="sex">
<el-select <el-select
v-model="form.orderId" v-model="form.sex"
clearable clearable
placeholder="请选择就诊人性别" placeholder="请选择就诊人性别"
style="width: 270px" style="width: 270px"
> >
<el-option <el-option
v-for="item in []" v-for="item in [
{
label: '女',
value: 0,
},
{
label: '男',
value: 1,
},
]"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -585,36 +634,36 @@ ...@@ -585,36 +634,36 @@
</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="idcard">
<el-input <el-input
v-model="form.orderId" v-model="form.idcard"
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-col>
<el-form-item label="就诊人手机号" prop="orderId">
<el-input
v-model="form.orderId"
placeholder="请输入就诊人手机号"
style="width: 270px"
maxlength="11"
/>
</el-form-item>
</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="isAdult">
<el-select <el-select
v-model="form.orderId" v-model="form.isAdult"
clearable clearable
placeholder="请选择是否成年" placeholder="请选择是否成年"
style="width: 270px" style="width: 270px"
> >
<el-option <el-option
v-for="item in []" v-for="item in [
{
label: '成年',
value: 0,
},
{
label: '未成年',
value: 1,
},
]"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -624,10 +673,10 @@ ...@@ -624,10 +673,10 @@
</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="emId">
<div @click="openCheckPerson = true"> <div @click="clickOpenCheckPerson">
<el-input <el-input
v-model="form.orderId" v-model="form.emId_name"
placeholder="请选择接单人" placeholder="请选择接单人"
style="width: 270px" style="width: 270px"
readonly="" readonly=""
...@@ -638,37 +687,29 @@ ...@@ -638,37 +687,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="visitTime">
<el-date-picker <el-date-picker
v-model="form.orderId" v-model="form.visitTime"
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>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12"> </el-col>
<!-- <el-form-item label="预约电话" prop="orderId">
<el-input
v-model="form.orderId"
placeholder="请输入预约电话"
style="width: 270px"
maxlength="11"
/>
</el-form-item> -->
</el-col>
</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>
...@@ -696,17 +737,17 @@ ...@@ -696,17 +737,17 @@
:inline="true" :inline="true"
label-width="100px" label-width="100px"
> >
<el-form-item label="接单人姓名" prop="orderSn"> <el-form-item label="接单人姓名" prop="name">
<el-input <el-input
v-model="queryParamsMin.orderSn" v-model="queryParamsMin.name"
placeholder="请输入接单人姓名" placeholder="请输入接单人姓名"
clearable clearable
style="width: 200px" style="width: 200px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="接单人手机号" prop="orderSn"> <el-form-item label="接单人手机号" prop="phone">
<el-input <el-input
v-model="queryParamsMin.orderSn" v-model="queryParamsMin.phone"
placeholder="请输入接单人姓名" placeholder="请输入接单人姓名"
clearable clearable
maxlength="11" maxlength="11"
...@@ -714,10 +755,19 @@ ...@@ -714,10 +755,19 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="large" <el-button
type="primary"
icon="el-icon-search"
size="large"
@click="handleQueryMin"
>搜索</el-button >搜索</el-button
> >
<el-button icon="el-icon-refresh" size="large">重置</el-button> <el-button
icon="el-icon-refresh"
size="large"
@click="resetQueryMin"
>重置</el-button
>
</el-form-item> </el-form-item>
<el-form-item label="所属商户" prop="orderSn"> <el-form-item label="所属商户" prop="orderSn">
<el-select <el-select
...@@ -728,74 +778,50 @@ ...@@ -728,74 +778,50 @@
filterable="" filterable=""
> >
<el-option <el-option
v-for="item in []" v-for="item in companyList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="popmodel-person"> <div class="popmodel-person">
<div class="popmodel-person-item popmodel-person-itema"> <div
<div class="popmodel-person-item-top"> :class="
<img src="" alt="" /> item.check_is
<div> ? 'popmodel-person-item popmodel-person-itema'
<p>张丹</p> : 'popmodel-person-item'
<p>12345678912</p> "
</div> v-for="(item, index) in employeesList"
</div> :key="index"
<p class="popmodel-person-item-botm"> @click="clickCheckEMply(item, index)"
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing >
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p>
</div>
<div class="popmodel-person-item">
<div class="popmodel-person-item-top">
<img src="" alt="" />
<div>
<p>张丹</p>
<p>12345678912</p>
</div>
</div>
<p class="popmodel-person-item-botm">
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p>
</div>
<div class="popmodel-person-item">
<div class="popmodel-person-item-top"> <div class="popmodel-person-item-top">
<img src="" alt="" /> <img :src="item.avatar_change_url" alt="" />
<div> <div>
<p>张丹</p> <p>{{ item.name }}</p>
<p>12345678912</p> <p>{{ item.phone }}</p>
</div> </div>
</div> </div>
<p class="popmodel-person-item-botm"> <p class="popmodel-person-item-botm">
所属商户:Lorem ipsum dolor sit amet consectetur, adipisicing 所属商户:{{ item.companyName }}
elit. Officia animi optio delectus! In earum voluptate ipsa
tempora, incidunt beatae cupiditate, adipisci voluptatibus neque
dolor fugiat, quidem corporis exercitationem quo accusantium.
</p> </p>
</div> </div>
</div> </div>
<pagination <pagination
v-show="total > 0" v-show="employeesList_total > 0"
:total="total" :total="employeesList_total"
:page.sync="queryParams.pageNum" :page.sync="queryParamsMin.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParamsMin.pageSize"
@pagination="getList" @pagination="employeesListAxios"
/> />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="openCheckPerson = false" <el-button type="primary" @click="clickClosepERSON(1)"
>确 定</el-button >确 定</el-button
> >
<el-button @click="openCheckPerson = false">取 消</el-button> <el-button @click="clickClosepERSON(2)">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -893,6 +919,42 @@ import { ...@@ -893,6 +919,42 @@ import {
addZyphOrder, addZyphOrder,
updateZyphOrder, updateZyphOrder,
} from "@/api/orderManagement/zyphOrder"; } from "@/api/orderManagement/zyphOrder";
import {
addThirdOrderPOST,
cityVoListGET,
hospitalListGET,
servicesListGET,
companyListGET,
employeesListGET,
totalOrderPUT,
} 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: "ZyphOrder", name: "ZyphOrder",
...@@ -930,6 +992,10 @@ export default { ...@@ -930,6 +992,10 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderSn: undefined, orderSn: undefined,
orderType: undefined,
vistorName: undefined,
receiverName: undefined,
yStatus: undefined,
// orderId: undefined, // orderId: undefined,
// hid: undefined, // hid: undefined,
// did: undefined, // did: undefined,
...@@ -946,7 +1012,62 @@ export default { ...@@ -946,7 +1012,62 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
remark: [{ required: true, message: "备注不能为空", trigger: "blur" }], //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" },
],
hid: [{ required: true, message: "医院不能为空", trigger: "change" }],
didName: [{ required: true, message: "科室不能为空", trigger: "blur" }],
serviceId: [
{ required: true, message: "服务不能为空", trigger: "change" },
],
payMoney: [
{ required: true, message: "订单价不能为空", trigger: "blur" },
],
name: [
{ required: true, message: "就诊人姓名不能为空", trigger: "blur" },
],
sex: [
{ required: true, message: "就诊人性别不能为空", trigger: "change" },
],
idcard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" },
{ required: true, trigger: "blur", validator: validateIsCardId },
],
isAdult: [
{ required: true, message: "是否成年不能为空", trigger: "change" },
],
emId: [
{
required: true,
message: "接单人不能为空",
trigger: ["change", "blur"],
},
],
visitTime: [
{
required: true,
message: "期待陪护日期不能为空",
trigger: "change",
},
],
}, },
VisitorData: { VisitorData: {
name: "", name: "",
...@@ -955,16 +1076,145 @@ export default { ...@@ -955,16 +1076,145 @@ export default {
isAdult: "", isAdult: "",
voucher: "", voucher: "",
}, },
queryParamsMin: { queryParamsMin: {},
pageNum: 1, cityVoList: [],
pageSize: 10, hospitalList: [],
}, servicesList: [],
employeesList: [],
employeesList_total: 0,
companyList: [],
}; };
}, },
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: "已取消删除",
});
});
},
clickClosepERSON(type) {
let self = this;
switch (type) {
case 1:
let row_data = self.employeesList.filter((item) => {
return item.check_is;
});
console.log("row_data", row_data);
if (row_data?.length) {
self.$set(self.form, "emId", row_data[0].id);
self.$set(self.form, "emId_name", row_data[0].name);
}
break;
case 2:
self.queryParamsMin = {
pageNum: 1,
pageSize: 10,
phone: undefined,
name: undefined,
companyId: undefined,
};
self.companyList = [];
self.employeesList = [];
break;
}
self.openCheckPerson = false;
},
clickOpenCheckPerson() {
this.queryParamsMin = {
pageNum: 1,
pageSize: 10,
phone: undefined,
name: undefined,
companyId: undefined,
};
this.companyList = [];
this.employeesList = [];
this.openCheckPerson = true;
this.employeesListAxios();
this.companyListAxios();
},
handleQueryMin() {
this.$set(this.queryParamsMin, "pageNum", 1);
this.employeesListAxios();
},
resetQueryMin() {
this.resetForm("queryFormMin");
this.handleQueryMin();
},
clickCheckEMply(row, index) {
let self = this;
self.employeesList.forEach((fk, fl) => {
self.$set(self.employeesList, fl, {
...fk,
check_is: false,
});
});
self.$set(self.employeesList, index, {
...row,
check_is: !row.check_is,
});
},
async employeesListAxios() {
let self = this;
const { code, rows, total } = await employeesListGET(this.queryParamsMin);
console.log("employeesListGET", code, rows);
if (code === 200) {
self.employeesList = rows || [];
self.employeesList_total = total;
if (rows.length) {
rows.forEach(async (item, index) => {
self.$set(self.employeesList, index, {
...item,
check_is: false,
avatar_change_url: await self.listByIdsAixos(
item.avatar ? item.avatar : 103
),
});
});
}
}
},
listByIdsAixos(ids) {
return new Promise(async (resolve, reject) => {
const res = await listByIds(ids);
if (res.code === 200 && res?.data?.length && res.data[0]) {
resolve(res.data[0].url);
} else {
resolve("");
}
});
},
async companyListAxios() {
const { code, rows } = await companyListGET({
pageNum: 1,
pageSize: 9999999,
});
if (code === 200) {
this.companyList = rows;
}
},
clickSeeEM(row) { clickSeeEM(row) {
this.openEMInfo = true; this.openEMInfo = true;
this.VisitorData = row; this.VisitorData = row;
...@@ -974,11 +1224,14 @@ export default { ...@@ -974,11 +1224,14 @@ export default {
this.VisitorData = row; this.VisitorData = row;
}, },
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) {
...@@ -1018,23 +1271,40 @@ export default { ...@@ -1018,23 +1271,40 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: undefined, id: undefined,
orderId: undefined, businessId: 4,
orderType: undefined,
userPhone: undefined,
orderSn: undefined,
cityId: undefined,
hid: undefined, hid: undefined,
did: undefined, didName: undefined,
visitor: undefined, serviceId: undefined,
startDay: undefined, payMoney: undefined,
endDay: undefined, sex: undefined,
startTime: undefined, name: undefined,
endTime: undefined, idcard: undefined,
status: undefined, isAdult: undefined,
overTime: undefined, emId: undefined,
voucher: undefined, emId_name: undefined,
delFlag: undefined, visitTime: undefined,
createBy: undefined,
createTime: undefined,
updateBy: undefined,
updateTime: undefined,
remark: undefined, remark: undefined,
// orderId: undefined,
// hid: undefined,
// did: undefined,
// visitor: undefined,
// startDay: undefined,
// endDay: undefined,
// startTime: undefined,
// endTime: undefined,
// status: undefined,
// overTime: undefined,
// voucher: undefined,
// delFlag: undefined,
// createBy: undefined,
// createTime: undefined,
// updateBy: undefined,
// updateTime: undefined,
// remark: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -1059,6 +1329,42 @@ export default { ...@@ -1059,6 +1329,42 @@ 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, "serviceId", undefined);
this.hospitalListAxios(e);
this.servicesListAxios(e);
},
async hospitalListAxios(cityId) {
const { code, data } = await hospitalListGET({
cityId,
});
console.log("hospitalListGET", code, data);
if (code === 200) {
this.hospitalList = data;
}
},
async servicesListAxios(cityId) {
const { code, rows } = await servicesListGET({
pageSize: 999999,
pageNum: 1,
cityId,
bid: this.form.businessId,
});
console.log("servicesListGET", code, rows);
if (code === 200) {
this.servicesList = rows;
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
...@@ -1078,17 +1384,17 @@ export default { ...@@ -1078,17 +1384,17 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.id != null) { if (this.form.id != null) {
updateZyphOrder(this.form) // updateZyphOrder(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 {
addZyphOrder(this.form) addThirdOrderPOST(this.form)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
......
...@@ -36,8 +36,8 @@ module.exports = { ...@@ -36,8 +36,8 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:8089`, // target: `http://localhost:8089`,
// target: `https://peizheng.shanpeikj.com/api`, target: `https://peizheng.shanpeikj.com/api`,
target: `http://192.168.0.181:8089`, // target: `http://192.168.0.181:8089`,
// target: `http://192.168.0.137:8089`, // target: `http://192.168.0.137:8089`,
// target: `http://192.168.0.199:8089`, // target: `http://192.168.0.199:8089`,
// target: `http://192.168.0.125:8089`, // target: `http://192.168.0.125:8089`,
......
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