New file |
| | |
| | | <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="zhmc"> |
| | | <el-input |
| | | v-model="queryParams.zhmc" |
| | | placeholder="请输入套餐名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </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"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:package:add']" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUp" |
| | | v-hasPermi="['system:package:edit']" |
| | | >修改</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:package:remove']" |
| | | >删除</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:package:export']" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <!-- |
| | | element-loading-background="rgba(0, 0, 0, 0.1)" |
| | | element-loading-spinner="el-icon-loading" |
| | | element-loading-text="正在加载中..." --> |
| | | <template> |
| | | <el-table |
| | | v-loading="loading" |
| | | style="width: 100%" |
| | | :data="packageList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column |
| | | label="套餐名称" |
| | | align="center" |
| | | prop="zhmc" |
| | | width="150px" |
| | | /> |
| | | <el-table-column label="价格" width="80px" align="center" prop="price"> |
| | | </el-table-column> |
| | | <el-table-column label="单项列表" align="center" prop="allProName"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="排序" |
| | | width="50px" |
| | | align="center" |
| | | prop="xh" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | width="80px" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:package:edit']" |
| | | title="修改" |
| | | ></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:package:remove']" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <!-- 修改体检套餐对话框 --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1500px" |
| | | append-to-body |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <!-- <div class="dialo"> |
| | | <div class="dialo1"> --> |
| | | <el-form-item label="套餐名称" prop="zhmc"> |
| | | <span |
| | | slot="label" |
| | | style="display: inline-block; border-bottom: 2px solid blue" |
| | | @click="handlePackage" |
| | | > |
| | | 套餐名称 |
| | | </span> |
| | | <el-input |
| | | v-model="form.zhmc" |
| | | placeholder="请输入套餐名称" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="排序" prop="xh"> |
| | | <el-input |
| | | v-model="form.xh" |
| | | placeholder="请输入排序" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="价格" prop="pics"> |
| | | <el-input |
| | | v-model="pics" |
| | | placeholder="请输入价格" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="7"> |
| | | <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-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </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="TreedataList" |
| | | node-key="proId" |
| | | :props="defaultProps" |
| | | :filter-node-method="filterNode" |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | ref="trees" |
| | | :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> |
| | | <!-- <h3 style="font-weight: 600">合计:{{ pics }}元</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> |
| | | |
| | | <Packages ref="aaa" @add="handleChanges" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Packages from "@/components/Packages"; |
| | | import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian"; |
| | | import { |
| | | getZhList, |
| | | addzhxm, |
| | | modifyzhxm, |
| | | getPacInFo, |
| | | delzhxm, |
| | | addPackage, |
| | | updatePackage, |
| | | updateProject, |
| | | getPacTjProjectList, |
| | | } from "@/api/system/package"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | | name: "Package", |
| | | dicts: ["sys_normal_disable", "sys_yes_no", "dict_tjtype"], |
| | | components: { Packages }, |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | pics: 0, |
| | | filterText: "", |
| | | DataList: [], |
| | | list1: true, |
| | | activeName: "1", |
| | | checkedObj: {}, |
| | | dataObj: {}, |
| | | Treedata: [], |
| | | TreedataList: [], |
| | | treedataList: [], |
| | | checkedkey: [], |
| | | checkedListkey: [], |
| | | defaultProps: { |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | isCollapsed: true, // 默认为折叠状态 |
| | | keys: "", |
| | | dataListAll: [], |
| | | // 多选框 |
| | | priceNow: "", |
| | | checkAll: false, |
| | | isIndeterminate: true, |
| | | // 遮罩层 |
| | | loading: false, |
| | | radio: 3, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 体检套餐表格数据 |
| | | packageList: [], |
| | | // 套餐选中的父项 |
| | | allpackageList: [], |
| | | // 已选 |
| | | newproName: [], |
| | | // 所有体检项目· |
| | | allList: [], |
| | | treeList: [], |
| | | // 所有套餐数据 |
| | | // allpackage:[], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | Seachopen: false, |
| | | pacId: "", |
| | | // 查询参数 |
| | | queryParams: { |
| | | // pageNum: 1, |
| | | // pageSize: 10, |
| | | zhmc: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | forms: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | deleted: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | pacName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | pacStatus: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | // categoryId: [ |
| | | // { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | // ], |
| | | keywords: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | isOnSale: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | sort: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], |
| | | retailPrice: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | counterPrice: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | // return data.proName.indexOf(value) !== -1; |
| | | if (data.proName.indexOf(value) !== -1) { |
| | | return data.proName.indexOf(value) !== -1; |
| | | } else { |
| | | return data.proEngName.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | /** 查询体检套餐列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | getZhList(this.queryParams).then((response) => { |
| | | if (response.data) { |
| | | // response.data.forEach((item, index) => { |
| | | // item.newID = |
| | | // (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | // index + |
| | | // 1; |
| | | // }); |
| | | // this.total = response.total; |
| | | this.packageList = response.data; |
| | | } |
| | | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | sel(val) { |
| | | let id = val; |
| | | this.keys = ""; |
| | | id.forEach((item) => { |
| | | this.keys += item + ","; |
| | | }); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.Seachopen = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | zhmc: null, |
| | | xh: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | |
| | | handlePackage() { |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.getList(); |
| | | this.$refs.aaa.title = "套餐字典"; |
| | | }, |
| | | handleChanges(param1) { |
| | | this.form.pacName = param1[0].pacName; |
| | | this.form.hisPacId = param1[0].pacId; |
| | | if (param1[0].price) { |
| | | this.form.counterPrice = param1[0].price; |
| | | this.form.retailPrice = param1[0].price; |
| | | } |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | if (!selection[0]) { |
| | | return; |
| | | } |
| | | this.forms = selection[0]; |
| | | this.ids = selection.map((item) => item.id); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "体检套餐信息维护"; |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.getDataList(); |
| | | }, |
| | | |
| | | handleUp() { |
| | | this.title = "体检套餐信息维护"; |
| | | this.open = true; |
| | | // getPacTjProjectList().then((response) => { |
| | | // this.allList = response.data; |
| | | // this.loading = false; |
| | | // }); |
| | | this.form = this.forms; |
| | | |
| | | this.DataList = []; |
| | | // this.pics = 0; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.getDataList(); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.title = "体检套餐信息维护"; |
| | | this.open = true; |
| | | this.form = row; |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | // row.zhxmglpros.forEach(item => { |
| | | // this.checkedkey.push(item.proId); |
| | | // }) |
| | | |
| | | this.getDataList(); |
| | | }, |
| | | |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataList[rowIndex - 1]; |
| | | let nextRow = this.DataList[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataList[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | if (this.form.zhxmglpros) { |
| | | this.form.zhxmglpros.forEach((item) => { |
| | | this.Treedata.forEach((item1) => { |
| | | if (item.proId == item1.proId) { |
| | | this.checkedkey.push(item1.proId); |
| | | 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 { |
| | | this.checkedkey.push(this.Treedata[0].proId); |
| | | let proId = this.Treedata[0].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | item.disabled = true; |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.DataList.forEach((item) => { |
| | | item.propinName = this.Treedata[0].proName; |
| | | item.propinPrice = this.Treedata[0].proPrice; |
| | | }); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item) => { |
| | | this.pics += item.proPrice; |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | 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++) { |
| | | for (var j = i + 1; j < this.DataList.length; j++) { |
| | | if (this.DataList[i].proId == this.DataList[j].proId) { |
| | | //如果第一个等于第二个,splice方法删除第二个 |
| | | this.DataList.splice(j, 1); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | return this.DataList; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked1(data, checked, checkedNodes) { |
| | | if (checked == false) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.pics += item1.proPrice; |
| | | // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == true) { |
| | | this.DataList.push(data); |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.pics += item1.proPrice; |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | | } |
| | | }); |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.pics = 0; |
| | | this.DataList.forEach((item1) => { |
| | | // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.pics += item1.proPrice; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDeletes(row) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proParentId == row.proParentId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | // this.$refs.trees.setCheckedKeys([]); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | if (this.form.zhmc) { |
| | | this.form.zhxmglpros = []; |
| | | if (this.DataList.length != 0) { |
| | | this.treeList = JSON.parse(JSON.stringify(this.DataList)); |
| | | for (var i = 0; i < this.treeList.length; i++) { |
| | | for (var j = i + 1; j < this.treeList.length; j++) { |
| | | if ( |
| | | this.treeList[i].proParentId == this.treeList[j].proParentId |
| | | ) { |
| | | this.treeList.splice(j, 1); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | this.treeList.forEach((item) => { |
| | | this.form.zhxmglpros.push({ |
| | | // id: 0, |
| | | // proName: item.propinName, |
| | | // allSonProName: item.proName + ",", |
| | | // proPrice: item.propinPrice, |
| | | // priceNow: item.propinPrice, |
| | | proId: item.proParentId, |
| | | }); |
| | | }); |
| | | } |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | modifyzhxm(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addzhxm(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | Message.warning("请先填写套餐名称"); |
| | | } |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const pacIds = row.id || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认删除体检套餐编号为"' + pacIds + '"的数据项?') |
| | | .then(function () { |
| | | return delzhxm(pacIds); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** 分配套餐内项目操作 */ |
| | | handleProject: function (row) { |
| | | const pacId = row.pacId; |
| | | this.$router.push("/system/user-auth/role/" + pacId); |
| | | }, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download( |
| | | "system/package/export", |
| | | { |
| | | ...this.queryParams, |
| | | }, |
| | | `package_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | // 套餐详情 |
| | | // handleSeach(row) { |
| | | // this.Seachopen = true; |
| | | // this.loading = true; |
| | | // const pacId = row.pacId; |
| | | // this.pacId = row.pacId |
| | | // let data = { |
| | | // pacId: pacId, |
| | | // }; |
| | | // getAllPackage(data).then((response) => { |
| | | // this.allpackageList = response.data.tjProjectList; |
| | | // this.loading = false; |
| | | // let arr = []; |
| | | // this.allpackageList.forEach((item) => { |
| | | // arr.push(item.proName); |
| | | // }); |
| | | // this.newproName = arr; |
| | | // }); |
| | | |
| | | // getAllPackageList().then((response) => { |
| | | // this.allList = response.data; |
| | | // this.loading = false; |
| | | // }); |
| | | // }, |
| | | // // 全选 |
| | | // handleCheckAllChange(val) { |
| | | // this.newproName = val ? this.allList : []; |
| | | // this.isIndeterminate = false; |
| | | // }, |
| | | |
| | | // handleCheckedCitiesChange(value) { |
| | | // let checkedCount = value.length; |
| | | // this.checkAll = checkedCount === this.allList.length; |
| | | // this.isIndeterminate = |
| | | // checkedCount > 0 && checkedCount < this.allList.length; |
| | | // }, |
| | | |
| | | submitcheckbox() { |
| | | let _this = this; |
| | | let proIds = []; |
| | | this.allList.forEach((item) => { |
| | | _this.newproName.forEach((item1) => { |
| | | if (item.proName == item1) { |
| | | proIds.push(item.proId); |
| | | } |
| | | }); |
| | | }); |
| | | let data = { |
| | | pacid: Number(this.pacId), |
| | | proIds: proIds.toString(), |
| | | }; |
| | | |
| | | updateProject(data).then((response) => { |
| | | this.$modal.msgSuccess("成功"); |
| | | this.Seachopen = false; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .el-tooltip__popper { |
| | | max-width: 800px; |
| | | } |
| | | |
| | | .showInline { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | | |
| | | .dialog-footer { |
| | | position: absolute; |
| | | left: 40%; |
| | | bottom: 2%; |
| | | } |
| | | .tab3 { |
| | | max-height: 400px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | | } |
| | | /* .custom-tree-node { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | font-size: 14px; |
| | | padding-right: 8px; |
| | | } */ |
| | | </style> |