| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="套餐名称" prop="pacName"> |
| | | <el-input v-model="queryParams.pacName" placeholder="请输入套餐名称" clearable @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | v-model="queryParams.pacName" |
| | | placeholder="请输入套餐名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="套餐描述" prop="pacRemark"> |
| | | <el-input v-model="queryParams.pacRemark" placeholder="请输入套餐描述" clearable @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | v-model="queryParams.pacRemark" |
| | | placeholder="请输入套餐描述" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="套餐分类" prop="categoryId"> |
| | | <el-select v-model="queryParams.categoryId" placeholder="请选择状态" style="width: 200px" filterable clearable> |
| | | <el-option v-for="dict in categoryList" :key="dict.id" :label="dict.name" :value="dict.id"></el-option> |
| | | <el-select |
| | | v-model="queryParams.categoryId" |
| | | placeholder="请选择状态" |
| | | style="width: 200px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in categoryList" |
| | | :key="dict.id" |
| | | :label="dict.name" |
| | | :value="dict.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['system:package:add']">新增</el-button> |
| | | <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-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-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-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> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <!-- |
| | |
| | | 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 fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="序号" align="center" width="50" prop="newID" fixed /> |
| | | <el-table |
| | | v-loading="loading" |
| | | style="width: 100%" |
| | | :data="packageList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | > |
| | | <el-table-column |
| | | fixed |
| | | type="selection" |
| | | width="40" |
| | | align="center" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | width="50" |
| | | prop="newID" |
| | | fixed |
| | | /> |
| | | <!-- <el-table-column label="编号" align="center" prop="pacId" /> --> |
| | | <el-table-column label="套餐分类" width="100px" align="center" prop="categoryNames" fixed></el-table-column> |
| | | <el-table-column label="套餐名称" align="center" prop="pacName" width="150px" fixed /> |
| | | <el-table-column label="价格" width="80px" align="center" prop="price" fixed> |
| | | <el-table-column |
| | | label="套餐分类" |
| | | width="100px" |
| | | align="center" |
| | | prop="categoryNames" |
| | | fixed |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="套餐名称" |
| | | align="center" |
| | | prop="pacName" |
| | | width="150px" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | label="价格" |
| | | width="80px" |
| | | align="center" |
| | | prop="price" |
| | | fixed |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="单项列表" align="center" prop="allProName" width="1200px"> |
| | | <el-table-column |
| | | label="单项列表" |
| | | align="center" |
| | | prop="allProName" |
| | | width="1200px" |
| | | > |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="项目明细" |
| | |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column>--> |
| | | <el-table-column label="套餐描述" align="center" :show-overflow-tooltip="true" width="120px"> |
| | | <el-table-column |
| | | label="套餐描述" |
| | | align="center" |
| | | :show-overflow-tooltip="true" |
| | | width="120px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div class="showInline">{{ scope.row.pacRemark }}</div> |
| | | </template> |
| | |
| | | </template> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column label="关键字" width="110px" align="center" prop="keyNames"></el-table-column> |
| | | <el-table-column label="是否上架" width="94px" align="center" prop="isOnSale"> |
| | | <el-table-column |
| | | label="关键字" |
| | | width="110px" |
| | | align="center" |
| | | prop="keyNames" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="是否上架" |
| | | width="94px" |
| | | align="center" |
| | | prop="isOnSale" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.isOnSale" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | |
| | | align="center" |
| | | prop="detail" |
| | | ></el-table-column> --> |
| | | <el-table-column label="排序" width="50px" align="center" prop="sort"></el-table-column> |
| | | <el-table-column label="小程序价格" width="90px" align="center" prop="retailPrice"></el-table-column> |
| | | <el-table-column label="原价" width="90px" align="center" prop="counterPrice"></el-table-column> |
| | | <el-table-column label="已售数量" width="90px" align="center" prop="saleNum"></el-table-column> |
| | | <el-table-column label="状态" align="center" prop="pacStatus" fixed="right" width="100px"> |
| | | <el-table-column |
| | | label="排序" |
| | | width="50px" |
| | | align="center" |
| | | prop="sort" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="小程序价格" |
| | | width="90px" |
| | | align="center" |
| | | prop="retailPrice" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="原价" |
| | | width="90px" |
| | | align="center" |
| | | prop="counterPrice" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="已售数量" |
| | | width="90px" |
| | | align="center" |
| | | prop="saleNum" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="状态" |
| | | align="center" |
| | | prop="pacStatus" |
| | | fixed="right" |
| | | width="100px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1" |
| | | @change="handleStatusChange(scope.row)"></el-switch> |
| | | <el-switch |
| | | v-model="scope.row.pacStatus" |
| | | active-value="0" |
| | | inactive-value="1" |
| | | @change="handleStatusChange(scope.row)" |
| | | ></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="80px" fixed="right" class-name="small-padding fixed-width"> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | width="80px" |
| | | fixed="right" |
| | | 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> |
| | | <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> |
| | | <!-- <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)" |
| | | v-hasPermi="['system:package:Seach']" title="套餐详情"></el-button> --> |
| | | </template> |
| | |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| | | <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="1100px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1100px" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <!-- <div class="dialo"> |
| | | <div class="dialo1"> --> |
| | | <el-form-item label="套餐名称" prop="pacName"> |
| | | <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handlePackage"> |
| | | <span |
| | | slot="label" |
| | | style="display: inline-block; border-bottom: 2px solid blue" |
| | | @click="handlePackage" |
| | | > |
| | | 套餐名称 |
| | | </span> |
| | | <el-input v-model="form.pacName" placeholder="请输入套餐名称" style="width: 150px" /> |
| | | <el-input |
| | | v-model="form.pacName" |
| | | placeholder="请输入套餐名称" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="套餐状态" prop="pacStatus"> |
| | | <!-- <el-radio-group v-model="form.pacStatus"> |
| | | <el-radio :label="0">启用</el-radio> |
| | | <el-radio :label="1">停用</el-radio> |
| | | </el-radio-group> --> |
| | | <el-select v-model="form.pacStatus" placeholder="请选择状态" style="width: 150px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.pacStatus" |
| | | placeholder="请选择状态" |
| | | style="width: 150px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | |
| | | placeholder="请输入商品类目" |
| | | style="width: 200px" |
| | | /> --> |
| | | <el-select v-model="form.categoryId" placeholder="请选择套餐类目" style="width: 150px" @change="shangpin" filterable |
| | | clearable> |
| | | <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | <el-select |
| | | v-model="form.categoryId" |
| | | placeholder="请选择套餐类目" |
| | | style="width: 150px" |
| | | @change="shangpin" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in categoryList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="关键字" prop="keywords"> |
| | | <el-select multiple v-model="form.keywords" placeholder="请选择关键字" style="width: 150px" @change="sel" filterable |
| | | clearable> |
| | | <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option> |
| | | <el-select |
| | | multiple |
| | | v-model="form.keywords" |
| | | placeholder="请选择关键字" |
| | | style="width: 150px" |
| | | @change="sel" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in keywordList" |
| | | :key="item.id" |
| | | :label="item.keyword" |
| | | :value="item.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否上架" prop="isOnSale"> |
| | |
| | | <el-radio :label="0">启用</el-radio> |
| | | <el-radio :label="1">停用</el-radio> |
| | | </el-radio-group> --> |
| | | <el-select v-model="form.isOnSale" placeholder="请选择是否上架" style="width: 150px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.isOnSale" |
| | | placeholder="请选择是否上架" |
| | | style="width: 150px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_yes_no" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="排序" prop="sort"> |
| | | <el-input v-model="form.sort" placeholder="请输入排序" style="width: 150px" /> |
| | | <el-input |
| | | v-model="form.sort" |
| | | placeholder="请输入排序" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="小程序价格" prop="retailPrice"> |
| | | <el-input v-model="form.retailPrice" placeholder="请输入小程序价格" style="width: 150px" /> |
| | | <el-input |
| | | v-model="form.retailPrice" |
| | | placeholder="请输入小程序价格" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="原价" prop="counterPrice"> |
| | | <el-input v-model="form.counterPrice" placeholder="请输入原价" style="width: 150px" /> |
| | | <el-input |
| | | v-model="form.counterPrice" |
| | | placeholder="请输入原价" |
| | | style="width: 150px" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <div v-if="!isCollapsed" style="display:flex"> |
| | | <div v-if="!isCollapsed" style="display: flex"> |
| | | <div> |
| | | <el-form-item label="套餐描述" prop="pacRemark"> |
| | | <el-input type="textarea" v-model="form.pacRemark" placeholder="请输入套餐描述" style="width: 670px" |
| | | rows="2"></el-input> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="form.pacRemark" |
| | | placeholder="请输入套餐描述" |
| | | style="width: 670px" |
| | | rows="2" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="详细介绍" prop="detail"> |
| | | <!-- <el-input |
| | |
| | | placeholder="请输入详细介绍" |
| | | style="width: 200px" |
| | | /> --> |
| | | <editor v-model="form.detail" :min-height="192" style="width: 670px" /> |
| | | <editor |
| | | v-model="form.detail" |
| | | :min-height="192" |
| | | style="width: 670px" |
| | | /> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- </div> --> |
| | |
| | | <el-button type="primary" plain size="mini" @click="toggleCollapse">{{ |
| | | isCollapsed ? "展开" : "收起" |
| | | }}</el-button> |
| | | <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">新增单项</el-button> |
| | | <!-- <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">新增单项</el-button> |
| | | <el-table v-loading="loading" :data="form.tjProjectList" @selection-change="handleSelectionChange" border |
| | | max-height="275" style="margin: 10px 0"> |
| | | <el-table-column label="序号" align="center" type="index" /> |
| | |
| | | v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-table> --> |
| | | |
| | | <el-row :gutter="20"> |
| | | <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-change="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | > |
| | | </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" |
| | | > |
| | | </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="proName" label="明细项目" width="260px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </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="handleDeletes(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column>--> |
| | | </el-table> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | |
| | | 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 { |
| | | getPacList, |
| | | getPacInFo, |
| | |
| | | updateStatus, |
| | | getAllList, |
| | | updateProject, |
| | | getPacTjProjectList |
| | | getPacTjProjectList, |
| | | } from "@/api/system/package"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | |
| | | } |
| | | }; |
| | | return { |
| | | filterText: "", |
| | | DataList: [], |
| | | list1: true, |
| | | activeName: "1", |
| | | checkedObj: {}, |
| | | dataObj: {}, |
| | | Treedata: [], |
| | | TreedataList: [], |
| | | treedataList: [], |
| | | checkedkey: [], |
| | | checkedListkey: [], |
| | | defaultProps: { |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | isCollapsed: true, // 默认为折叠状态 |
| | | categoryList: [], |
| | | keys: "", |
| | |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | forms: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | deleted: [ |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.getKeyword(); |
| | |
| | | methods: { |
| | | toggleCollapse() { |
| | | this.isCollapsed = !this.isCollapsed; // 点击按钮时切换isCollapsed的值 |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.proName.indexOf(value) !== -1; |
| | | }, |
| | | /** 查询体检套餐列表 */ |
| | | getList() { |
| | |
| | | }); |
| | | }, |
| | | sel(val) { |
| | | console.log(val); |
| | | let id = val; |
| | | this.keys = ""; |
| | | id.forEach((item) => { |
| | |
| | | if (!selection[0]) { |
| | | return; |
| | | } |
| | | this.form = selection[0]; |
| | | this.forms = selection[0]; |
| | | this.ids = selection.map((item) => item.pacId); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "体检套餐信息维护"; |
| | | |
| | | this.DataList = []; |
| | | this.getDataList(); |
| | | // getAllList().then((response) => { |
| | | // this.allList = response.data; |
| | | // if (this.allList.proStatus === 0) { |
| | |
| | | handleUp() { |
| | | this.title = "体检套餐信息维护"; |
| | | this.open = true; |
| | | getPacTjProjectList().then((response) => { |
| | | this.allList = response.data; |
| | | this.loading = false; |
| | | // getPacTjProjectList().then((response) => { |
| | | // this.allList = response.data; |
| | | // this.loading = false; |
| | | // }); |
| | | getPacInFo(this.forms.pacId).then((response) => { |
| | | this.form = response.data; |
| | | this.form.keywords=this.form.keywords.slice(0, -1); |
| | | this.form.keywords = this.form.keywords.split(","); |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.getDataList(); |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | // this.form = row; |
| | | // this.form.keywords = this.form.keyIds; |
| | | // if (this.form.pacStatus === 0) { |
| | | // this.form.pacStatus = "启用"; |
| | | // } else { |
| | | // this.form.pacStatus = "停用"; |
| | | // } |
| | | this.title = "体检套餐信息维护"; |
| | | this.open = true; |
| | | getPacInFo(row.pacId).then((response) => { |
| | | this.form = response.data; |
| | | this.form.keywords = this.form.keyIds; |
| | | this.form.keywords=this.form.keywords.slice(0, -1); |
| | | this.form.keywords = this.form.keywords.split(","); |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.checkedListkey = []; |
| | | this.getDataList(); |
| | | }); |
| | | }, |
| | | |
| | | // 新增行 |
| | | addmembers() { |
| | | if (this.form.pacName) { |
| | | |
| | | if (!this.form.tjProjectList) { |
| | | this.form.tjProjectList = []; |
| | | this.form.tjProjectList.push({ |
| | |
| | | formitem.proId = item.proId; |
| | | formitem.proPrice = item.proPrice; |
| | | formitem.priceNow = item.proPrice; |
| | | formitem.allSonProName =item.allSonProName; |
| | | formitem.allSonProName = item.allSonProName; |
| | | // item.tjProjectList.forEach((item1) => { |
| | | // this.$nextTick(() => { |
| | | // formitem.allSonProName = |
| | |
| | | |
| | | return this.form.tjProjectList; |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.pacId != null) { |
| | | // if (this.form.pacStatus === "启用") { |
| | | // this.form.pacStatus = 0; |
| | | // } else { |
| | | // this.form.pacStatus = 1; |
| | | // } |
| | | this.form.keywords = this.keys; |
| | | updatePackage(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | this.form.keywords = this.keys; |
| | | // if (this.form.pacStatus === "启用") { |
| | | // this.form.pacStatus = 0; |
| | | // } else { |
| | | // this.form.pacStatus = 1; |
| | | // } |
| | | addPackage(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | // console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataList[rowIndex - 1]; |
| | | let nextRow = this.DataList[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataList[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | getDataList() { |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | if (this.form.tjProjectList) { |
| | | this.form.tjProjectList.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; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } 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.loading = false; |
| | | }); |
| | | }, |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | console.log(data, checked); |
| | | 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.DataList.forEach((item1) => { |
| | | if (item1.proParentId == data.proId) { |
| | | item1.propinName = data.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | | } |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | } 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 = []; |
| | | console.log(this.TreedataList.length); |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proParentId == this.dataObj.proId) { |
| | | this.DataList.splice(index, this.TreedataList.length); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | spliceData() { |
| | | for (var i = 0; i < this.DataList.length; i++) { |
| | | for (var j = i + 1; j < this.DataList.length; j++) { |
| | | if (this.DataList[i].proId == this.DataList[j].proId) { |
| | | //如果第一个等于第二个,splice方法删除第二个 |
| | | this.DataList.splice(j, 1); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | return this.DataList; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked1(data, checked, checkedNodes) { |
| | | if (checked == false) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == true) { |
| | | this.DataList.push(data); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | | item1.propinPrice = this.dataObj.proPrice; |
| | | } |
| | | }); |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | 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.pacName) { |
| | | this.form.tjProjectList = []; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.form.tjProjectList.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.pacId != null) { |
| | | // if (this.form.pacStatus === "启用") { |
| | | // this.form.pacStatus = 0; |
| | | // } else { |
| | | // this.form.pacStatus = 1; |
| | | // } |
| | | if(this.keys){ |
| | | this.form.keywords = this.keys; |
| | | }else{ |
| | | this.form.keywords = this.form.keywords.toString(); |
| | | } |
| | | |
| | | updatePackage(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | this.form.keywords = this.keys; |
| | | // if (this.form.pacStatus === "启用") { |
| | | // this.form.pacStatus = 0; |
| | | // } else { |
| | | // this.form.pacStatus = 1; |
| | | // } |
| | | // console.log(this.form.tjProjectList); |
| | | // return; |
| | | addPackage(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | Message.warning("请先填写套餐名称"); |
| | | } |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** 分配套餐内项目操作 */ |
| | |
| | | left: 40%; |
| | | bottom: 2%; |
| | | } |
| | | |
| | | /* .dialo{ |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | } */ |
| | | .tab3 { |
| | | max-height: 400px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | | } |
| | | </style> |