| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input ref="inputName" v-model="queryParams.name" placeholder="请输入姓名" style="width: 120px" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | ref="inputName" |
| | | v-model="queryParams.name" |
| | | placeholder="请输入姓名" |
| | | style="width: 120px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="体检号" prop="tjNum"> |
| | | <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="请输入体检号" style="width: 170px" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | ref="inputName" |
| | | v-model="queryParams.tjNum" |
| | | placeholder="请输入体检号" |
| | | style="width: 170px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | @blur="hb" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="登记时间" prop="createTimeList"> |
| | | <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" |
| | | style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:00:00']" |
| | | format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1"> |
| | | <el-date-picker |
| | | v-model="createTimeList" |
| | | type="datetimerange" |
| | | align="right" |
| | | :picker-options="pickerOptions" |
| | | style="width: 300px" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :default-time="['00:00:00', '23:59:00']" |
| | | format="yyyy-MM-dd HH:mm" |
| | | value-format="yyyy-MM-dd HH:mm" |
| | | @change="dateChangebirthday1" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="登记时间" prop="createTime"> |
| | |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item label="报告时间" prop="reportTimeList"> |
| | | <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange" |
| | | range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd" placeholder="请选择出报告时间" style="width: 240px"> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="reportTimeList" |
| | | @change="dateChangebirthday2" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择出报告时间" |
| | | style="width: 240px" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:order:export']">导出</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleRevoke" |
| | | :disabled="single" |
| | | >撤销签到</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" @click="handleProject1" :disabled="single" |
| | | v-hasPermi="['hosp:order:export']">补录项目</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleProject1" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >补录项目</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" @click="handleReport1" :disabled="single" |
| | | v-hasPermi="['hosp:order:export']">打印导诊单</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="revokeProject" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >撤销补录</el-button |
| | | > |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleReport1" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >打印导诊单</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single" |
| | | v-hasPermi="['hosp:order:export']">订单明细</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleUpdate1" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >订单明细</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <template> |
| | | <el-table border v-loading="loading" :data="orderList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="40px" align="center" fixed="left" /> |
| | | <el-table |
| | | border |
| | | v-loading="loading" |
| | | :data="orderList" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40px" |
| | | align="center" |
| | | fixed="left" |
| | | /> |
| | | <!-- <el-table-column label="主键id" align="center" prop="orderId" /> --> |
| | | <!-- <el-table-column label="用户id" align="center" prop="userId" /> --> |
| | | <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" /> |
| | | <el-table-column label="姓名" align="center" prop="tjCustomerName" fixed="left" width="100px" |
| | | :show-overflow-tooltip="true" /> |
| | | <el-table-column label="性别" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | prop="newID" |
| | | width="50px" |
| | | fixed="left" |
| | | /> |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | prop="tjCustomerName" |
| | | fixed="left" |
| | | width="90px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="身份证号" |
| | | align="center" |
| | | prop="tjCusIdCard" |
| | | fixed="left" |
| | | width="180px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="性别" |
| | | align="center" |
| | | prop="tjCustomerSex" |
| | | width="50px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.tjCustomerSex == '0'">男</span> |
| | | <span v-if="scope.row.tjCustomerSex == '1'">女</span> |
| | | <span v-if="scope.row.tjCustomerSex == '2'">未知</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="年龄" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="电话" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" width="110px" /> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | prop="tjCustomerAge" |
| | | width="55px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="电话" |
| | | align="center" |
| | | prop="tjCustomerPhone" |
| | | :show-overflow-tooltip="true" |
| | | width="110px" |
| | | /> |
| | | <el-table-column |
| | | label="体检类型" |
| | | align="center" |
| | | prop="tjType" |
| | | width="80px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.tjType == '2'">个人</span> |
| | | <span v-if="scope.row.tjType == '1'">团队</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" /> |
| | | <el-table-column |
| | | label="体检号" |
| | | align="center" |
| | | prop="tjNumber" |
| | | :show-overflow-tooltip="true" |
| | | width="160px" |
| | | /> |
| | | <el-table-column |
| | | label="门诊号" |
| | | align="center" |
| | | prop="cardId" |
| | | :show-overflow-tooltip="true" |
| | | width="160px" |
| | | /> |
| | | <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> --> |
| | | <el-table-column label="所选套餐" align="center" prop="pacName" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="登记时间" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="所选套餐" |
| | | align="center" |
| | | prop="pacName" |
| | | :formatter="driver" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="登记时间" |
| | | align="center" |
| | | prop="createTime" |
| | | width="155px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="完成时间" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="完成时间" |
| | | align="center" |
| | | prop="finishTime" |
| | | width="155px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finishTime) }}</span> |
| | | </template> --> |
| | |
| | | <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column label="报告时间" align="center" prop="reportTime" width="155px" height="10px" |
| | | :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="报告时间" |
| | | align="center" |
| | | prop="reportTime" |
| | | width="155px" |
| | | height="10px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.reportTime) }}</span> |
| | | </template> --> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="创建人" align="center" prop="createBy" /> --> |
| | | <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> --> |
| | | <el-table-column label="单位工号" align="center" prop="firmWorkId" width="100px" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="单位名称" align="center" prop="dictCompName" :show-overflow-tooltip="true" /> |
| | | <el-table-column |
| | | label="单位工号" |
| | | align="center" |
| | | prop="firmWorkId" |
| | | width="100px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="单位名称" |
| | | align="center" |
| | | prop="dictCompName" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> --> |
| | | |
| | | <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> |
| | |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px" |
| | | width="114px"> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | height="10px" |
| | | width="114px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:order:edit']" title="订单流水"></el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)" |
| | | v-hasPermi="['hosp:order:edit']" title="补录项目"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-document" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:order:edit']" |
| | | title="订单流水" |
| | | ></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleProject(scope.row)" |
| | | v-hasPermi="['hosp:order:edit']" |
| | | title="补录项目" |
| | | ></el-button> |
| | | <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click=" |
| | | daoZhenDan, |
| | | LoadFileImg(scope.row); |
| | |
| | | @click="viewReport(scope.row)" |
| | | ></el-button> --> |
| | | |
| | | <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="导诊单" |
| | | @click="handleReport(scope.row)"></el-button> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | class="btn" |
| | | icon="el-icon-download" |
| | | title="导诊单" |
| | | @click="handleReport(scope.row)" |
| | | ></el-button> |
| | | |
| | | <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> --> |
| | | </template> |
| | |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="total"> |
| | | <el-pagination |
| | | background |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="queryParams.pageNum" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="queryParams.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | | > |
| | | </el-pagination> |
| | | <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> --> |
| | |
| | | </span> |
| | | </el-dialog> --> |
| | | |
| | | <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false"> |
| | | <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> |
| | | <iframe |
| | | id="printIframe" |
| | | :src="url" |
| | | frameborder="0" |
| | | style="width: 100%; height: 100%" |
| | | ></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="导诊单" :visible.sync="daoZhenDan" :close-on-click-modal="false"> |
| | | <el-dialog |
| | | title="导诊单" |
| | | :visible.sync="daoZhenDan" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="main"> |
| | | <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> |
| | | <iframe |
| | | id="printIframe" |
| | | :src="url" |
| | | frameborder="0" |
| | | style="width: 100%; height: 100%" |
| | | ></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog :title="title" :visible.sync="Projectopen" width="1200px" style="height: 860px" append-to-body> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="Projectopen" |
| | | width="1100px" |
| | | style="height: 860px" |
| | | append-to-body |
| | | > |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="6"> |
| | | <div style="text-align: center; margin-bottom: 10px;margin-top:10px">项目列表</div> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterText"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <div class="outside1"> |
| | | <el-tree :data="Treedata" show-checkbox node-key="proId" :props="defaultProps" |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> |
| | | </div> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="Treedata" |
| | | :props="defaultProps" |
| | | show-checkbox |
| | | node-key="proId" |
| | | @check="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <div> |
| | | <el-col :span="18"> |
| | | <div class="grid-content bg-purple"> |
| | | <template> |
| | | <el-form :model="form"> |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | | <el-radio-group v-model="form.tjType"> |
| | | <el-radio :label="1">团队</el-radio> |
| | | <el-radio :label="2">个人</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <div class="outside"> |
| | | <el-form :inline="true" class="outside1"> |
| | | <el-form-item label="原价"> |
| | | <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="折扣设定"> |
| | | <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="应付金额"> |
| | | <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型"> |
| | | <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitPrice" :disabled="confirm" |
| | | style="margin-top: 34px">收费</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </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="activeName" accordion> |
| | | <div v-for="(item, index) in DataList" :key="index"> |
| | | <el-collapse-item> |
| | | <template slot="title"> |
| | | {{ item.proName + "(" + "原价" + item.proPrice + ")" }} |
| | | </template> |
| | | <el-table :data="item.tjProjectList" border style="width: 100%" height="250"> |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table :data="DataList" border style="width: 100%"> |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </div> |
| | | </el-row> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog :title="title" :visible.sync="Projectopen1" width="980px" style="height: 860px" append-to-body> |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="6"> |
| | | <div style="text-align: center; margin-bottom: 10px;margin-top:10px">项目列表</div> |
| | | <el-col :span="5"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <div class="outside1"> |
| | | <el-tree :data="Treedata" show-checkbox node-key="proId" :props="defaultProps" |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> |
| | | </div> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="TreedataList" |
| | | node-key="proId" |
| | | :props="defaultProps" |
| | | :filter-node-method="filterNode" |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | |
| | | <el-col :span="18"> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="260px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table :data="DataList" border style="width: 100%"> |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | <template> |
| | | <el-form :model="form"> |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | |
| | | <div class="outside"> |
| | | <el-form :inline="true" class="outside1"> |
| | | <el-form-item label="原价"> |
| | | <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> |
| | | <el-input |
| | | placeholder="原价" |
| | | :value="TotalPrice1" |
| | | disabled |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="折扣设定"> |
| | | <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> |
| | | <el-input |
| | | style="width: 90px" |
| | | type="number" |
| | | v-model="discount" |
| | | :value="discount" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="应付金额"> |
| | | <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> |
| | | <el-input |
| | | placeholder="应付金额" |
| | | :value="TotalPrice1 * (discount / 10)" |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型"> |
| | | <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="payType" |
| | | placeholder="请选择付款类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitPrice1" :disabled="confirm" |
| | | style="margin-top: 34px">收费</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice" |
| | | :disabled="confirm" |
| | | style="margin-top: 34px" |
| | | >提交</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="text-align: center; margin-bottom: 10px"> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="Projectopen1" |
| | | width="1100px" |
| | | style="height: 860px" |
| | | append-to-body |
| | | > |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterText"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="Treedata" |
| | | :props="defaultProps" |
| | | show-checkbox |
| | | node-key="proId" |
| | | @check="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <div class="outside1"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="TreedataList" |
| | | node-key="proId" |
| | | :props="defaultProps" |
| | | :filter-node-method="filterNode" |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <div style=" |
| | | padding: 0px 6px; |
| | | border: 1px solid #e6ebf5; |
| | | max-height: 420px; |
| | | overflow: auto; |
| | | "> |
| | | <el-collapse v-model="activeName" accordion> |
| | | <div v-for="(item, index) in DataList" :key="index"> |
| | | <el-collapse-item> |
| | | <template slot="title"> |
| | | {{ item.proName + "(" + "原价" + item.proPrice + ")" }} |
| | | </template> |
| | | <el-table :data="item.tjProjectList" border style="width: 100%" height="250"> |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table :data="DataList" border style="width: 100%"> |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="260px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | |
| | | <template> |
| | | <el-form :model="form"> |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | | <el-radio-group v-model="form.tjType"> |
| | | <el-radio :label="1">团队</el-radio> |
| | | <el-radio :label="2">个人</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <div class="outside"> |
| | | <el-form :inline="true" class="outside1"> |
| | | <el-form-item label="原价"> |
| | | <el-input |
| | | placeholder="原价" |
| | | :value="TotalPrice1" |
| | | disabled |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="折扣设定"> |
| | | <el-input |
| | | style="width: 90px" |
| | | type="number" |
| | | v-model="discount" |
| | | :value="discount" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="应付金额"> |
| | | <el-input |
| | | placeholder="应付金额" |
| | | :value="TotalPrice1 * (discount / 10)" |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="payType" |
| | | placeholder="请选择付款类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice1" |
| | | :disabled="confirm" |
| | | style="margin-top: 34px" |
| | | >提交</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 添加或修改体检记录对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body> |
| | | <el-table :data="numberList" style="width: 100%"> |
| | | <el-table-column prop="proName" label="项目/耗材" width="300"> |
| | | </el-table-column> |
| | | <el-table-column prop="price" label="单价" width="300"> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="数量" width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table :data="bill" style="width: 100%"> |
| | | <el-table-column prop="copeWith" label="应付" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="discount" label="折扣" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="paidIn" label="实付" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="payType" label="付款方式" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.payType == '0'">现金支付</span> |
| | | <span v-if="scope.row.payType == '1'">刷卡支付</span> |
| | | <span v-if="scope.row.payType == '2'">支付宝支付</span> |
| | | <span v-if="scope.row.payType == '3'">微信支付</span> |
| | | <span v-if="scope.row.payType == '4'">云闪付支付</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="payStasus" label="付款状态" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.payStasus == '0'">未付款</span> |
| | | <span v-if="scope.row.payStasus == '1'">已付款</span> |
| | | <span v-if="scope.row.payStasus == '2'">退费</span> |
| | | <span v-if="scope.row.payStasus == '3'">预付款</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body > |
| | | <el-tabs v-model="activeName1" type="card"> |
| | | <!-- <el-tab-pane label="订单流水" name="first"> |
| | | <el-table :data="numberList" style="width: 100%"> |
| | | <el-table-column prop="proName" label="项目/耗材" width="300"> |
| | | </el-table-column> |
| | | <el-table-column prop="price" label="单价" width="300"> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="数量" width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table :data="bill" style="width: 100%"> |
| | | <el-table-column prop="copeWith" label="应付" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="discount" label="折扣" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="paidIn" label="实付" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="payType" label="付款方式" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.payType == '0'">现金支付</span> |
| | | <span v-if="scope.row.payType == '1'">刷卡支付</span> |
| | | <span v-if="scope.row.payType == '2'">支付宝支付</span> |
| | | <span v-if="scope.row.payType == '3'">微信支付</span> |
| | | <span v-if="scope.row.payType == '4'">云闪付支付</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="payStasus" label="付款状态" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.payStasus == '0'">未付款</span> |
| | | <span v-if="scope.row.payStasus == '1'">已付款</span> |
| | | <span v-if="scope.row.payStasus == '2'">退费</span> |
| | | <span v-if="scope.row.payStasus == '3'">预付款</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> --> |
| | | <el-tab-pane label="项目汇总" name="second" style="height: 400px;"> |
| | | <el-table :data="huizongList" style="width: 100%" max-height="200"> |
| | | <el-table-column |
| | | align="center" |
| | | prop="newID" |
| | | label="序号" |
| | | width="50" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="parent_pro_name" label="项目"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="ks" label="科室"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="price" label="费用合计"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <h3>付款详情</h3> |
| | | <el-table :data="bill" style="width: 100%; margin-top: 10px"> |
| | | <el-table-column align="center" prop="copeWith" label="应付"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="discount" label="折扣"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="paidIn" label="实付"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="明细项目" name="third" style="height: 350px;"> |
| | | <el-table |
| | | :data="infoList" |
| | | style="width: 100%" |
| | | max-height="330" |
| | | :span-method="objectSpanMethod1" |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | prop="newID" |
| | | label="序号" |
| | | width="50" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="parent_pro_name" label="父项"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="pro_name" label="子项"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="danjia" label="单价"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="num" label="数量"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="zongjia" label="总价"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="time" |
| | | label="开单时间" |
| | | width="180" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="title1" |
| | | :visible.sync="Projectssopen" |
| | | width="1100px" |
| | | style="height: 860px" |
| | | append-to-body |
| | | > |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="13"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 补录列表 |
| | | </div> |
| | | |
| | | <div class="tab3"> |
| | | <el-table :data="DataLists" border style="width: 100%" height="400" @selection-change="handleProjectssChange" > |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | align="center" |
| | | width="49px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="blje" |
| | | label="补录金额" |
| | | align="center" |
| | | width="74px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bldh" |
| | | label="补录单号" |
| | | align="center" |
| | | width="155px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="blsj" |
| | | label="补录时间" |
| | | align="center" |
| | | width="156px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="blrmc" |
| | | label="补录人" |
| | | align="center" |
| | | width="96px" |
| | | > |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | </div> |
| | | </el-col> |
| | | |
| | | <el-col :span="10"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | | 补录项目 |
| | | </div> |
| | | <el-table |
| | | :data="DataListss" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod2" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="260px"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">撤 销</el-button> |
| | | <!-- <el-button @click="cancel">取 消</el-button> --> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import { |
| | | listOrder, |
| | | getNumber, |
| | | hasReportEnd, |
| | | hasReport, |
| | | gettoPdf, |
| | | getPdf, |
| | | getOrderList, |
| | | getNewDateList, |
| | | revokeTjOrderByTjNum, |
| | | getTransitionInfo, |
| | | getBlproByTjh,revokeBlProByBldhAndTjh |
| | | } from "@/api/hosp/order"; |
| | | import moment from "moment"; |
| | | import { getwater } from "@/api/hosp/customer"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | import { projectGetList, getaddtTransition } from "@/api/system/tijian"; |
| | | import { |
| | | projectGetList, |
| | | getaddtTransition, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | } from "@/api/system/tijian"; |
| | | export default { |
| | | components: { |
| | | ViewPdf, |
| | |
| | | name: "Order", |
| | | data() { |
| | | return { |
| | | huizongList: [], |
| | | DataLists:[], |
| | | infoList: [], |
| | | bldhs:[], |
| | | activeName1: "second", |
| | | filterText: "", |
| | | orderIds: "", |
| | | tjnumbers: "", |
| | | Projectssopen: false, |
| | | title1: "", |
| | | cusIds: "", |
| | | userIds: "", |
| | | cusIdcard: "", |
| | |
| | | src: "", |
| | | url: "", |
| | | flag: true, |
| | | bill: null, |
| | | bill: [], |
| | | Treedata: [], |
| | | DataListss:[], |
| | | checkedkey: [], |
| | | checkedListkey: [], |
| | | defaultProps: { |
| | | children: "tjProjectList", |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | TreedataList: [], |
| | | discount: 10, |
| | | DataList: [], |
| | | // 套餐提交按钮 |
| | |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | dataObj: {}, |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getNowTime(); |
| | | this.getList(); |
| | | // this.getNowTime(); |
| | | |
| | | this.getdate(); |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | getdate() { |
| | | getNewDateList().then((res) => { |
| | | if (res.data) { |
| | | this.createTimeList = [ |
| | | moment(res.data).format("YYYY-MM-DD 00:00:00"), |
| | | moment(res.data).format("YYYY-MM-DD 23:59:00"), |
| | | ]; |
| | | this.getList(); |
| | | } |
| | | }); |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | // return data.proName.indexOf(value) !== -1; |
| | | if (data.proName.indexOf(value) !== -1) { |
| | | return data.proName.indexOf(value) !== -1; |
| | | } else { |
| | | return data.proEngName.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | // / 处理默认选中当前日期 |
| | | getNowTime() { |
| | | var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime(); |
| | | var dayNum = 7 * 24 * 3600 * 1000; |
| | | var threeDays = curDate - dayNum; |
| | | var sDay = this.getLocalTime(threeDays); |
| | | var end = this.getLocalTime(curDate); |
| | | this.createTimeList = [sDay, end]; |
| | | }, |
| | | add0(m) { |
| | | return m < 10 ? "0" + m : m; |
| | | }, |
| | | getLocalTime(nS) { |
| | | var time = new Date(nS); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | return ( |
| | | y + |
| | | "-" + |
| | | this.add0(m) + |
| | | "-" + |
| | | this.add0(d) + |
| | | " " + |
| | | this.add0(h) + |
| | | ":" + |
| | | this.add0(mm) |
| | | ); |
| | | }, |
| | | // getNowTime() { |
| | | // var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime(); |
| | | // var dayNum = 7 * 24 * 3600 * 1000; |
| | | // var threeDays = curDate - dayNum; |
| | | // var sDay = this.getLocalTime(threeDays); |
| | | // var end = this.getLocalTime(curDate); |
| | | // this.createTimeList = [sDay, end]; |
| | | // }, |
| | | // add0(m) { |
| | | // return m < 10 ? "0" + m : m; |
| | | // }, |
| | | // getLocalTime(nS) { |
| | | // var time = new Date(nS); |
| | | // var y = time.getFullYear(); |
| | | // var m = time.getMonth() + 1; |
| | | // var d = time.getDate(); |
| | | // var h = time.getHours(); |
| | | // var mm = time.getMinutes(); |
| | | // return ( |
| | | // y + |
| | | // "-" + |
| | | // this.add0(m) + |
| | | // "-" + |
| | | // this.add0(d) + |
| | | // " " + |
| | | // this.add0(h) + |
| | | // ":" + |
| | | // this.add0(mm) |
| | | // ); |
| | | // }, |
| | | dateChangebirthday1(val) { |
| | | this.startTime = val; |
| | | }, |
| | |
| | | if (this.startTime) { |
| | | this.queryParams.djbeginTime = this.startTime[0]; |
| | | this.queryParams.djendTime = this.startTime[1]; |
| | | } else if (this.createTimeList) { |
| | | this.queryParams.djbeginTime = this.createTimeList[0]; |
| | | this.queryParams.djendTime = this.createTimeList[1]; |
| | | } else if (this.createTimeList == null) { |
| | | this.queryParams.djbeginTime = null; |
| | | this.queryParams.djendTime = null; |
| | | } |
| | | if (this.startTime1) { |
| | | this.queryParams.bgbeginTime = this.startTime1[0]; |
| | |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | driver(row) { |
| | | return row.pacName == null ? "普通体检" : row.pacName; |
| | | }, |
| | | /** 点击显示导检单报表*/ //lige 开始 |
| | | handleReport(row) { |
| | |
| | | this.$message.error("该用户暂无项目!"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke() { |
| | | this.$confirm("您确认要撤销?", "确认信息", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | }) |
| | | .then(() => { |
| | | revokeTjOrderByTjNum(this.tjnumbers).then((res) => { |
| | | this.$modal.msgSuccess(res.msg); |
| | | this.getList(); |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | /** 点击显示体检报告报表*/ |
| | | // viewReport(row) { |
| | |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | hb() { |
| | | if (this.queryParams.tjNum != undefined) { |
| | | this.handleQuery(); |
| | | } |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.startTime = []; |
| | | this.startTime1 = []; |
| | | this.createTimeList = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | |
| | | getNumber(tjNumber).then((response) => { |
| | | // this.form = response.data; |
| | | this.numberList = response.data.charging; |
| | | this.bill = response.data.water; |
| | | this.bill =[] |
| | | var copeWith = 0; |
| | | var paidIn = 0; |
| | | var discount = "" |
| | | response.data.water.forEach(item => { |
| | | copeWith += item.copeWith; |
| | | paidIn+= item.copeWith; |
| | | discount= item.discount |
| | | }) |
| | | this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount}); |
| | | |
| | | this.title = "订单流水"; |
| | | }); |
| | | getTransitionInfo(tjNumber).then((res) => { |
| | | this.huizongList = res.data.huizong; |
| | | this.infoList = res.data.info; |
| | | this.huizongList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.infoList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | }); |
| | | }, |
| | | /** 订单明细按钮 */ |
| | |
| | | getNumber(tjNumber).then((response) => { |
| | | // this.form = response.data; |
| | | this.numberList = response.data.charging; |
| | | this.bill = response.data.water; |
| | | this.bill =[] |
| | | var copeWith = 0; |
| | | var paidIn = 0; |
| | | var discount = "" |
| | | response.data.water.forEach(item => { |
| | | copeWith += item.copeWith; |
| | | paidIn+= item.copeWith; |
| | | discount= item.discount |
| | | }) |
| | | this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount}); |
| | | |
| | | console.log(this.bill) |
| | | this.title = "订单流水"; |
| | | }); |
| | | getTransitionInfo(tjNumber).then((res) => { |
| | | this.huizongList = res.data.huizong; |
| | | this.infoList = res.data.info; |
| | | this.huizongList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.infoList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | |
| | | // 补录项目 |
| | | handleProject(row) { |
| | | this.loading = true; |
| | | this.DataList = []; |
| | | this.orderId = row.orderId; |
| | | this.cusId = row.tjCusIdCard; |
| | | this.userId = row.userId; |
| | |
| | | this.form.tjType = 0; |
| | | } |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | }); |
| | | this.getDataList(); |
| | | this.Projectopen = true; |
| | | this.title = "补录项目"; |
| | | }, |
| | | |
| | | getDataList() { |
| | | getProParentIdDxList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | this.checkedkey.push(this.Treedata[0].proId); |
| | | let proId = this.Treedata[0].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.DataList.forEach((item) => { |
| | | item.propinName = this.Treedata[0].proName; |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | revokeProject() { |
| | | getBlproByTjh(this.tjnumbers).then((res) => { |
| | | if (res.data) { |
| | | this.DataLists = res.data |
| | | this.Projectssopen = true; |
| | | this.title1 = "撤销补录"; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "该客户没有补录项目", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 补录项目 |
| | | handleProject1(row) { |
| | | handleProject1() { |
| | | this.loading = true; |
| | | this.DataList = []; |
| | | this.orderId = this.ids; |
| | | this.cusId = this.cusIds; |
| | | this.userId = this.userIds; |
| | |
| | | cusPhone: this.cusPhone, |
| | | cusSex: this.cusSex, |
| | | }; |
| | | if (row.tjType) { |
| | | this.form.tjType = parseInt(row.tjType); |
| | | } else { |
| | | this.form.tjType = 0; |
| | | } |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | }); |
| | | this.getDataList(); |
| | | this.Projectopen1 = true; |
| | | this.title = "补录项目"; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | if (!data.tjProjectList) { |
| | | return; |
| | | } |
| | | if (checked === true) { |
| | | this.DataList.push(data); |
| | | } else { |
| | | this.DataList.pop(data); |
| | | this.list1 = true; |
| | | } |
| | | // let DataList = selectedobj.checkedNodes |
| | | // if (DataList.length>0) { |
| | | // DataList.forEach(item => { |
| | | // if (nodeobj.proId === item.proId) { |
| | | // this.DataList = [] |
| | | // this.DataList.push(item) |
| | | |
| | | // this.list1 = false; |
| | | // } |
| | | // }) |
| | | // }else{ |
| | | // this.DataList = [] |
| | | // this.list1 = true; |
| | | // } |
| | | this.TotalPrice1 = 0; |
| | | this.proIds = []; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | this.proIds.push(item.proId); |
| | | this.dataObj = data; |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.tree.setCheckedKeys([data.proId]); |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.spliceData(); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == data.proId) { |
| | | item1.propinName = data.proName; |
| | | } |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.checkedListkey = []; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | spliceData() { |
| | | for (var i = 0; i < this.DataList.length; i++) { |
| | | for (var j = i + 1; j < this.DataList.length; j++) { |
| | | if (this.DataList[i].proId == this.DataList[j].proId) { |
| | | //如果第一个等于第二个,splice方法删除第二个 |
| | | this.DataList.splice(j, 1); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | return this.DataList; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked1(data, checked, checkedNodes) { |
| | | if (checked == false) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == true) { |
| | | this.DataList.push(data); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | | } |
| | | }); |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | // console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataList[rowIndex - 1]; |
| | | let nextRow = this.DataList[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataList[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | objectSpanMethod1({ row, column, rowIndex, columnIndex }) { |
| | | // console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["parent_pro_name"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.infoList[rowIndex - 1]; |
| | | let nextRow = this.infoList[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.infoList[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | objectSpanMethod2({ row, column, rowIndex, columnIndex }) { |
| | | // console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataListss[rowIndex - 1]; |
| | | let nextRow = this.DataListss[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataListss[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 收费按钮 |
| | | submitPrice() { |
| | | this.proIds = []; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | let data = { |
| | | cusId: this.cusId, |
| | | proIds: this.proIds, |
| | |
| | | }, |
| | | // 收费按钮 |
| | | submitPrice1() { |
| | | this.proIds = []; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | let data = { |
| | | cusId: this.cusIds, |
| | | proIds: this.proIds, |
| | |
| | | }); |
| | | }, |
| | | |
| | | handleProjectssChange(selection){ |
| | | this.DataListss =[] |
| | | this.bldhs = selection.map((item) => item.bldh); |
| | | selection.forEach(item => { |
| | | item.projectList.forEach(item1 => { |
| | | item1.children.forEach(item2 => { |
| | | this.DataListss.push(item2) |
| | | if(this.DataListss.length != 0){ |
| | | this.DataListss.forEach(item => { |
| | | if(item.proParentId ==item1.proId ) |
| | | item.propinName= item1.proName |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | // submitForm() { |
| | | // this.$refs["form"].validate(valid => { |
| | | // if (valid) { |
| | | // if (this.form.orderId != null) { |
| | | // updateOrder(this.form).then(response => { |
| | | // this.$modal.msgSuccess("修改成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } else { |
| | | // addOrder(this.form).then(response => { |
| | | // this.$modal.msgSuccess("新增成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } |
| | | // } |
| | | // }); |
| | | // }, |
| | | /** 删除按钮操作 */ |
| | | // handleDelete(row) { |
| | | // const orderIds = row.orderId || this.ids; |
| | | // this.$modal.confirm('是否确认删除体检记录编号为"' + orderIds + '"的数据项?').then(function() { |
| | | // return delOrder(orderIds); |
| | | // }).then(() => { |
| | | // this.getList(); |
| | | // this.$modal.msgSuccess("删除成功"); |
| | | // }).catch(() => {}); |
| | | // }, |
| | | submitForm() { |
| | | this.$confirm(" 是否撤销该补录项目?", "提示", { |
| | | confirmButtonText: "是", |
| | | cancelButtonText: "否", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | let data = { |
| | | tjh: this.tjnumbers, |
| | | bldhs:this.bldhs |
| | | } |
| | | revokeBlProByBldhAndTjh(data).then(res => { |
| | | this.Projectssopen =false |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消撤销", |
| | | }); |
| | | this.Projectssopen =false |
| | | }); |
| | | }, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download( |
| | |
| | | // } |
| | | |
| | | .outside { |
| | | width: 700px; |
| | | width: 500px; |
| | | display: flex; |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .tab3 { |
| | | max-height: 500px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | | } |
| | | |
| | | .outside1 { |
| | | width: 700px; |
| | | width: 500px; |
| | | display: flex; |
| | | margin-top: 8px; |
| | | } |