| | |
| | | <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-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 :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="exportDialogVisible = true" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >导出</el-button |
| | | > |
| | |
| | | size="mini" |
| | | @click="handleRevoke" |
| | | :loading="isLoading" |
| | | :disabled="single" |
| | | :disabled="singles" |
| | | >撤销签到</el-button |
| | | > |
| | | </el-col> |
| | |
| | | >强制撤销</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="ResumeAppointment" |
| | | :disabled="multiple" |
| | | >恢复预约</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | |
| | | border |
| | | v-loading="loading" |
| | | :data="orderList" |
| | | ref="tableRef" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | @check-change="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | |
| | | :props="defaultProps" |
| | | show-checkbox |
| | | node-key="proId" |
| | | @check="handleCurrentChecked" |
| | | @check-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | |
| | | <el-table |
| | | :data="DataList3" |
| | | border |
| | | style="width: 100%" |
| | | style="width: 100%; table-layout: fixed" |
| | | height="560" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | <el-table-column |
| | | prop="propinName" |
| | | label="检查项目" |
| | | width="200px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="200px"> |
| | | <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> |
| | |
| | | <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" |
| | |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | @check-change="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | |
| | | </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> |
| | |
| | | <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; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> --> |
| | | <el-input |
| | | placeholder="输入关键字进行过滤" |
| | | v-model="filterText" |
| | |
| | | :props="defaultProps" |
| | | show-checkbox |
| | | node-key="proId" |
| | | @check="handleCurrentChecked" |
| | | @check-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col :span="11"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <div class="outside1"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="TreedataList" |
| | | node-key="proId" |
| | | :props="defaultProps" |
| | | :filter-node-method="filterNode" |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </div> |
| | | </el-col> --> |
| | | <!-- <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> --> |
| | | <!-- <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column |
| | | prop="proName" |
| | | label="项目" |
| | | width="180" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> --> |
| | | <!-- </div> |
| | | </el-col> --> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | |
| | | <el-table |
| | | :data="DataList3" |
| | | border |
| | | style="width: 100%" |
| | | style="width: 100%; table-layout: fixed" |
| | | height="560" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | <el-table-column |
| | | prop="propinName" |
| | | label="检查项目" |
| | | width="200px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="200px"> |
| | | <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> |
| | |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加或修改体检记录对话框 --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="950px" |
| | | 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="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 :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-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-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-tab-pane label="明细项目" name="third" style="height: 450px"> |
| | | <!-- 移除 overflow-y: auto --> |
| | | <el-table |
| | | :data="infoList" |
| | | style="width: 100%" |
| | | max-height="330" |
| | | style="width: 100" |
| | | max-height="500" |
| | | :span-method="objectSpanMethod1" |
| | | > |
| | | <el-table-column |
| | |
| | | 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> |
| | | <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-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | <!-- <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> |
| | | </template> |
| | | |
| | |
| | | getOrderList, |
| | | getNewDateList, |
| | | revokeTjOrderByTjNum, |
| | | huifuyuyuejilu, |
| | | getTransitionInfo, |
| | | getBlproByTjh, |
| | | revokeBlProByBldhAndTjh, |
| | |
| | | getaddtTransition, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | getaddtTransition1, |
| | | } from "@/api/system/tijian"; |
| | | import { |
| | | SubmitCompany, |
| | |
| | | dataObj: {}, |
| | | // 非单个禁用 |
| | | single: true, |
| | | singles: false, |
| | | activeNames: "first", |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | tjNUms: [], |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | userId: "", |
| | |
| | | // 日期范围 |
| | | datetimerange: [], |
| | | marryalls: 0, |
| | | exportDialogVisible: false, // 控制弹框 |
| | | exportType: "0", // dqyorqbsj 的值,默认当前页 |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | }); |
| | | }, |
| | | |
| | | 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((action) => { |
| | | if (action === "cancel") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | // 不论操作成功还是失败,都会执行 |
| | | this.isLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke() { |
| | | this.isLoading = true; |
| | | this.$confirm("您确认要撤销?", "确认信息", { |
| | |
| | | // 多选框选中数据 |
| | | 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.ids = selection.map((item) => item.orderId); |
| | | 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; |
| | |
| | | // this.marryalls = 0; |
| | | // this.Datalists = []; |
| | | this.checkedkeys = []; |
| | | |
| | | this.DataList3 = []; |
| | | getZhList().then((response) => { |
| | | if (response.data) { |
| | | this.packageList = response.data; |
| | |
| | | }); |
| | | } else { |
| | | // this.TotalPrice1 = 0; |
| | | this.checkedkey = []; |
| | | this.checkedkeys = []; |
| | | // this.DataList = []; |
| | | this.Datalists = []; |
| | | this.DataList3 = []; |
| | | this.getDataList(); |
| | | // if (this.marryalls != 0) { |
| | | // this.TotalPrice1 += this.marryalls; |
| | | // } |
| | | } |
| | | }, |
| | | |
| | | handlepackage(data, checked, checkedNodes) { |
| | | 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++) { |
| | | let proId = this.packagedataList[i].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | 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 = { |
| | |
| | | this.marryalls += item1.proPrice; |
| | | // this.TotalPrice1 = this.marryalls; |
| | | this.TotalPrice1 = 0; |
| | | console.log(this.DataList3, 9999999999); |
| | | |
| | | if (this.DataList3.length != 0) { |
| | | this.DataList3.forEach((item) => { |
| | | console.log(item.proPrice); |
| | |
| | | }); |
| | | } 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> |
| | | ); |
| | |
| | | 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, |
| | |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | 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) => { |
| | |
| | | // } |
| | | // } |
| | | }); |
| | | } 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; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | |
| | | 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.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" 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; |