| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <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-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" |
| | | @blur="hb" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="体检项目" prop="xmmc"> |
| | | <el-input |
| | | ref="inputName" |
| | | v-model="queryParams.xmmc" |
| | | placeholder="请输入体检项目" |
| | | style="width: 120px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </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: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"> |
| | | <div v-loading="isLoading" element-loading-text="正在提交,请稍候..." element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;"> |
| | | <div class="app-container"> |
| | | <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: 150px" 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: 150px" clearable |
| | | @keyup.enter.native="handleQuery" @blur="hb" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检项目" prop="xmmc"> |
| | | <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="请输入体检项目" style="width: 150px" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="单位名称" prop="tjCompName" > |
| | | <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" |
| | | style="width: 200px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect"> |
| | | <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="zt"> |
| | | <el-select :remote-method="getRemoteData" v-model="queryParams.zt" style="width: 150px" remote filterable |
| | | placeholder="请选择状态" clearable @change="searchSelect"> |
| | | <el-option v-for="item in ztList" :key="item.id" :label="item.name" :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="登记时间" prop="createTimeList" style="margin-right: 107px"> |
| | | <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 clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择登记时间"> |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="完成时间" prop="finishTimeList"> |
| | | <!-- <el-form-item label="完成时间" prop="finishTimeList"> |
| | | <el-date-picker clearable v-model="queryParams.finishTimeList" 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 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> |
| | | </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-form> |
| | | <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> |
| | | </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-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <div v-if="shijianlist.length > 0" style="margin-bottom: 20px"> |
| | | {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }} |
| | | <el-steps :space="200" :active="shijianlist[shijianlist.length - 1].sjz" finish-status="success" align-center> |
| | | <el-step title="未检"></el-step> |
| | | <el-step title="在检"></el-step> |
| | | <el-step title="已完成"></el-step> |
| | | <el-step title="已审核"></el-step> |
| | | <el-step title="生成报告"></el-step> |
| | | <el-step title="报告核收"></el-step> |
| | | <el-step title="已打印"></el-step> |
| | | </el-steps> |
| | | </div> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | :disabled="singles" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="exportDialogVisible = true" |
| | | v-hasPermi="['hosp:order:export']">导出</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-col> |
| | | <el-col :span="1.5"> |
| | | <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="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-col> |
| | | <el-col :span="1.5"> |
| | | <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-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" @click="budadzd" :disabled="single" |
| | | v-hasPermi="['hosp:order:export']">打印补录单</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke" |
| | | :disabled="singles">撤销签到</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single" |
| | | v-hasPermi="['qzcx']">强制撤销</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" |
| | | :disabled="multiple">恢复预约</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <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-col> |
| | | <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-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="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" |
| | | > |
| | | <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="cardId" |
| | | :show-overflow-tooltip="true" |
| | | width="160px" |
| | | /> |
| | | <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> --> |
| | | <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" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <template> |
| | | <el-table border v-loading="loading" :data="orderList" ref="tableRef" @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="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"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> |
| | | <!-- <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="cardId" :show-overflow-tooltip="true" width="160px" /> |
| | | <el-table-column label="单位名称" align="center" prop="dictCompName" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="状态" align="center" prop="zt" :show-overflow-tooltip="true" /> |
| | | <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> --> |
| | | <el-table-column label="所选套餐" align="center" prop="pacName" :formatter="driver" |
| | | :show-overflow-tooltip="true" /> |
| | | <el-table-column label="导诊打印次数" align="center" prop="dycs" width="110px" :formatter="driver" |
| | | :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.dycs === null ? 0 : scope.row.dycs }} |
| | | </template> |
| | | </el-table-column> |
| | | <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"> |
| | | <!-- <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finishTime) }}</span> |
| | | </template> --> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180"> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <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" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <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 |
| | | </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="firmDeptName" /> --> |
| | | /> --> |
| | | |
| | | <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> |
| | | <!-- <el-table-column prop="checkStatus" label="审核状态" width="180"> |
| | | <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> --> |
| | | |
| | | <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> |
| | | <!-- <el-table-column prop="checkStatus" label="审核状态" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | scope.row.checkStatus == "1" ? "已审核" : "待审核" |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <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 type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click=" |
| | | <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 type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click=" |
| | | daoZhenDan, |
| | | LoadFileImg(scope.row); |
| | | "></el-button> --> |
| | | <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click=" |
| | | <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click=" |
| | | dialogVisible, |
| | | downLoadFileImg(scope.row); |
| | | "></el-button> --> |
| | | <!-- <el-button |
| | | <!-- <el-button |
| | | type="text" |
| | | size="mini" |
| | | class="btn" |
| | |
| | | title="体检报告" |
| | | @click="viewReport(scope.row)" |
| | | ></el-button> --> |
| | | <!-- <el-button |
| | | <!-- <el-button |
| | | type="text" |
| | | size="mini" |
| | | class="btn" |
| | |
| | | @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> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> --> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </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> |
| | | <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | <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> |
| | | <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 订单流水对话框 --> |
| | | <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " > |
| | | <!-- 订单流水对话框 --> |
| | | <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " > |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column prop="date" label="日期" width="180"> |
| | | </el-table-column> |
| | |
| | | </span> |
| | | </el-dialog> --> |
| | | |
| | | <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="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="导诊单" |
| | | :visible.sync="daoZhenDan" |
| | | :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="导诊单" :visible.sync="daoZhenDan" :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="Projectopen" |
| | | width="1100px" |
| | | style="height: 860px" |
| | | append-to-body |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 640px; margin: 0 10px; width: 100%" |
| | | @tab-click="handleClick" |
| | | v-model="activeNames" |
| | | > |
| | | <el-tab-pane label="组合" name="first"> |
| | | <div class="tab8"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="6"> |
| | | <div |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body |
| | | :close-on-click-modal="false"> |
| | | <div class="box"> |
| | | <div class="box1"> |
| | | <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> |
| | | 项目选择 |
| | | </div> |
| | | <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" |
| | | v-model="activeNames"> |
| | | <el-tab-pane label="组合" name="first"> |
| | | <div class="tab8"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="22"> |
| | | <!-- <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> --> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" |
| | | show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" ref="treas" :render-content="renderContents"> |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col :span="11"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packagedataList" |
| | | node-key="proId" |
| | | :props="defaultpackProps" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> --> |
| | | <!-- <el-col :span="11"> </el-col> --> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="third"> |
| | | <div class="tab8"> |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="22"> |
| | | <!-- <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packageList" |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | | :render-content="renderContents" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | </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-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" |
| | | :render-content="renderContent"> |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col :span="11"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packagedataList" |
| | | node-key="proId" |
| | | :props="defaultpackProps" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </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 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> |
| | | <el-table |
| | | :data="Datalists" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDel(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="third"> |
| | | <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"> |
| | | <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="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"> |
| | | <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> |
| | | </el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="Projectopen1" |
| | | width="1100px" |
| | | style="height: 860px" |
| | | append-to-body |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 640px; margin: 0 10px; width: 100%" |
| | | @tab-click="handleClick" |
| | | v-model="activeNames" |
| | | > |
| | | <el-tab-pane label="组合" name="first"> |
| | | <div class="tab8"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packageList" |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | | :render-content="renderContents" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packagedataList" |
| | | node-key="proId" |
| | | :props="defaultpackProps" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </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> |
| | | <el-table |
| | | :data="Datalists" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDel(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="third"> |
| | | <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"> |
| | | </el-col> --> |
| | | <!-- <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | </el-table> --> |
| | | <!-- <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <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> |
| | | </el-col> --> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加或修改体检记录对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body :close-on-click-modal="false"> |
| | | <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" |
| | | type="index" |
| | | 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" |
| | | type="index" |
| | | 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 |
| | | :close-on-click-modal="false" |
| | | > |
| | | <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" |
| | | > |
| | | 补录列表 |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </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 style="text-align: center; margin-bottom: 10px; margin-top: 9px"> |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataListss" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod2" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" |
| | | :span-method="objectspanmethod"> |
| | | <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="sl" label="数量" width="56px"> |
| | | </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 label="操作" align="center" class-name="small-padding fixed-width" width="50px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" |
| | | title="删除"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> |
| | | </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> |
| | | <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px"> |
| | | <!-- 体检类型 --> |
| | | <el-form-item label="体检类型" prop="tjType" style="display: flex"> |
| | | <div class="type"> |
| | | {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <!-- 原价 --> |
| | | <el-form-item label="原价" style="display: flex"> |
| | | <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 折扣设定 --> |
| | | <el-form-item label="折扣" style="display: flex"> |
| | | <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 应付金额 --> |
| | | <el-form-item label="应付" style="display: flex"> |
| | | <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 付款类型 --> |
| | | <el-form-item label="付款类型" prop="payType" style="display: flex"> |
| | | <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange"> |
| | | <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 label="结算方式" prop="jsType" style="display: flex"> |
| | | <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable> |
| | | <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- 提交按钮 --> |
| | | <el-form-item style="display: flex"> |
| | | <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm"> |
| | | 提交 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加补录项目 --> |
| | | <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body |
| | | :close-on-click-modal="false"> |
| | | <div class="box"> |
| | | <div class="box1"> |
| | | <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> |
| | | 项目选择 |
| | | </div> |
| | | <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" |
| | | v-model="activeNames"> |
| | | <el-tab-pane label="组合" name="first"> |
| | | <div class="tab8"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="22"> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" |
| | | show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" ref="treas" :render-content="renderContents"> |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="third"> |
| | | <div class="tab8"> |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="22"> |
| | | <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-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" |
| | | :render-content="renderContent"> |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | |
| | | <div class="grid-content bg-purple"> |
| | | <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" |
| | | :span-method="objectspanmethod"> |
| | | <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="sl" label="数量" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" |
| | | title="删除"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px"> |
| | | <!-- 体检类型 --> |
| | | <el-form-item label="体检类型" prop="tjType" style="display: flex"> |
| | | <div class="type"> |
| | | {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <!-- 原价 --> |
| | | <el-form-item label="原价" style="display: flex"> |
| | | <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 折扣设定 --> |
| | | <el-form-item label="折扣" style="display: flex"> |
| | | <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 应付金额 --> |
| | | <el-form-item label="应付" style="display: flex"> |
| | | <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 付款类型 --> |
| | | <el-form-item label="付款类型" prop="payType" style="display: flex"> |
| | | <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange"> |
| | | <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 label="结算方式" prop="jsType" style="display: flex"> |
| | | <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable> |
| | | <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- 提交按钮 --> |
| | | <el-form-item style="display: flex"> |
| | | <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm"> |
| | | 提交 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <!-- <div class="heji"> |
| | | <div class="o"> |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | style="display: flex; align-items: center" |
| | | > |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | | <div class="type"> |
| | | {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <div class="outsides"> |
| | | <el-form :inline="true" class="outside2" label-width="80px"> |
| | | <el-form-item label="原价" style="display: flex"> |
| | | <el-input |
| | | placeholder="原价" |
| | | :value="TotalPrice1" |
| | | disabled |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="折扣设定" style="display: flex"> |
| | | <el-input |
| | | style="width: 90px" |
| | | type="number" |
| | | v-model="discount" |
| | | :value="discount" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="应付金额" style="display: flex"> |
| | | <el-input |
| | | placeholder="应付金额" |
| | | :value="TotalPrice1 * (discount / 10)" |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType" style="display: flex"> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="payType" |
| | | placeholder="请选择付款类型" |
| | | @change="onPayTypeChange" |
| | | > |
| | | <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 label="结算方式" prop="payType"> |
| | | <el-select |
| | | v-model="payType" |
| | | placeholder="请选择结算方式" |
| | | style="width: 130px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.reservation_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item style="display: flex"> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice1" |
| | | :disabled="confirm" |
| | | >提交</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body :close-on-click-modal="false" |
| | | class="custom-dialog"> |
| | | <el-tabs v-model="activeName1" type="card"> |
| | | <el-tab-pane label="项目汇总" name="second" style="height: 400px"> |
| | | <el-table :data="huizongList" style="width: 100%" max-height="350"> |
| | | <el-table-column align="center" type="index" 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: 450px"> |
| | | <!-- 移除 overflow-y: auto --> |
| | | <el-table :data="infoList" style="width: 100" max-height="500" :span-method="objectSpanMethod1"> |
| | | <el-table-column align="center" type="index" 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 |
| | | :close-on-click-modal="false"> |
| | | <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> |
| | | |
| | | <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body |
| | | :close-on-click-modal="false"> |
| | | <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="dayin">打 印</el-button> |
| | | <!-- <el-button @click="cancel">取 消</el-button> --> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="请选择导出范围" :visible.sync="exportDialogVisible" width="30%"> |
| | | <el-radio-group v-model="exportType"> |
| | | <el-radio :label="'0'">当前页数据</el-radio> |
| | | <el-radio :label="'1'">全部数据</el-radio> |
| | | </el-radio-group> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="exportDialogVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="confirmExport">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | getOrderList, |
| | | getNewDateList, |
| | | revokeTjOrderByTjNum, |
| | | huifuyuyuejilu, |
| | | getTransitionInfo, |
| | | getBlproByTjh, |
| | | revokeBlProByBldhAndTjh, |
| | | getForceChexiao, |
| | | } from "@/api/hosp/order"; |
| | | import moment from "moment"; |
| | | import { getZhList, getlistByZhId } from "@/api/system/package"; |
| | | import { getwater } from "@/api/hosp/customer"; |
| | | import { getInfo } from "@/api/login"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | import { |
| | | projectGetList, |
| | | shijianzhou, |
| | | getaddtTransition, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | getaddtTransition1, |
| | | } from "@/api/system/tijian"; |
| | | import { |
| | | SubmitCompany, |
| | | getCompany, |
| | | queryCompany, |
| | | addbatch, |
| | | } from "@/api/team/tuanti"; |
| | | export default { |
| | | components: { |
| | | ViewPdf, |
| | | }, |
| | | dicts: ["dict_pay_type"], |
| | | dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"], |
| | | name: "Order", |
| | | data() { |
| | | return { |
| | | ztList: [ |
| | | { name: "未检", id: 0 }, |
| | | { name: "在检", id: 1 }, |
| | | { name: "已完成", id: 2 }, |
| | | { name: "已审核", id: 3 }, |
| | | { name: "生成报告", id: 4 }, |
| | | { name: "报告核收", id: 5 }, |
| | | { name: "已出报告", id: 6 }, |
| | | ], |
| | | DataList3: [], |
| | | bldhid: "", |
| | | budadaozhen: false, |
| | | isLoading: false, |
| | | isSubmit: false, |
| | | isSubmit1: false, |
| | | huizongList: [], |
| | | DataLists: [], |
| | | infoList: [], |
| | | bldhs: [], |
| | | CompanyList: [], |
| | | filterage: "", |
| | | activeName1: "second", |
| | | filterText: "", |
| | |
| | | packagedataList: [], |
| | | cusId: "", |
| | | payType: "0", |
| | | jsType: "0", |
| | | packageList: [], |
| | | checkedkeys: [], |
| | | dialogVisible: false, |
| | |
| | | TreedataList: [], |
| | | discount: 10, |
| | | DataList: [], |
| | | shijianlist: [], |
| | | // 套餐提交按钮 |
| | | confirm: false, |
| | | list1: true, |
| | | activeName: "1", |
| | | proIds: [], |
| | | TotalPrice1: 0, |
| | | TotalPrice6: 0, |
| | | TotalPrice7: 0, |
| | | numberList: [], |
| | | dialogVisible: false, |
| | | CheckBox: {}, |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | |
| | | dataObj: {}, |
| | | // 非单个禁用 |
| | | single: true, |
| | | singles: false, |
| | | activeNames: "first", |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | tjNUms: [], |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | userId: "", |
| | |
| | | // 日期范围 |
| | | datetimerange: [], |
| | | marryalls: 0, |
| | | exportDialogVisible: false, // 控制弹框 |
| | | exportType: "0", // dqyorqbsj 的值,默认当前页 |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | tjNum: null, |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | xmmc:null, |
| | | xmmc: null, |
| | | tjCompName: "", |
| | | dw: null, |
| | | }, |
| | | startTime: "", |
| | | startTime1: "", |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | findNameByTjnum(tjnum) { |
| | | const order = this.orderList.find( |
| | | (orderItem) => orderItem.tjNumber === tjnum |
| | | ); |
| | | return order ? order.tjCustomerName : "未找到"; // 如果找不到对应的项,返回一个默认值 |
| | | }, |
| | | // 搜索 |
| | | getRemoteData(query) { |
| | | if (query) { |
| | | let compName = query; |
| | | queryCompany(compName).then((response) => { |
| | | this.CompanyList = response.data; |
| | | this.CompanyList.forEach((item) => { |
| | | this.queryParams = item; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | // 选框数据 |
| | | searchSelect(val) { |
| | | this.CheckBox = val; |
| | | this.queryParams.dw = this.CheckBox.cnName; |
| | | console.log(this.CheckBox, 9999); |
| | | }, |
| | | onPayTypeChange() { |
| | | if (this.payType === "6" && this.form.tjType !== 3) { |
| | | this.cannotSelectPayType = true; |
| | | this.$message.warning("该付款类型在此体检类型下不允许选择!"); |
| | | this.payType = this.dict.type.dict_pay_type[0]?.value || null; |
| | | } else { |
| | | this.cannotSelectPayType = false; |
| | | } |
| | | }, |
| | | getdate() { |
| | | getNewDateList().then((res) => { |
| | | if (res.data) { |
| | |
| | | }, |
| | | /** 查询体检记录列表 */ |
| | | getList() { |
| | | this.queryParams.compId = this.CheckBox.drugManufacturerId; |
| | | 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.queryParams.bgendTime = this.startTime1[1]; |
| | | } |
| | | |
| | | this.loading = true; |
| | | getOrderList(this.queryParams).then((response) => { |
| | | this.orderList = response.data.list; |
| | | if (this.orderList) { |
| | | this.orderList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | } |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | }); |
| | | // 获取单位信息集合 |
| | | getCompany(this.queryParams).then((response) => { |
| | | this.CompanyList = response.data; |
| | | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | sub() { |
| | | this.queryParams.compId = this.CheckBox.drugManufacturerId; |
| | | if (this.startTime) { |
| | | this.queryParams.djbeginTime = this.startTime[0]; |
| | | this.queryParams.djendTime = this.startTime[1]; |
| | |
| | | }); |
| | | }, |
| | | /** 点击显示导检单报表*/ //lige 开始 |
| | | handleReport1(row) { |
| | | /* handleReport1(row) { |
| | | const tjNumber = this.tjnumbers; |
| | | const viewNum = "792931586196398080"; |
| | | getInfo().then(((res)=>{ |
| | | console.log(res,123); |
| | | |
| | | })) |
| | | const params = { viewNum, tjNumber }; |
| | | hasReport(tjNumber).then((res) => { |
| | | if (res == 1) { |
| | |
| | | this.$message.error("该用户暂无项目!"); |
| | | } |
| | | }); |
| | | }, */ |
| | | handleReport1(row) { |
| | | const tjNumber = this.tjnumbers; |
| | | const viewNum = "792931586196398080"; |
| | | // 先调用 getInfo 获取 userId |
| | | getInfo() |
| | | .then((res) => { |
| | | console.log(res, 1111); |
| | | |
| | | const dqdlr = res.user.userId; // 获取 userId |
| | | console.log("User ID:", dqdlr); |
| | | const params = { viewNum, tjNumber, dqdlr }; // 将 userId 加入 params |
| | | |
| | | // 再调用 hasReport 检查报告状态 |
| | | hasReport(tjNumber).then((reportRes) => { |
| | | if (reportRes === 1) { |
| | | this.$tab.openPage("导诊单", "/report/breDailyReport", params); |
| | | } else { |
| | | this.$message.error("该用户暂无项目!"); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("无法获取用户信息!"); |
| | | }); |
| | | }, |
| | | |
| | | // 强制撤销按钮 |
| | | ForceChexiao() { |
| | | this.isLoading = true; |
| | | const tjNum = this.tjnumbers; |
| | | this.$confirm( |
| | | "您是否需要强制撤销?撤销后该人员本次体检记录不可恢复!", |
| | | "确认信息", |
| | | { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | customClass: "custom-message-box", |
| | | } |
| | | ) |
| | | |
| | | .then(() => { |
| | | getForceChexiao(tjNum).then((res) => { |
| | | this.$modal.msgSuccess("撤销成功"); |
| | | this.isLoading = false; |
| | | this.getList(); |
| | | }).catch(() => { |
| | | console.log("加载失败") |
| | | this.isLoading = false; |
| | | }).finally(() => { |
| | | console.log("加载失败") |
| | | // 不论操作成功还是失败,都会执行 |
| | | this.isLoading = false; |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.isLoading = false; |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }); |
| | | this.$nextTick(() => { |
| | | // 确保弹框渲染后应用样式 |
| | | const messageBox = document.querySelector( |
| | | ".custom-message-box .el-message-box__message" |
| | | ); |
| | | if (messageBox) { |
| | | messageBox.style.color = "red"; // 通过 JS 强制设置颜色 |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | ResumeAppointment() { |
| | | this.isLoading = true; |
| | | this.$confirm("您确认要恢复预约?", "确认信息", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | }) |
| | | .then(() => { |
| | | huifuyuyuejilu(this.tjNUms).then((res) => { |
| | | this.$modal.msgSuccess("恢复成功"); |
| | | this.isLoading = false; |
| | | this.getList(); |
| | | }).catch(() => { |
| | | console.log("加载失败") |
| | | this.isLoading = false; |
| | | }).finally(() => { |
| | | console.log("加载失败") |
| | | // 不论操作成功还是失败,都会执行 |
| | | this.isLoading = false; |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.isLoading = false; |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | // 不论操作成功还是失败,都会执行 |
| | | |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke() { |
| | | this.isLoading = true; |
| | | this.$confirm("您确认要撤销?", "确认信息", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | |
| | | }) |
| | | .then(() => { |
| | | revokeTjOrderByTjNum(this.tjnumbers).then((res) => { |
| | | this.$modal.msgSuccess(res.msg); |
| | | this.$modal.msgSuccess("撤销成功"); |
| | | this.isLoading = false; |
| | | this.getList(); |
| | | }).catch(() => { |
| | | console.log("加载失败") |
| | | this.isLoading = false; |
| | | }).finally(() => { |
| | | console.log("加载失败") |
| | | // 不论操作成功还是失败,都会执行 |
| | | this.isLoading = false; |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.isLoading = false; |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | |
| | | }); |
| | | }, |
| | | /** 点击显示体检报告报表*/ |
| | |
| | | djendTime: null, |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | dw: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | // this.getList(); |
| | | this.sub(); |
| | | }, |
| | | renderContents(h, { node, data, store }) { |
| | | return ( |
| | |
| | | this.startTime1 = []; |
| | | this.createTimeList = []; |
| | | this.resetForm("queryForm"); |
| | | this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | djbeginTime: null, |
| | | djendTime: null, |
| | | tjNum: null, |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | xmmc: null, |
| | | tjCompName: "", |
| | | dw: null, |
| | | }; |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | let tjNUms = selection.map((item) => item.tjNumber); |
| | | this.tjNUms = selection.map((item) => item.tjNumber); |
| | | selection.forEach((item) => { |
| | | this.orderIds = item.orderId; |
| | | this.tjnumbers = item.tjNumber; |
| | |
| | | this.cusSex = item.tjCustomerSex; |
| | | this.form.tjType = parseInt(item.tjType); |
| | | }); |
| | | |
| | | this.ids = selection.map((item) => item.orderId); |
| | | // this.tjNumbers = selection.map((item) => item.tjNumber); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | this.singles = selection.length !== 1; |
| | | if (tjNUms.length > 0) { |
| | | shijianzhou(tjNUms).then((res) => { |
| | | this.shijianlist = res.data; |
| | | }); |
| | | } else { |
| | | this.shijianlist = []; |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | // handleAdd() { |
| | |
| | | var discount = ""; |
| | | response.data.water.forEach((item) => { |
| | | copeWith += item.copeWith; |
| | | paidIn += item.copeWith; |
| | | paidIn += item.paidIn; |
| | | discount = item.discount; |
| | | }); |
| | | this.bill.push({ |
| | |
| | | var discount = ""; |
| | | response.data.water.forEach((item) => { |
| | | copeWith += item.copeWith; |
| | | paidIn += item.copeWith; |
| | | paidIn += item.paidIn; |
| | | discount = item.discount; |
| | | }); |
| | | this.bill.push({ |
| | |
| | | discount: discount, |
| | | }); |
| | | |
| | | console.log(this.bill); |
| | | this.title = "订单流水"; |
| | | }); |
| | | getTransitionInfo(tjNumber).then((res) => { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | budadzd() { |
| | | this.bldhs = []; |
| | | this.bldhid = ""; |
| | | getBlproByTjh(this.tjnumbers).then((res) => { |
| | | if (res.data) { |
| | | this.DataLists = res.data; |
| | | this.budadaozhen = true; |
| | | this.title1 = "补打导诊单"; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "该客户没有补录项目", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | dayin() { |
| | | // this.bldhs = []; |
| | | console.log(this.bldhs); |
| | | this.bldhid.toString(this.bldhs); |
| | | this.bldhs.forEach((item) => { |
| | | console.log(item, 666); |
| | | this.bldhid += item + ","; |
| | | }); |
| | | // this.bldhid = this.bldhs.toString() |
| | | console.log(this.bldhid); |
| | | const tjNumber = this.tjnumbers; |
| | | const viewNum = "983185234038140928"; |
| | | const jxbz = this.bldhid; |
| | | // const params = { viewNum, tjNumber, jxbz }; |
| | | // console.log(params); |
| | | getInfo().then((res) => { |
| | | console.log(res, 1111); |
| | | const dqdlr = res.user.userId; // 获取 userId |
| | | const params = { viewNum, tjNumber, jxbz, dqdlr }; |
| | | |
| | | hasReport(tjNumber).then((res) => { |
| | | if (res == 1) { |
| | | this.$tab.openPage("导诊单", "/report/budabreDailyReport", params); |
| | | this.budadaozhen = false; |
| | | } else { |
| | | this.$message.error("该用户暂无项目!"); |
| | | } |
| | | }); |
| | | }); |
| | | /* hasReport(tjNumber).then((res) => { |
| | | if (res == 1) { |
| | | this.$tab.openPage("导诊单", "/report/budabreDailyReport", params); |
| | | this.budadaozhen = false; |
| | | } else { |
| | | this.$message.error("该用户暂无项目!"); |
| | | } |
| | | }); */ |
| | | }, |
| | | |
| | | handleClick(tab, event) { |
| | | if (this.activeNames == "first") { |
| | | this.marryalls = 0; |
| | | this.Datalists = []; |
| | | // this.marryalls = 0; |
| | | // this.Datalists = []; |
| | | this.checkedkeys = []; |
| | | |
| | | this.DataList3 = []; |
| | | getZhList().then((response) => { |
| | | if (response.data) { |
| | | this.packageList = response.data; |
| | |
| | | this.loading = false; |
| | | }); |
| | | } else { |
| | | console.log(111) |
| | | this.TotalPrice1 = 0; |
| | | this.checkedkey =[] |
| | | this.DataList = [] |
| | | // this.TotalPrice1 = 0; |
| | | this.checkedkeys = []; |
| | | // this.DataList = []; |
| | | this.Datalists = []; |
| | | this.DataList3 = []; |
| | | this.getDataList(); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | // if (this.marryalls != 0) { |
| | | // this.TotalPrice1 += this.marryalls; |
| | | // } |
| | | } |
| | | }, |
| | | |
| | | handlepackage(data, checked, checkedNodes) { |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.treas.setCheckedKeys([data.id]); |
| | | if (checked == true) { |
| | | // this.$refs.treas.setCheckedKeys([data.id]); |
| | | let datas = { |
| | | zhId: data.id, |
| | | }; |
| | | |
| | | getlistByZhId(datas).then((res) => { |
| | | this.packagedataList = res.data.tjProjectList; |
| | | for (var i = 0; i < this.packagedataList.length; i++) { |
| | |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.Datalists.push(item); |
| | | }); |
| | | |
| | | // 合并 Datalists 和 DataList 到 DataList3 |
| | | this.DataList3 = this.DataList.concat(this.Datalists); |
| | | |
| | | // 清空累加器 |
| | | this.marryalls = 0; |
| | | this.TotalPrice1 = 0; |
| | | |
| | | // 重新计算价格 |
| | | this.DataList3.forEach((item) => { |
| | | console.log(item.proPrice); |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | this.marryalls += item.proPrice * item.sl; |
| | | }); |
| | | |
| | | // 为每个项目添加 propinName |
| | | this.Datalists.forEach((item1) => { |
| | | this.packagedataList.forEach((item3) => { |
| | | if (item1.proParentId == item3.proId) { |
| | | item1.propinName = item3.proName; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == false) { |
| | | let datas = { |
| | | zhId: data.id, |
| | | }; |
| | | |
| | | this.marryalls = 0; |
| | | |
| | | // 清空 Datalists 和 DataList3 |
| | | this.Datalists = []; |
| | | this.DataList3 = [...this.DataList]; // 重新设置 DataList3,仅包含原始 DataList |
| | | |
| | | getlistByZhId(datas).then((res) => { |
| | | this.packagedataList = res.data.tjProjectList; |
| | | for (var i = 0; i < this.packagedataList.length; i++) { |
| | | let proId = this.packagedataList[i].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.checkedListkey = this.checkedListkey.filter( |
| | | (id) => id !== proId |
| | | ); |
| | | |
| | | // 从 DataList3 中移除相关的子项 |
| | | this.DataList3 = this.DataList3.filter( |
| | | (item) => item.proParentId !== proId |
| | | ); |
| | | |
| | | // 更新总价格 |
| | | this.TotalPrice1 = 0; // 清空价格 |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice; |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /* handlepackage(data, checked, checkedNodes) { |
| | | console.log(checked, 3333); |
| | | |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.treas.setCheckedKeys([data.id]); |
| | | let datas = { |
| | | zhId: data.id, |
| | | }; |
| | | |
| | | getlistByZhId(datas).then((res) => { |
| | | this.packagedataList = res.data.tjProjectList; |
| | | |
| | | for (var i = 0; i < this.packagedataList.length; i++) { |
| | | let proId = this.packagedataList[i].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.Datalists.push(item); |
| | | this.DataList3 = this.DataList.concat(this.Datalists); |
| | | if (this.Datalists.length >= 1) { |
| | | this.marryalls = 0; |
| | | this.Datalists.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | // this.TotalPrice1 = this.marryalls; |
| | | this.TotalPrice1 = 0; |
| | | |
| | | if (this.DataList3.length != 0) { |
| | | this.DataList3.forEach((item) => { |
| | | console.log(item.proPrice); |
| | | this.TotalPrice1 += item.proPrice; |
| | | }); |
| | | } |
| | | this.packagedataList.forEach((item3) => { |
| | | if (item1.proParentId == item3.proId) { |
| | | item1.propinName = item3.proName; |
| | |
| | | }); |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | } |
| | | }, |
| | | }, */ |
| | | |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | |
| | | |
| | | // 补录项目 |
| | | handleProject(row) { |
| | | this.payType = "0"; |
| | | this.loading = true; |
| | | this.DataList = []; |
| | | this.DataList3 = []; |
| | | this.Datalists = []; |
| | | this.TotalPrice1 = 0; |
| | | this.orderId = row.orderId; |
| | | this.cusId = row.tjCusIdCard; |
| | | this.userId = row.userId; |
| | | console.log(row, 666); |
| | | this.$nextTick(() => { |
| | | this.$refs.tableRef.clearSelection(); // 清除所有选中 |
| | | this.$refs.tableRef.toggleRowSelection(row, true); // 选中当前行 |
| | | }); |
| | | |
| | | this.customer = { |
| | | cusIdcard: row.tjCusIdCard, |
| | | cusName: row.tjCustomerName, |
| | |
| | | this.activeNames = "first"; |
| | | /** 查询部门下拉树结构 */ |
| | | this.handleClick(); |
| | | |
| | | |
| | | this.Projectopen = true; |
| | | this.title = "补录项目"; |
| | | }, |
| | |
| | | }, |
| | | // 补录项目 |
| | | handleProject1() { |
| | | this.payType = "0"; |
| | | this.loading = true; |
| | | this.DataList = []; |
| | | this.DataList3 = []; |
| | | this.Datalists = []; |
| | | this.TotalPrice1 = 0; |
| | | this.orderId = this.ids; |
| | | this.cusId = this.cusIds; |
| | | this.userId = this.userIds; |
| | |
| | | this.activeNames = "first"; |
| | | /** 查询部门下拉树结构 */ |
| | | this.handleClick(); |
| | | |
| | | |
| | | this.Projectopen1 = true; |
| | | this.title = "补录项目"; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | /* handleCurrentChecked(data, checked, checkedNodes) { |
| | | this.dataObj = data; |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.checkedObj = checked; |
| | | if (checked == true) { |
| | | this.$refs.tree.setCheckedKeys([data.proId]); |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.DataList3 = this.DataList.concat(this.Datalists); |
| | | this.spliceData(); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == data.proId) { |
| | |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | if (this.DataList3.length != 0) { |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | } |
| | | // this.TotalPrice1 = 0; |
| | | // if (this.DataList.length != 0) { |
| | | // this.list1 = false; |
| | | // this.DataList.forEach((item) => { |
| | | // this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | // }); |
| | | // if (this.marryalls != 0) { |
| | | // this.TotalPrice1 += this.marryalls; |
| | | // } |
| | | // } |
| | | }); |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | } else if (checked == false) { |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.checkedListkey = []; |
| | | this.TreedataList.forEach((item) => { |
| | | item.disabled = true; |
| | | }); |
| | | this.DataList3.forEach((item, index) => { |
| | | if (item.proParentId == this.dataObj.proId) { |
| | | this.DataList3.splice(index, this.TreedataList.length); |
| | | } |
| | | }); |
| | | |
| | | // 手动更新总价格 |
| | | this.TotalPrice1 = 0; |
| | | this.DataList3.forEach((item, index) => { |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | }); |
| | | }); |
| | | } |
| | | }, */ |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | this.dataObj = data; |
| | | this.checkedObj = checked; |
| | | |
| | | if (checked === true) { |
| | | // this.$refs.tree.setCheckedKeys([data.proId]); |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | |
| | | this.TreedataList.forEach((item) => { |
| | | // item.disabled = true; |
| | | // this.checkedListkey.push(item.proId); |
| | | if (!this.checkedListkey.includes(item.proId)) { |
| | | this.checkedListkey.push(item.proId); |
| | | } |
| | | this.Datalists.push(item); |
| | | |
| | | this.DataList3.push(item); |
| | | |
| | | this.spliceData(); |
| | | this.DataList3.forEach((item1) => { |
| | | this.TotalPrice1 += item1.proPrice * item1.sl; |
| | | if (item1.proParentId == data.proId) { |
| | | item1.propinName = data.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 更新总价格 |
| | | this.TotalPrice1 = 0; |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | }); |
| | | }); |
| | | } else if (checked === false) { |
| | | // 当取消选中时 |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | |
| | | // 遍历 TreedataList 并移除相关的子项 ID |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey = this.checkedListkey.filter( |
| | | (id) => id !== item.proId |
| | | ); |
| | | }); |
| | | |
| | | this.Datalists = this.Datalists.filter( |
| | | (item) => item.proParentId !== proId |
| | | ); |
| | | |
| | | // 从 DataList3 中移除相关的子项 |
| | | this.DataList3 = this.DataList3.filter( |
| | | (item) => item.proParentId !== proId |
| | | ); |
| | | |
| | | // 更新总价格 |
| | | this.TotalPrice1 = 0; |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | } |
| | | }); |
| | | } else if (checked == true) { |
| | |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | console.log(item1.proPrice, 3322); |
| | | console.log(this.TotalPrice1, 1122); |
| | | |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | |
| | | }); |
| | | } |
| | | }); |
| | | this.DataList3.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataList3.splice(index, 1); |
| | | this.marryalls = 0; |
| | | this.DataList3.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | 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; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | } |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice; |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | this.TotalPrice1 += this.marryalls; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | |
| | | // 收费按钮 |
| | | submitPrice() { |
| | | this.proIds = []; |
| | | this.isSubmit = true; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | |
| | | }; |
| | | getaddtTransition(data).then((response) => { |
| | | if (response.code === 200) { |
| | | this.DataList = []; |
| | | this.DataList3 = []; |
| | | this.DataLists = []; |
| | | this.TotalPrice1 = 0; |
| | | let tjType = this.form.tjType; |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = copeWith * (this.discount / 10); |
| | |
| | | payType: this.payType, |
| | | }; |
| | | getwater(data).then((res) => { |
| | | this.isSubmit = false; |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.mobanId = res.data.mobanId; |
| | | this.waterId = res.data.waterId; |
| | |
| | | // 收费按钮 |
| | | submitPrice1() { |
| | | this.proIds = []; |
| | | this.isSubmit1 = true; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | |
| | | cusId: this.cusIds, |
| | | proIds: this.proIds, |
| | | }; |
| | | getaddtTransition(data).then((response) => { |
| | | getaddtTransition1(data).then((response) => { |
| | | console.log(123456789); |
| | | |
| | | if (response.code === 200) { |
| | | // this.DataList3 = []; |
| | | // this.DataList = []; |
| | | // this.DataList3 = []; |
| | | let tjType = this.form.tjType; |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = copeWith * (this.discount / 10); |
| | |
| | | discount, |
| | | copeWith, |
| | | tjType, |
| | | payStasus: this.jsType, |
| | | orderId: this.orderIds, |
| | | tjProIds: this.proIds, |
| | | payType: this.payType, |
| | | }; |
| | | |
| | | getwater(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.mobanId = res.data.mobanId; |
| | |
| | | const params = { viewNum, tjnumber }; |
| | | this.$tab.openPage("收款小票", "/report/charge", params); |
| | | this.Projectopen1 = false; |
| | | this.Projectopen = false; |
| | | this.isSubmit1 = false; |
| | | }); |
| | | } |
| | | this.isSubmit1 = false; |
| | | }); |
| | | }, |
| | | |
| | | handleProjectssChange(selection) { |
| | | this.DataListss = []; |
| | | this.selection = []; |
| | | |
| | | this.bldhs = selection.map((item) => item.bldh); |
| | | selection.forEach((item) => { |
| | | item.projectList.forEach((item1) => { |
| | |
| | | this.Projectssopen = false; |
| | | }); |
| | | }, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.$confirm("请选择导出范围", "导出数据", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "导出全部", |
| | | cancelButtonText: "仅导出当前页", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | // 用户点击了“导出全部” |
| | | this.exportData(true); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | // 用户点击了“仅导出当前页” |
| | | this.exportData(false); |
| | | } |
| | | }); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | /* handleExport() { |
| | | console.log(this.queryParams); |
| | | this.download( |
| | | "hosp/order/export", |
| | | "/hosp/order/exportOrderList", |
| | | { |
| | | ...this.queryParams, |
| | | }, |
| | | `order_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, */ |
| | | confirmExport() { |
| | | this.exportDialogVisible = false; |
| | | |
| | | |
| | | const exportParams = { |
| | | ...this.queryParams, |
| | | dqyorqbsj: this.exportType, // 添加这个字段 |
| | | }; |
| | | |
| | | this.download( |
| | | "/hosp/order/exportOrderList", |
| | | exportParams, |
| | | `order_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | | <style lang="scss" scoped> |
| | | .custom-dialog { |
| | | /* 自定义弹出框的最小高度 */ |
| | | min-height: 600px; |
| | | /* 从默认高度增加到 600px,可以根据需要调整 */ |
| | | } |
| | | |
| | | /* 调整 el-tabs 的内容区域高度 */ |
| | | ::v-deep .el-tabs__content { |
| | | min-height: 500px; |
| | | /* 确保选项卡内容区域有足够高度 */ |
| | | } |
| | | |
| | | /* 调整对话框的主体部分 */ |
| | | ::v-deep .el-dialog__body { |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* 可选:调整 footer 的样式 */ |
| | | .dialog-footer { |
| | | padding: 10px 20px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | // .el-dialog__body { |
| | | // padding: 20px; |
| | | // } |
| | | ::v-deep .el-message-box__message { |
| | | color: red !important; |
| | | /* 强制设置颜色为红色 */ |
| | | } |
| | | |
| | | // .custom-message-box .el-message-box__message { |
| | | // color: red !important; /* 设置文字为红色 */ |
| | | // } |
| | | .o { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .outside { |
| | | width: 500px; |
| | |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .outsides { |
| | | width: 500px; |
| | | display: flex; |
| | | // margin-top: 12px; |
| | | // margin-right: 40%; |
| | | } |
| | | |
| | | .tab3 { |
| | | max-height: 500px; |
| | | max-height: 420px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | | } |
| | |
| | | display: flex; |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .outside2 { |
| | | width: 500px; |
| | | display: flex; |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .heji { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .box { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .box1 { |
| | | width: 50%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | ::v-deep .el-step__title.is-process { |
| | | color: rgb(24, 144, 255); |
| | | } |
| | | |
| | | ::v-deep .el-step__head.is-process { |
| | | color: rgb(24, 144, 255); |
| | | border-color: rgb(24, 144, 255); |
| | | } |
| | | |
| | | .shijian { |
| | | display: flex; |
| | | align-items: flex-start; |
| | | } |
| | | </style> |