| | |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1500px" |
| | | width="1400px" |
| | | append-to-body |
| | | :close-on-click-modal="false" |
| | | > |
| | |
| | | </el-table-column> |
| | | </el-table> --> |
| | | |
| | | <el-row :gutter="11"> |
| | | <el-col :span="11"> |
| | | <el-row style="display: flex; width: 1300px;"> |
| | | <el-col> |
| | | <div |
| | | style="text-align: center; margin-bottom: 10px; margin-top: 10px" |
| | | > |
| | |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterText"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <div class="tab3" style="height: 365px;"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | <pagination |
| | | small |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.page" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getDataList" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col :span="6"> |
| | |
| | | </el-tree> |
| | | </div> |
| | | </el-col> --> |
| | | <el-col :span="11"> |
| | | <el-col> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | margin-left: 16%; |
| | | margin-left: 8%; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 80%; margin-left: 18%" |
| | | style="width: 90%; margin-left: 20px" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="proName" label="检查项目"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="proPrice" label="原价" align="center"> |
| | | <el-table-column |
| | | prop="priceOrd" |
| | | label="原价" |
| | | align="center" |
| | | width="80px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="折扣"> |
| | | <el-table-column label="折扣" width="100px"> |
| | | <template slot-scope="scope"> |
| | | <!-- 只输入纯数字折扣 --> |
| | | <el-input |
| | |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="priceNow" label="优惠价" align="center"> |
| | | <el-table-column |
| | | prop="priceNow" |
| | | label="优惠价" |
| | | width="80px" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete1(scope.row)" |
| | | title="删除" |
| | | > |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="proName" label="明细项目" width="260px"> |
| | | </el-table-column> --> |
| | |
| | | import Packages from "@/components/Packages"; |
| | | import { listCategory } from "@/api/mall/category"; |
| | | import { listKeyword } from "@/api/mall/keyword"; |
| | | import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian"; |
| | | // import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian"; |
| | | import { getProParentIdDxList, getProSonDxList } from "@/api/system/package"; |
| | | import { |
| | | getPacList, |
| | | getPacInFo, |
| | |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 体检套餐表格数据 |
| | | packageList: [], |
| | | // 套餐选中的父项 |
| | |
| | | open: false, |
| | | Seachopen: false, |
| | | pacId: "", |
| | | // 总条数 |
| | | total: 0, |
| | | // 查询参数 |
| | | queryParams: { |
| | | page: 1, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | pacName: null, |
| | |
| | | this.form = response.data; |
| | | this.form.keywords = this.form.keywords.slice(0, -1); |
| | | this.form.keywords = this.form.keywords.split(","); |
| | | this.DataList = []; |
| | | // this.DataList = []; |
| | | |
| | | // this.pics = 0; |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.DataList = response.data.packageProjects; |
| | | this.DataList.forEach((item) => { |
| | | this.checkedkey.push(item.proId); |
| | | this.checkedListkey.push(item.proId); |
| | | }); |
| | | |
| | | // 获取新的数据列表(如果需要) |
| | | this.getDataList(); |
| | | }); |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.title = "体检套餐信息维护"; |
| | |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.DataList = response.data.packageProjects; |
| | | this.DataList.forEach((item) => { |
| | | this.checkedkey.push(item.proId); |
| | | this.checkedListkey.push(item.proId); |
| | | }); |
| | | |
| | | // 获取新的数据列表(如果需要) |
| | | this.getDataList(); |
| | | }); |
| | | }, |
| | |
| | | }); |
| | | } else { |
| | | this.form.tjProjectList.splice(index, 1); |
| | | } |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete1(row) { |
| | | this.DataList = this.DataList.filter((item) => item.proId !== row.proId); |
| | | const tree = this.$refs.tree; |
| | | const node = tree.getNode(row.proId); // 根据节点的唯一标识获取节点对象 |
| | | if (node) { |
| | | node.setChecked(false); // 取消选中状态 |
| | | } |
| | | }, |
| | | |
| | |
| | | }) |
| | | .then(() => { |
| | | this.youhui = currentValue; |
| | | /* if (this.youhui < 10) { |
| | | this.youhui = 10; |
| | | // this.$modal.msgError(`该人员最高优惠权限为${this.getInfodis}折`); |
| | | } */ |
| | | this.DataList.forEach((item) => { |
| | | item.limits = this.youhui; |
| | | const proPrice = new Big(item.proPrice); |
| | | const proPrice = new Big(item.priceOrd); |
| | | const limits = new Big(item.limits); |
| | | const result = proPrice.times(limits.div(10)); |
| | | item.priceNow = result.toNumber(); |
| | |
| | | }, |
| | | |
| | | updateProPrice(row) { |
| | | const proPrice = new Big(row.proPrice); |
| | | const proPrice = new Big(row.priceOrd); |
| | | const limits = new Big(row.limits); |
| | | const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) |
| | | row.priceNow = result.toNumber(); |
| | |
| | | }, new Big(0)).toNumber(); |
| | | this.youhui = |
| | | (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10; |
| | | console.log(this.youhui, 1212); |
| | | }, |
| | | calculateDiscount(row) { |
| | | if (row.limits > 10) { |
| | |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | | getProParentIdDxList(this.queryParams).then((response) => { |
| | | this.Treedata = response.data.list; |
| | | if (this.form.tjProjectList) { |
| | | /* if (this.form.tjProjectList) { |
| | | this.form.tjProjectList.forEach((item) => { |
| | | this.Treedata.forEach((item1) => { |
| | | this.Treedata.forEach((item1) => { |
| | | if (item.proId == item1.proId) { |
| | | this.checkedkey.push(item1.proId); |
| | | |
| | | |
| | | this.DataList.push(item1); |
| | | |
| | | this.DataList.forEach((item1) => { |
| | | item1.limits = 10; |
| | | if (item1.limits > 10) { |
| | |
| | | } |
| | | this.updateProPrice(item1); // 更新价格或其他逻辑 |
| | | }); |
| | | |
| | | /* let proId = item1.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item2) => { |
| | | item2.disabled = true; |
| | | this.checkedListkey.push(item2.proId); |
| | | this.DataList.push(item2); |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | if (item.proParentId == item1.proId) { |
| | | item.propinName = item1.proName; |
| | | item.propinPrice = item1.proPrice; |
| | | } |
| | | }); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item) => { |
| | | this.pics += item.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | }); */ |
| | | |
| | | } |
| | | }); |
| | | }); |
| | | } else { |
| | | } */ /* else { |
| | | this.checkedkey.push(this.Treedata[0].proId); |
| | | let proId = this.Treedata[0].proId; |
| | | this.TreedataList = this.Treedata.filter( |
| | | (item) => item.proId == proId |
| | | ); |
| | | ); */ |
| | | |
| | | // 将第一个项目添加到 DataList |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | }); |
| | | /* getProSonDxList(proId).then((res) => { |
| | | // 将第一个项目添加到 DataList |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.checkedListkey.push(item.proId); |
| | | // this.DataList.push(item); |
| | | // }); |
| | | /* getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | item.disabled = true; |
| | |
| | | }); |
| | | }); |
| | | }); */ |
| | | } |
| | | // } |
| | | this.pics = this.DataList.reduce( |
| | | (total, item) => total + item.proPrice, |
| | | (total, item) => total + item.priceOrd, |
| | | 0 |
| | | ); |
| | | this.loading = false; |
| | |
| | | this.dataObj = data; |
| | | this.checkedObj = checked; |
| | | |
| | | if (checked == true) { |
| | | // 将选中的项目添加到 DataList |
| | | this.checkedListkey.push(data.proId); |
| | | if (checked) { |
| | | // 检查是否已存在于 DataL |
| | | this.DataList.push({ |
| | | proId: data.proId, |
| | | proName: data.proName, |
| | | proPrice: data.proPrice, // 原价 |
| | | limits: 10, // 默认折扣(100%) |
| | | priceNow: data.proPrice, // 默认优惠价与原价相同 |
| | | priceOrd: data.proPrice, // 原价,确保赋值正确 |
| | | limits: 10, |
| | | priceNow: data.proPrice, |
| | | }); |
| | | |
| | | // 重新计算总价 |
| | | this.pics = 0; |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item) => { |
| | | this.pics += item.proPrice; |
| | | this.form.counterPrice += item.proPrice; |
| | | this.TotalPrice1 += item.proPrice; // 可以根据需要改成优惠价 `priceNow` |
| | | }); |
| | | } else if (checked == false) { |
| | | // 从 DataList 中移除取消选中的项目 |
| | | |
| | | } else { |
| | | let index = this.DataList.findIndex( |
| | | (item) => item.proId === data.proId |
| | | ); |
| | | if (index !== -1) { |
| | | this.DataList.splice(index, 1); |
| | | } |
| | | |
| | | // 重新计算总价 |
| | | this.pics = 0; |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item) => { |
| | | this.pics += item.proPrice; |
| | | this.form.counterPrice += item.proPrice; |
| | | this.TotalPrice1 += item.proPrice; // 可以根据需要改成优惠价 `priceNow` |
| | | }); |
| | | } |
| | | this.pics = 0; |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item) => { |
| | | this.pics += item.priceOrd; |
| | | this.form.counterPrice += item.priceOrd; |
| | | this.TotalPrice1 += item.priceOrd; // 可以根据需要改成优惠价 `priceNow` |
| | | }); |
| | | }, |
| | | |
| | | /* 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); |
| | | this.DataList.push(item); |
| | | this.spliceData(); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.pics += item1.proPrice; |
| | | if (item1.proParentId == data.proId) { |
| | | item1.propinName = data.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | | } |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | this.pics = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | this.pics += item.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == false) { |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | item.disabled = true; |
| | | }); |
| | | this.checkedListkey = []; |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proParentId == this.dataObj.proId) { |
| | | this.DataList.splice(index, this.TreedataList.length); |
| | | } |
| | | }); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item, index) => { |
| | | this.pics += item.proPrice; |
| | | }); |
| | | }); |
| | | } |
| | | }, */ |
| | | |
| | | spliceData() { |
| | | for (var i = 0; i < this.DataList.length; i++) { |
| | |
| | | this.TotalPrice1 = 0; |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.pics += item1.proPrice; |
| | | this.pics += item1.priceOrd; |
| | | // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | |
| | | this.DataList.push(data); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.pics += item1.proPrice; |
| | | this.pics += item1.priceOrd; |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.pics += item1.proPrice; |
| | | this.pics += item1.priceOrd; |
| | | }); |
| | | } |
| | | }, |
| | |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | console.log(this.form, 999); |
| | | this.form.limits = this.youhui; |
| | | this.form.price = this.pics; |
| | | this.form.priceNow = this.queryParams.xianprice; |
| | |
| | | proId: item.proId, |
| | | priceNow: item.priceNow, |
| | | limits: item.limits, |
| | | priceOrd: item.proPrice, |
| | | priceOrd: item.priceOrd, |
| | | }); |
| | | }); |
| | | let data = { |