From 6eb098b9ea2673240e802e4aa460ddc67ec7d869 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期二, 12 八月 2025 09:50:35 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb
---
src/views/reservation/reservations/index.vue | 1352 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 1,155 insertions(+), 197 deletions(-)
diff --git a/src/views/reservation/reservations/index.vue b/src/views/reservation/reservations/index.vue
index ff98041..b99dc91 100644
--- a/src/views/reservation/reservations/index.vue
+++ b/src/views/reservation/reservations/index.vue
@@ -1,5 +1,96 @@
<template>
<div class="app-container">
+ <el-dialog
+ :title="title"
+ :visible.sync="open1"
+ width="1000px"
+ append-to-body
+ >
+ <el-form
+ ref="form1"
+ :model="form1"
+ :rules="rules1"
+ label-width="100px"
+ :inline="true"
+ >
+ <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+ <el-input v-model="form1.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
+ </el-form-item>
+ <el-form-item label="鑱旂郴浜�" prop="contactPerson">
+ <el-input v-model="form1.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+ </el-form-item>
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
+ <el-input v-model="form1.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+ </el-form-item>
+ <el-form-item label="绋庡彿" prop="taxNumber">
+ <el-input v-model="form1.taxNumber" placeholder="璇疯緭鍏ョ◣鍙�" />
+ </el-form-item>
+ <el-form-item label="娉曚汉" prop="legalPerson">
+ <el-input v-model="form1.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
+ </el-form-item>
+ <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
+ <el-input
+ v-model="form1.registerAddress"
+ placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�"
+ />
+ </el-form-item>
+ <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
+ <el-input
+ v-model="form1.mailingAddress"
+ placeholder="璇疯緭鍏ラ�氳鍦板潃"
+ />
+ </el-form-item>
+ <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
+ <el-input v-model="form1.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
+ </el-form-item>
+ <el-form-item label="閾惰璐︽埛" prop="countNum">
+ <el-input v-model="form1.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" />
+ </el-form-item>
+ <el-form-item label="閭" prop="email">
+ <el-input v-model="form1.email" placeholder="璇疯緭鍏ラ偖绠�" />
+ </el-form-item>
+ <el-form-item label="璐熻矗浜�" prop="principal">
+ <el-input v-model="form1.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+ </el-form-item>
+ <el-form-item label="缃戝潃" prop="url">
+ <el-input v-model="form1.url" placeholder="璇疯緭鍏ョ綉鍧�" />
+ </el-form-item>
+ <el-form-item label="浼犵湡" prop="faxNumber">
+ <el-input v-model="form1.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
+ </el-form-item>
+ <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
+ <el-input v-model="form1.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" />
+ </el-form-item>
+ <el-form-item label="鎺掑簭" prop="orderNum">
+ <el-input v-model="form1.orderNum" placeholder="璇疯緭鍏ユ帓搴�" />
+ </el-form-item>
+ <el-form-item label="鏈夋晥鏃堕棿" prop="validTime">
+ <el-date-picker
+ clearable
+ v-model="form1.validTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨鏈夋晥鏃堕棿"
+ >
+ </el-date-picker> </el-form-item
+ ><br />
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input
+ v-model="form1.remark"
+ type="textarea"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ :rows="2"
+ label-width="400px"
+ style="width: 830px"
+ resize="none"
+ ></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer2">
+ <el-button type="primary" @click="submitFormS">纭� 瀹�</el-button>
+ <el-button @click="cancel1">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
<el-form
:model="queryParams"
ref="queryForm"
@@ -8,78 +99,118 @@
v-show="showSearch"
label-width="68px"
>
- <el-form-item label="濮撳悕" prop="name">
- <el-input
- style="width: 120px"
- v-model="queryParams.name"
- placeholder="璇疯緭鍏ュ鍚�"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="韬唤璇佸彿" prop="idCard">
- <el-input
- v-model="queryParams.idCard"
- placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="鑱旂郴鐢佃瘽" prop="phoe">
- <el-input
- v-model="queryParams.phoe"
- placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
- clearable
- @keyup.enter.native="handleQuery"
- style="width: 140px"
- />
- </el-form-item>
- <el-form-item label="鍗曚綅鍚嶇О" prop="company">
- <el-select
- :remote-method="getRemoteData"
- v-model="queryParams.company"
- value-key="drugManufacturerId"
- remote
- filterable
- placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
- clearable
- @change="searchSelect"
- >
- <el-option
- v-for="dict in CompanyList"
- :key="dict.drugManufacturerId"
- :label="dict.cnName"
- :value="dict.cnName"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="棰勭害瓒呮湡" prop="isExpire">
- <el-select
- v-model="queryParams.isExpire"
- placeholder="璇烽�夋嫨鏄惁瓒呮湡"
- clearable
- style="width: 140px"
- >
- <el-option
- v-for="dict in options"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button
- type="primary"
- icon="el-icon-search"
- size="mini"
- @click="handleQuery"
- >鎼滅储</el-button
- >
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
- >閲嶇疆</el-button
- >
- </el-form-item>
+ <el-row>
+ <el-col>
+ <el-form-item label="濮撳悕" prop="name">
+ <el-input
+ style="width: 120px"
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="韬唤璇佸彿" prop="idCard">
+ <el-input
+ v-model="queryParams.idCard"
+ placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+
+ <el-form-item label="鍗曚綅鍚嶇О" prop="companyId">
+ <el-select
+ :remote-method="getRemoteData"
+ v-model="queryParams.companyId"
+ remote
+ default-first-option
+ allow-create
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+ clearable
+ @change="idFn1"
+ >
+ <el-option
+ v-for="dict in CompanyList"
+ :key="dict.cnName"
+ :label="dict.cnName"
+ :value="dict.drugManufacturerId"
+ />
+ </el-select>
+ <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
+ </el-form-item>
+
+ <!-- <el-form-item label="濂楅鍚嶇О" prop="dwDeptName">
+ <el-select v-model="queryParams.dwDeptName" placeholder="璇烽�夋嫨濂楅鍚嶇О" clearable style="width: 100%"
+ @change="idFn2">
+ <el-option v-for="dict in deptList" :key="dict.id" :label="dict.dwDeptName" :value="dict.id" />
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="鍒嗙粍鍚嶇О" prop="groupingName">
+ <el-select v-model="queryParams.groupingName" placeholder="璇烽�夋嫨鍒嗙粍鍚嶇О" clearable style="width: 100%">
+ <el-option v-for="dict in groupingList" :key="dict.id" :label="dict.pacName" :value="dict.id" />
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="棰勭害鏃堕棿">
+ <el-date-picker
+ clearable
+ v-model="createTimeList"
+ @change="dateChangebirthday2"
+ type="daterange"
+ range-separator="-"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨鍑洪绾︽椂闂�"
+ style="width: 300px"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col>
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="phoe">
+ <el-input
+ v-model="queryParams.phoe"
+ placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ style="width: 140px"
+ />
+ </el-form-item>
+ <el-form-item label="棰勭害瓒呮湡" prop="isExpire">
+ <el-select
+ v-model="queryParams.isExpire"
+ placeholder="璇烽�夋嫨鏄惁瓒呮湡"
+ clearable
+ style="width: 140px"
+ >
+ <el-option
+ v-for="dict in options"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="mini"
+ @click="handleQuery"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
<el-row :gutter="10" style="margin: 10px 15px">
<el-col :span="1.5">
@@ -89,9 +220,9 @@
size="mini"
:disabled="multiple"
@click="batch"
- v-hasPermi="['reservation:reservation:remove']"
>鎾ら攢棰勭害</el-button
>
+ <!-- v-hasPermi="['reservation:reservation:remove']" -->
</el-col>
<el-col :span="1.5">
<el-button
@@ -99,9 +230,19 @@
size="mini"
:disabled="single"
@click="receipt"
- v-hasPermi="['reservation:reservation:remove']"
>琛ユ墦灏忕エ</el-button
>
+ <!-- v-hasPermi="['reservation:reservation:remove']" -->
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ size="mini"
+ :disabled="multiple"
+ @click="Groupsignin"
+ >鍥綋绛惧埌</el-button
+ >
+ <!-- v-hasPermi="['reservation:reservation:remove']" -->
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@@ -191,7 +332,7 @@
<span>{{ parseTime(scope.row.reservationTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column
+ <!-- <el-table-column
label="浣撴绫诲瀷"
align="center"
prop="tjType"
@@ -201,7 +342,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
</template>
- </el-table-column>
+ </el-table-column> -->
<el-table-column
label="濠氬Щ"
align="center"
@@ -251,9 +392,23 @@
:show-overflow-tooltip="true"
/>
<el-table-column
- label="閭"
+ label="濂楅鍚嶇О"
align="center"
- prop="email"
+ prop="dwDeptName"
+ :show-overflow-tooltip="true"
+ width="160px"
+ />
+ <el-table-column
+ label="鍒嗙粍鍚嶇О"
+ align="center"
+ prop="groupingName"
+ :show-overflow-tooltip="true"
+ width="160px"
+ />
+ <el-table-column
+ label="鍗曚綅閮ㄩ棬"
+ align="center"
+ prop="department"
:show-overflow-tooltip="true"
width="160px"
/>
@@ -271,17 +426,17 @@
type="text"
icon="el-icon-s-order"
@click="handleUpdate1(scope.row)"
- v-hasPermi="['reservation:reservation:edit']"
title="棰勭害璇︾粏"
></el-button>
+ <!-- v-hasPermi="['reservation:reservation:edit']" -->
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
- v-hasPermi="['reservation:reservation:edit']"
title="淇敼"
></el-button>
+ <!-- v-hasPermi="['reservation:reservation:edit']" -->
<el-button
size="mini"
type="text"
@@ -450,12 +605,27 @@
style="width: 160px"
/>
</el-form-item>
- <el-form-item label="宸ヤ綔鍗曚綅" prop="company">
- <el-input
- v-model="formIn.company"
- placeholder="璇疯緭鍏ュ伐浣滃崟浣�"
- style="width: 410px"
- />
+ <el-form-item label="鍗曚綅鍚嶇О" prop="companyId">
+ <el-select
+ :remote-method="getRemoteData"
+ v-model="formIn.companyId"
+ remote
+ default-first-option
+ allow-create
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+ clearable
+ @change="idFn1"
+ >
+ <el-option
+ v-for="dict in CompanyList"
+ :key="dict.drugManufacturerId"
+ :label="dict.cnName"
+ :value="dict.drugManufacturerId"
+ />
+ </el-select>
+ <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
</el-form-item>
<el-form-item label="鑱屼笟" prop="career">
<el-select
@@ -702,18 +872,129 @@
</el-form>
</template>
- <div style="text-align: center; margin-bottom: 10px">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ width: 100%;
+ "
+ >
+ <div
+ style="
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin-left: 46px;
+ font-size: 16px;
+ margin-right: 20px;
+ "
+ >
+ 宸查�夐」鐩潯鏁帮細<span
+ style="font-weight: 700; color: red; margin-right: 5px"
+ >{{ this.tableData1.length || 0 }}</span
+ >鏉�
+ </div>
宸查�夐」鐩垪琛�
</div>
<div
style="
padding: 0px 6px;
border: 1px solid #e6ebf5;
+ max-height: 650%;
+ overflow: auto;
+ width: 916px;
+ margin-left: 35px;
+ "
+ >
+ <el-table :data="tableData1" border style="width: 100%">
+ <el-table-column
+ prop="proName"
+ label="椤圭洰"
+ width="180"
+ align="center"
+ >
+ </el-table-column>
+ <!-- <el-table-column
+ prop="proType"
+ label="鎬у埆"
+ width="50"
+ align="center"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.proType || '鍏ㄩ儴' }}
+ </template>
+ </el-table-column> -->
+
+ <el-table-column
+ prop="ordPrice"
+ label="搴旀敹閲戦"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column label="鎶樻墸" width="160px" align="center">
+ <!-- @input="validateDiscount(scope.row)" -->
+
+ <template slot-scope="scope">
+ <el-input-number
+ v-model.number="scope.row.discount"
+ placeholder="杈撳叆鎶樻墸"
+ size="small"
+ type="number"
+ :precision="1"
+ :step="0.1"
+ :max="10"
+ :min="0"
+ :disabled="true"
+ >
+ </el-input-number>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="nowPrice"
+ label="瀹炴敹閲戦"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="proCheckMethod"
+ label="鏄惁绌鸿吂"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_yes_no"
+ :value="scope.row.proCheckMethod"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" width="80px">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete1(scope.row)"
+ title="鍒犻櫎"
+ >
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <!-- <div style="text-align: center; margin-bottom: 10px">
+ 宸查�夐」鐩垪琛�
+ </div> -->
+ <!-- <div
+ style="
+ padding: 0px 6px;
+ border: 1px solid #e6ebf5;
max-height: 420px;
overflow: auto;
"
- >
- <el-collapse v-model="index" accordion v-if="list3">
+ > -->
+ <!-- <el-collapse v-model="index" accordion v-if="list3">
<div
class="info1"
v-for="(item, index) in tableData1"
@@ -731,6 +1012,16 @@
item.nowPrice +
"鍏�)"
}}
+ <div style="font-size: 16px; margin-left: 20px">
+ 宸查�夐」鐩潯鏁帮細<span
+ style="
+ font-weight: 700 !important;
+ color: red;
+ margin-right: 5px;
+ "
+ >{{ item.list.length || 0 }}</span
+ >鏉�
+ </div>
</template>
<el-table
:data="item.list"
@@ -746,7 +1037,39 @@
</el-table-column>
<el-table-column prop="ordPrice" label="搴旀敹閲戦">
</el-table-column>
+ <el-table-column label="鎶樻墸">
+ <template slot-scope="scope">
+ <el-input-number
+ v-model.number="scope.row.discount"
+ @input="validateDiscount(scope.row)"
+ placeholder="杈撳叆鎶樻墸"
+ size="small"
+ type="number"
+ :precision="1"
+ :step="0.1"
+ :max="10"
+ :min="0"
+ >
+ </el-input-number>
+ </template>
+ </el-table-column>
<el-table-column prop="nowPrice" label="瀹炴敹閲戦">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ width="80px"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete1(scope.row)"
+ title="鍒犻櫎"
+ >
+ </el-button>
+ </template>
</el-table-column>
</el-table>
</el-collapse-item>
@@ -817,8 +1140,8 @@
</el-table>
</el-collapse-item>
</div>
- </el-collapse>
- </div>
+ </el-collapse> -->
+ <!-- </div> -->
</div>
</el-col>
</el-row>
@@ -840,6 +1163,49 @@
</div>
</template>
</el-drawer>
+
+ <el-dialog
+ title="PDF 棰勮"
+ :visible.sync="dialogVisible"
+ :close-on-click-modal="false"
+ >
+ <div class="main">
+ <iframe
+ id="printIframe"
+ :src="url"
+ frameborder="0"
+ style="width: 100%; height: 100%"
+ ></iframe>
+ </div>
+ </el-dialog>
+
+ <el-dialog
+ :title="title"
+ :visible.sync="open2"
+ width="800px"
+ append-to-body
+ >
+ <el-form ref="form" :model="forms" label-width="100px" :inline="true">
+ <el-form-item label="浣撴绫诲埆">
+ <el-select
+ style="width: 150px"
+ v-model="forms.tjCategory"
+ placeholder="璇烽�夋嫨浣撴绫诲埆"
+ >
+ <el-option
+ v-for="dict in dict.type.dict_tjtype"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer2">
+ <el-button type="primary" @click="submitType">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
<div
style="
@@ -1023,12 +1389,27 @@
style="width: 160px"
/>
</el-form-item>
- <el-form-item label="宸ヤ綔鍗曚綅" prop="company">
- <el-input
- v-model="formIn.company"
- placeholder="璇疯緭鍏ュ伐浣滃崟浣�"
- style="width: 410px"
- />
+ <el-form-item label="鍗曚綅鍚嶇О" prop="companyId">
+ <el-select
+ :remote-method="getRemoteData"
+ v-model="formIn.companyId"
+ remote
+ default-first-option
+ allow-create
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+ clearable
+ @change="idFn1"
+ >
+ <el-option
+ v-for="dict in CompanyList"
+ :key="dict.drugManufacturerId"
+ :label="dict.cnName"
+ :value="dict.drugManufacturerId"
+ />
+ </el-select>
+ <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
</el-form-item>
<el-form-item label="鑱屼笟" prop="career">
<el-select
@@ -1237,9 +1618,6 @@
></el-option>
</el-select>
</el-form-item>
-
- <!-- <div class="tab1"> -->
- <!-- <el-form :inline="true" class="tab1"> -->
<el-form-item label="搴旀敹閲戦">
<el-input
placeholder="搴旀敹閲戦"
@@ -1249,7 +1627,6 @@
></el-input>
</el-form-item>
<el-form-item label="浼樻儬鎶樻墸">
- <!-- <el-input style="width: 100px" type="number" v-model="discount" :value="discount"></el-input> -->
<el-input-number
ref="inputNumber"
style="width: 130px"
@@ -1287,7 +1664,101 @@
<div style="text-align: center; margin-bottom: 10px">
宸查�夐」鐩垪琛�
</div>
+
<div
+ style="
+ padding: 0px 6px;
+ border: 1px solid #e6ebf5;
+ max-height: 650%;
+ overflow: auto;
+ width: 916px;
+ margin-left: 35px;
+ "
+ >
+ <el-table :data="tableData1" border style="width: 100%">
+ <el-table-column
+ prop="proName"
+ label="椤圭洰"
+ width="180"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="proType"
+ label="鎬у埆"
+ width="50"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <template v-if="isAll(scope.row.proType)">
+ 鍏ㄩ儴
+ </template>
+ <template v-else>
+ <dict-tag
+ :options="dict.type.sys_user_sex"
+ :value="scope.row.proType"
+ />
+ </template>
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ prop="ordPrice"
+ label="搴旀敹閲戦"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column label="鎶樻墸" width="160px" align="center">
+ <!-- @input="validateDiscount(scope.row)" -->
+ <template slot-scope="scope">
+ <el-input-number
+ v-model.number="scope.row.discount"
+ placeholder="杈撳叆鎶樻墸"
+ size="small"
+ type="number"
+ :precision="1"
+ :step="0.1"
+ :max="10"
+ :min="0"
+ :disabled="true"
+ >
+ </el-input-number>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="nowPrice"
+ label="瀹炴敹閲戦"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="proCheckMethod"
+ label="鏄惁绌鸿吂"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_yes_no"
+ :value="scope.row.proCheckMethod"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" width="80px">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete1(scope.row)"
+ title="鍒犻櫎"
+ >
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <!-- <div
style="
padding: 0px 6px;
border: 1px solid #e6ebf5;
@@ -1295,6 +1766,14 @@
overflow: auto;
"
>
+ <div
+ style="
+ padding: 0px 6px;
+ border: 1px solid #e6ebf5;
+ max-height: 420px;
+ overflow: auto;
+ "
+ ></div>
<el-collapse v-model="index" accordion v-if="list3">
<div
class="info1"
@@ -1313,7 +1792,18 @@
item.nowPrice +
".00鍏�)"
}}
+ <div style="font-size: 16px; margin-left: 20px">
+ 宸查�夐」鐩潯鏁帮細<span
+ style="
+ font-weight: 700 !important;
+ color: red;
+ margin-right: 5px;
+ "
+ >{{ item.list.length || 0 }}</span
+ >鏉�
+ </div>
</template>
+
<el-table
:data="item.list"
border
@@ -1333,6 +1823,22 @@
>
</el-table-column>
<el-table-column prop="ordPrice" label="搴旀敹閲戦">
+ </el-table-column>
+ <el-table-column label="鎶樻墸">
+ <template slot-scope="scope">
+ <el-input-number
+ v-model.number="scope.row.discount"
+ @input="validateDiscount(scope.row)"
+ placeholder="杈撳叆鎶樻墸"
+ size="small"
+ type="number"
+ :precision="1"
+ :step="0.1"
+ :max="10"
+ :min="0"
+ >
+ </el-input-number>
+ </template>
</el-table-column>
<el-table-column prop="nowPrice" label="瀹炴敹閲戦">
</el-table-column>
@@ -1408,7 +1914,7 @@
</el-collapse-item>
</div>
</el-collapse>
- </div>
+ </div> -->
</div>
</el-col>
</el-row>
@@ -1435,6 +1941,14 @@
<script>
import {
+ addComp,
+ addPlOrderAndDetail,
+ Deptlist,
+ getDwAndDwDept,
+} from "@/api/system/comp";
+import Big from "big.js";
+import { Loading } from "element-ui";
+import {
listReservation,
gettjCancel,
tjReappoint,
@@ -1448,6 +1962,9 @@
getPackageListName,
getaddtTransition,
getTransitionList,
+ getconfigKey,
+ delTbBycusCardIdAndProId,
+ getTransitionList1,
} from "@/api/system/tijian";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import user from "@/store/modules/user";
@@ -1472,7 +1989,6 @@
],
data() {
let checkPhoneNum = (rule, value, callback) => {
- console.log(value);
let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
if (value == "" && value == undefined && !value) {
return callback("");
@@ -1494,8 +2010,12 @@
return time.getTime() < Date.now() - 8.64e7; // 涓嶅彲閫夊巻鍙插ぉ銆佷笉鍙�夊綋鍓嶅ぉ銆佸彲閫夋湭鏉ュぉ
},
},
+ discount: 10,
taocan: false,
+ webSocket: null,
defaultKeys: [],
+ deptList: [],
+ groupingList: [],
value1: "",
pacName: "",
hides: false,
@@ -1505,6 +2025,10 @@
dialogVisibles: false,
src: "",
url: "",
+ open2: false,
+ forms: {
+ tjCategory: "12",
+ },
dialogVisible: false,
/** 鐓х浉鏈哄脊绐楁ā鍧�-start */
videoWidth: 200,
@@ -1560,10 +2084,13 @@
multiple: true,
nodeobj: {},
// 鏄惁鏄剧ず寮瑰嚭灞�
- Seachopen: false,
+
pacId: "",
+ cusIds: [],
// 缁撴灉
result: "",
+ createTimeList: "",
+ startTime: "",
proIds: [],
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
@@ -1594,7 +2121,9 @@
cusSex: null,
cusBrithday: null,
cusAddr: null,
- cusPhone: null,
+ phone: null,
+ yykssj: "", // 棰勭害寮�濮嬫椂闂�
+ yyjssj: "", // 棰勭害缁撴潫鏃堕棿
cusPostcode: null,
cusEmail: null,
indexCard: null,
@@ -1604,10 +2133,95 @@
cusIntroduce: null,
cusNumber: null,
cusIsvip: null,
+ orderByColumn: "reservationTime",
+ isAsc: "desc",
+ name: "",
+ reservationTime: null,
+ idCard: null,
+ phoe: null,
+ email: null,
+ tjType: null,
+ companyId: null,
+ isExpire: null,
},
- formIn: {},
+ // 鏌ヨ鍙傛暟
+ /* queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ orderByColumn: "reservationTime",
+ isAsc: "desc",
+ name: null,
+ reservationTime: null,
+ idCard: null,
+ phoe: null,
+ email: null,
+ tjType: null,
+ companyId: null,
+ reservationTime: null,
+ isExpire: null,
+ }, */
+ /* formIn: {
+ name: "",
+ // age: "",
+ // idCard: "",
+ // remark: null,
+ // pacName: "",
+ // cusaddr: null,
+ // idType: null,
+ // ageUnit: null,
+ // sex: null,
+ // phoe: "",
+ // nation: null,
+ // email: "",
+ // marriage: null,
+ // address: "",
+ // tjCategory: null,
+ company: "",
+ // career: null,
+ // reservationTime: null,
+ // timeRegion: null,
+ // indexCard: "",
+ // department: "",
+ }, */
fmobj: {},
+ formIn: {
+ name: "",
+ idType: "",
+ idCard: "",
+ age: "",
+ ageUnit: "",
+ sex: "",
+ phoe: "",
+ nation: "",
+ email: "",
+ marriage: "",
+ address: "",
+ tjCategory: "",
+ department: "",
+ companyId: "",
+ company: "",
+ career: "",
+ reservationTime: "",
+ timeRegion: "",
+ indexCard: "",
+ },
// 琛ㄥ崟鏍¢獙
+ form1: {},
+ open1: false,
+ rules1: {
+ cnName: [{ required: true, trigger: "blur" }],
+ contactPerson: [{ required: true, trigger: "blur" }],
+ contactPhone: [
+ {
+ required: true,
+ trigger: "blur",
+ },
+ {
+ pattern: /^1[3-9]\d{9}$/,
+ trigger: "blur",
+ },
+ ],
+ },
rules: {
cusName: [
{ required: true, validator: checkPhoneNum, trigger: "blur" },
@@ -1621,7 +2235,7 @@
// cusAddr: [
// { required: true, message: "鐜板眳浣忓湴鍧�涓嶈兘涓虹┖", trigger: "blur" },
// ],
- cusPhone: [
+ phone: [
{ required: true, validator: checkPhoneNum, trigger: "blur" },
],
reservationTime: [
@@ -1658,23 +2272,10 @@
reservationList: [],
// 寮瑰嚭灞傛爣棰�
title: "",
+ valueUrls: "ws://127.0.0.1:6789/websocket",
drawer: false,
drawer1: false,
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- orderByColumn: "reservationTime",
- isAsc: "desc",
- name: null,
- idCard: null,
- phoe: null,
- email: null,
- tjType: null,
- company: null,
- reservationTime: null,
- isExpire: null,
- },
+
// 琛ㄥ崟鍙傛暟
form: {},
// 琛ㄥ崟鏍¢獙
@@ -1708,15 +2309,186 @@
// },
// ],
},
+ pickerOptions: {
+ shortcuts: [
+ {
+ text: "鏈�杩戜竴鍛�",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date(new Date().setHours(0, 0, 0, 0));
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜竴涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date(new Date().setHours(0, 0, 0, 0));
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜笁涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date(new Date().setHours(0, 0, 0, 0));
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ ],
+ },
};
},
created() {
this.getList();
},
+
methods: {
+ isAll(value) {
+ return value === "" || value === null;
+ },
+ validateDiscount(row) {
+ if (row.discount == null || isNaN(row.discount)) {
+ row.discount = 10;
+ }
+ if (row.discount > 10) {
+ row.discount = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у��
+ } else if (row.discount < 0) {
+ row.discount = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓��
+ }
+ this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫
+ },
+ updateProPrice(row) {
+ const ordPrice = new Big(row.ordPrice || 0);
+ const discount = new Big(row.discount || 0);
+ const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
+ row.nowPrice = result.toNumber();
+ this.TotalPrice = this.tableData1.reduce((sum, item) => {
+ return sum.plus(new Big(item.nowPrice || "0"));
+ }, new Big(0));
+
+ this.discount =
+ (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+ },
+
+ dateChangebirthday2(val) {
+ this.startTime = val;
+ },
+
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete1(row) {
+ // console.log(row);
+ let data = {
+ cusCardId: row.cusId,
+ proId: row.parentProId,
+ };
+ this.$modal
+ .confirm("鏄惁纭鍒犻櫎锛�")
+ .then(() => {
+ return delTbBycusCardIdAndProId(data);
+ })
+ .then(() => {
+ this.TotalPrice1 = 0;
+ getTransitionList1(row.cusId).then((response) => {
+ this.tableData1 = response.data.list;
+
+ this.tableData1.forEach((item) => {
+ this.TotalPrice1 += item.ordPrice;
+ this.TotalPrice += item.nowPrice;
+ });
+ this.TotalPrice = this.tableData1.reduce((sum, item) => {
+ return sum.plus(new Big(item.nowPrice || "0"));
+ }, new Big(0));
+ this.discount =
+ (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) *
+ 10;
+ });
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ getCompanyList() {
+ this.loading = true;
+ getconfigKey("team_reservation_default_day").then((res) => {
+ this.queryParams.yxts = res.msg;
+ });
+ getCompany(this.queryParam).then((response) => {
+ this.CompanyList = response.data;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ cancel1() {
+ this.open1 = false;
+ this.reset1();
+ },
+ submitFormS() {
+ this.$refs["form1"].validate((valid) => {
+ if (valid) {
+ addComp(this.form1).then((response) => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open1 = false;
+ this.getCompanyList();
+ });
+ }
+ });
+ },
+ reset1() {
+ this.form1 = {
+ company: "",
+ payType: "",
+ name: "",
+ phoe: "",
+ signingPic: "",
+ discount: "",
+ };
+ },
+ handleAdd1() {
+ this.reset1();
+ this.open1 = true;
+ this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
+ },
+ idFn1(value) {
+ if (value) {
+ this.form.dictCompId = value;
+ console.log(value)
+ // this.CompanyList.forEach((item) => {
+ // if (item.drugManufacturerId == this.form.dictCompId) {
+ // this.form.compName = item.cnName;
+ // this.queryParams.company = item.cnName;
+ // }
+ // });
+ Deptlist(value).then((response) => {
+ this.deptList = response.data;
+ });
+ }
+ },
+ idFn2(value) {
+ let data = {
+ deptId: value,
+ dwId: this.form.dictCompId,
+ };
+ getDwAndDwDept(data).then((response) => {
+ // 閮ㄩ棬鍚嶇О
+ this.groupingList = response.data;
+ });
+ },
/** 鏌ヨ浣撴棰勭害鍒楄〃 */
getList() {
this.loading = true;
+ if (this.startTime) {
+ this.queryParams.yykssj = this.startTime[0];
+ this.queryParams.yyjssj = this.startTime[1];
+ } else if (this.createTimeList) {
+ this.queryParams.yykssj = this.createTimeList[0];
+ this.queryParams.yyjssj = this.createTimeList[1];
+ } else if (this.createTimeList == null) {
+ this.queryParams.yykssj = null;
+ this.queryParams.yyjssj = null;
+ }
listReservation(this.queryParams).then((response) => {
this.reservationList = response.rows;
// response.rows.forEach((item, index) =>
@@ -1733,6 +2505,7 @@
// 鍙栨秷鎸夐挳
cancel() {
this.open = false;
+ this.open2 = false;
this.reset();
},
@@ -1768,6 +2541,7 @@
proIds: null,
pacId: null,
company: null,
+ drugManufacturerId: null,
companyId: null,
jobNo: null,
department: null,
@@ -1791,15 +2565,37 @@
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
+ this.startTime = [];
+ this.createTimeList = [];
this.resetForm("queryForm");
+ this.queryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ cusName: null,
+ cusSex: null,
+ cusBrithday: null,
+ cusAddr: null,
+ phone: null,
+ yykssj: "", // 棰勭害寮�濮嬫椂闂�
+ yyjssj: "", // 棰勭害缁撴潫鏃堕棿
+ cusPostcode: null,
+ cusEmail: null,
+ indexCard: null,
+ cusNational: null,
+ cusMarryStatus: null,
+ cusIdcard: null,
+ cusIntroduce: null,
+ cusNumber: null,
+ cusIsvip: null,
+ };
this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
+ this.cusIds = selection.map((item) => item.idCard);
selection.forEach((item) => {
this.fmobj = item;
});
- console.log(this.fmobj);
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
@@ -1814,7 +2610,6 @@
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
- console.log(row);
this.title = "淇敼浣撴棰勭害";
this.formIn = row;
this.form.tjType = this.formIn.tjType;
@@ -1878,14 +2673,13 @@
getReservation(id).then((response) => {
if (response.data) {
let cusId = response.data.idCard;
- getTransitionList(cusId).then((response) => {
+ getTransitionList1(cusId).then((response) => {
if (response.data) {
- this.tableData1 = response.data;
+ this.tableData1 = response.data.list;
if (this.tableData1.length != 0) {
this.TotalPrice1 = 0;
this.tableData1.forEach((item) => {
this.TotalPrice1 += item.nowPrice;
- console.log(this.discount);
this.TotalPrice = (
this.TotalPrice1 *
(this.discount / 10)
@@ -1925,41 +2719,28 @@
/** 淇敼璇︾粏鎸夐挳鎿嶄綔 */
handleUpdate1(row) {
this.title = "棰勭害璇︾粏淇℃伅";
- this.formIn = row;
- if (this.formIn.timeRegion === 0) {
- this.formIn.timeRegion = "8:00-9:00";
- }
- if (row.timeRegion === 1) {
- this.formIn.timeRegion = "9:00-10:00";
- }
- if (row.timeRegion === 2) {
- this.formIn.timeRegion = "10:00-11:00";
- }
- if (row.timeRegion === 3) {
- this.formIn.timeRegion = "11:00-12:00";
- }
- if (this.formIn.isExpire === 1) {
- this.tijiao1 = false;
- }
- this.drawer1 = true;
- if (this.formIn.discount != null) {
- this.discount = this.formIn.discount;
- }
+
//鍏ㄩ儴濂楅
- if (this.formIn.sex != null) {
- let cusSex = this.formIn.sex;
+ if (row.sex != null) {
+ let cusSex = row.sex;
deptTreeSelect(cusSex).then((response) => {
this.newpacName = response.rows;
this.newpacName.forEach((item3) => {
this.tableData1.forEach((item4) => {
- item4.list.forEach((item6) => {
- if (item6.pacName === item3.pacName) {
- this.$nextTick(() => {
- this.$refs.tb.toggleRowSelection(item3, true);
- });
- throw Error();
- }
- });
+ // item4.list.forEach((item6) => {
+ // if (item6.pacName === item3.pacName) {
+ // this.$nextTick(() => {
+ // this.$refs.tb.toggleRowSelection(item3, true);
+ // });
+ // throw Error();
+ // }
+ // });
+ if (item4.pacName === item3.pacName) {
+ this.$nextTick(() => {
+ this.$refs.tb.toggleRowSelection(item3, true);
+ });
+ throw Error();
+ }
});
});
this.loading = false;
@@ -1982,41 +2763,63 @@
this.loading = false;
});
}
- let id = this.formIn.id;
+ let id = row.id;
this.list1 = true;
- (this.tableData1 = []),
- (this.newpacName = []),
- getReservation(id).then((response) => {
- if (response.data) {
- let cusId = response.data.idCard;
- getTransitionList(cusId).then((response) => {
- if (response.data) {
- this.tableData1 = response.data;
- if (this.tableData1.length != 0) {
- this.TotalPrice1 = 0;
- this.tableData1.forEach((item) => {
- this.TotalPrice1 += item.nowPrice;
- this.TotalPrice = (
- this.TotalPrice1 *
- (this.discount / 10)
- ).toFixed(2);
- if (item.pacName === null) {
- item.pacName = "鍗曢」";
- }
- });
- this.list1 = false;
- this.list3 = true;
- } else {
- this.list1 = true;
- }
+ (this.tableData1 = []), (this.newpacName = []), (this.drawer1 = true);
+ getReservation(id).then((response) => {
+ if (response.data) {
+ this.formIn = response.data;
+
+ if (this.formIn.timeRegion === 0) {
+ this.formIn.timeRegion = "8:00-9:00";
+ }
+ if (row.timeRegion === 1) {
+ this.formIn.timeRegion = "9:00-10:00";
+ }
+ if (row.timeRegion === 2) {
+ this.formIn.timeRegion = "10:00-11:00";
+ }
+ if (row.timeRegion === 3) {
+ this.formIn.timeRegion = "11:00-12:00";
+ }
+ if (this.formIn.isExpire === 1) {
+ this.tijiao1 = false;
+ }
+ // this.drawer1 = true;
+ if (this.formIn.discount != null) {
+ this.discount = this.formIn.discount;
+ }
+ let cusId = this.formIn.idCard;
+ getTransitionList1(cusId).then((response) => {
+ if (response.data) {
+ this.tableData1 = response.data.list;
+ console.log("tableData1", this.tableData1);
+
+ if (this.tableData1.length != 0) {
+ this.TotalPrice1 = 0;
+ this.tableData1.forEach((item) => {
+ this.TotalPrice1 += item.nowPrice;
+ this.TotalPrice = (
+ this.TotalPrice1 *
+ (this.discount / 10)
+ ).toFixed(2);
+ if (item.pacName === null) {
+ item.pacName = "鍗曢」";
+ }
+ });
+ this.list1 = false;
+ this.list3 = true;
} else {
- this.tableData1 = [];
- this.list3 = false;
this.list1 = true;
}
- });
- }
- });
+ } else {
+ this.tableData1 = [];
+ this.list3 = false;
+ this.list1 = true;
+ }
+ });
+ }
+ });
/** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
projectGetList().then((response) => {
@@ -2031,7 +2834,6 @@
this.discount = currentValue;
this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2);
},
-
Package() {
this.taocan = true;
this.datekey = Date.now();
@@ -2094,6 +2896,143 @@
this.treedataList = JSON.parse(JSON.stringify(this.dXData));
return;
}
+ },
+
+ Groupsignin() {
+ this.open2 = true;
+ },
+
+ submitType() {
+ // let cusIds = [];
+ // this.selectList.forEach((item) => {
+ // cusIds.push(item.idCard);
+ // });
+ let loadingInstance1 = Loading.service({
+ fullscreen: true,
+ text: "绛惧埌涓�",
+ });
+ let data = {
+ cusIds: this.cusIds,
+ tjCategory: this.forms.tjCategory,
+ };
+ this.open2 = false;
+ addPlOrderAndDetail(data).then((res) => {
+ if (res.code == 200) {
+ this.open2 = false;
+ this.$modal.msgSuccess("绛惧埌鎴愬姛");
+ if (res.file) {
+ let base64 = res.file;
+ this.base64ToBlob({
+ b64data: base64,
+ contentType: "application/pdf",
+ }).then((res) => {
+ this.dialogVisible = true;
+ // 杞悗鍚庣殑blob瀵硅薄
+ try {
+ this.url = res.preview;
+ } catch (error) {
+ this.url = window.webkitURL.createObjectURL(res.preview);
+ }
+ });
+ } else {
+ let _this = this;
+ this.$nextTick(() => {
+ // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ loadingInstance1.close();
+ });
+ var websocket = null;
+ var url = _this.valueUrls;
+ if ("WebSocket" in window) {
+ websocket = new WebSocket(url);
+ } else if ("MozWebSocket" in window) {
+ websocket = new MozWebSocket(url);
+ } else {
+ }
+ if (websocket == null) {
+ alert("11111");
+ }
+ websocket.onopen = function () {
+ console.log("res", res);
+
+ try {
+ // 杩炴帴璁惧
+ var jsonObjs = {
+ type: 4,
+ data: res,
+ };
+ var jStrs = JSON.stringify(jsonObjs);
+ websocket.send(jStrs);
+ } catch (err) {
+ var tryTime = 0;
+ // 閲嶈瘯10娆★紝姣忔涔嬮棿闂撮殧3绉�
+ if (tryTime < 1) {
+ var t1 = setTimeout(function () {
+ tryTime++;
+ var jsonObjs = {
+ type: 4,
+ data: res,
+ };
+ var jStrs = JSON.stringify(jsonObjs);
+ websocket.send(jStrs);
+ }, 1 * 1000);
+ } else {
+ console.error("閲嶈繛澶辫触.");
+ }
+ }
+ };
+ websocket.onclose = function () {
+ alert("杩炴帴鍏抽棴");
+ };
+ websocket.onmessage = function (event) {
+ var resultObj = JSON.parse(event.data);
+ _this.cardreader = false;
+ };
+
+ //杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉�
+ websocket.onerror = function () {
+ alert("璇锋鏌ヨ繛鎺ユ槸鍚︽甯�");
+ };
+
+ this.getList();
+ }
+ } else {
+ this.$nextTick(() => {
+ // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ loadingInstance1.close();
+ });
+ }
+ });
+ },
+
+ base64ToBlob({ b64data = "", contentType = "", sliceSize = 512 } = {}) {
+ return new Promise((resolve, reject) => {
+ // 浣跨敤 atob() 鏂规硶灏嗘暟鎹В鐮�
+ let byteCharacters = atob(b64data);
+ let byteArrays = [];
+ for (
+ let offset = 0;
+ offset < byteCharacters.length;
+ offset += sliceSize
+ ) {
+ let slice = byteCharacters.slice(offset, offset + sliceSize);
+ let byteNumbers = [];
+ for (let i = 0; i < slice.length; i++) {
+ byteNumbers.push(slice.charCodeAt(i));
+ }
+ // 8 浣嶆棤绗﹀彿鏁存暟鍊肩殑绫诲瀷鍖栨暟缁勩�傚唴瀹瑰皢鍒濆鍖栦负 0銆�
+ // 濡傛灉鏃犳硶鍒嗛厤璇锋眰鏁扮洰鐨勫瓧鑺傦紝鍒欏皢寮曞彂寮傚父銆�
+ byteArrays.push(new Uint8Array(byteNumbers));
+ }
+ let result = new Blob(byteArrays, {
+ type: contentType,
+ });
+ result = Object.assign(result, {
+ // jartto: 杩欓噷涓�瀹氳澶勭悊涓�涓� URL.createObjectURL
+ preview: URL.createObjectURL(result),
+ // name: `鍥剧墖绀轰緥.png`,
+ });
+ resolve(result);
+ });
},
// 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
@@ -2208,12 +3147,19 @@
if (this.formIn.timeRegion === "11:00-12:00") {
this.formIn.timeRegion = 3;
}
+ this.CompanyList.forEach((item) => {
+ if (item.drugManufacturerId === this.formIn.companyId) {
+ this.formIn.company = item.cnName;
+ }
+ });
+
let data;
if (pacId) {
data = {
id: this.formIn.id,
isExpire: this.formIn.isExpire,
address: this.formIn.address,
+ companyId: this.formIn.companyId,
company: this.formIn.company,
department: this.formIn.department,
discount: this.discount,
@@ -2223,7 +3169,7 @@
name: this.formIn.name,
nation: this.formIn.nation,
pacId,
- phoe: this.formIn.cusPhone,
+ phoe: this.formIn.phoe,
reservationTime: this.formIn.reservationTime,
sex: this.formIn.sex,
timeRegion: this.formIn.timeRegion,
@@ -2240,6 +3186,7 @@
id: this.formIn.id,
isExpire: this.formIn.isExpire,
address: this.formIn.address,
+ companyId: this.formIn.companyId,
company: this.formIn.company,
department: this.formIn.department,
discount: this.discount,
@@ -2263,19 +3210,23 @@
};
}
tjReappoint(data).then((res) => {
+ console.log("鎺ュ彛鍝嶅簲", res);
if (res.code === 200) {
- this.$modal.msgSuccess("鐧昏鎴愬姛");
+ this.$modal.msgSuccess("棰勭害鎴愬姛");
+ Object.assign(this.formIn, data);
+ this.getList();
+ this.$tab.refreshPage();
+ _this.drawer = false;
}
- _this.drawer = false;
});
- this.getList();
- this.$tab.refreshPage();
+ // this.getList();
+ // this.$tab.refreshPage();
// } else {
// this.$message.warning("璇烽�夋嫨鎮ㄨ浣撴鐨勫唴瀹�");
// }
},
// 鏈�鍚庢彁浜ゆ寜閽�
- submitPrice1() {
+ /* submitPrice1() {
let _this = this;
if (_this.tableData1.length > 0) {
if (this.tableData[0]) {
@@ -2329,7 +3280,7 @@
id: this.formIn.id,
isExpire: this.formIn.isExpire,
address: this.formIn.address,
- company: this.formIn.company,
+ companyId: this.formIn.companyId,
department: this.formIn.department,
discount: this.discount,
email: this.formIn.email,
@@ -2362,7 +3313,7 @@
} else {
this.$message.warning("璇烽�夋嫨鎮ㄨ浣撴鐨勫唴瀹�");
}
- },
+ }, */
// 鎾ら攢棰勭害路
handleDelete(row) {
@@ -2503,6 +3454,13 @@
border-radius: 2em;
}
+.dialog-footer2 {
+ width: 960px;
+ height: 36px;
+ display: flex;
+ justify-content: center;
+}
+
/* 淇敼 婊戝潡 */
#printIframe::-webkit-scrollbar-thumb {
background-color: #dcdfe6;
--
Gitblit v1.8.0