<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="pacName">
|
<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-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>
|
</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 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>
|
<el-table-column label="单项列表" align="center" prop="allProName" width="1200px">
|
</el-table-column>
|
<!-- <el-table-column
|
label="项目明细"
|
align="center"
|
prop="allSonName"
|
:show-overflow-tooltip="true"
|
>
|
</el-table-column>-->
|
<el-table-column label="套餐描述" align="center" :show-overflow-tooltip="true" width="120px">
|
<template slot-scope="scope">
|
<div class="showInline">{{ scope.row.pacRemark }}</div>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column
|
label="图片"
|
align="center"
|
prop="pacPhone"
|
width="100"
|
:show-overflow-tooltip="true"
|
>
|
<template slot-scope="scope">
|
<image-preview :src="scope.row.pacPhone" :width="50" :height="50" />
|
</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">
|
<template slot-scope="scope">
|
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" />
|
</template>
|
</el-table-column>
|
<!-- <el-table-column
|
label="详细介绍"
|
:show-overflow-tooltip="true"
|
width="100px"
|
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">
|
<template slot-scope="scope">
|
<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">
|
<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-circle-check" @click="handleSeach(scope.row)"
|
v-hasPermi="['system:package:Seach']" 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="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>
|
<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>
|
</el-form-item>
|
|
<el-form-item label="套餐类目" prop="categoryId">
|
<!-- <el-input
|
v-model="form.createId"
|
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>
|
</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>
|
</el-form-item>
|
<el-form-item label="是否上架" prop="isOnSale">
|
<!-- <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.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-form-item>
|
<el-form-item label="小程序价格" prop="retailPrice">
|
<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-form-item>
|
|
<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-form-item>
|
<el-form-item label="详细介绍" prop="detail">
|
<!-- <el-input
|
v-model="form.detail"
|
placeholder="请输入详细介绍"
|
style="width: 200px"
|
/> -->
|
<editor v-model="form.detail" :min-height="192" style="width: 670px" />
|
</el-form-item>
|
</div>
|
<!-- </div> -->
|
<div class="dialo2">
|
<el-form-item label="图片">
|
<image-upload v-model="form.pacPhone" />
|
</el-form-item>
|
</div>
|
<!-- </div> -->
|
</div>
|
</el-form>
|
<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-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" />
|
<el-table-column label="项目名称" align="center" prop="proName" width="180px">
|
<template slot-scope="scope">
|
<el-select filterable v-model="scope.row.proName" placeholder="请选择项目名称" @change="getSelectValue">
|
<el-option v-for="(item, index) in allList" :key="index" :label="item.proName" :value="item.proName">
|
</el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column label="项目明细" align="center" prop="allSonProName" width="400px" :show-overflow-tooltip="true">
|
</el-table-column>
|
<el-table-column label="原价(元)" align="center" prop="proPrice" width="80px" />
|
<el-table-column label="现价(元)" align="center" prop="priceNow" width="80px">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.priceNow" autocomplete="off" placeholder="请输入内容"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="addmembers(scope.row)"
|
v-hasPermi="['system:package:edit']" title="新增行"></el-button>
|
<el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)"
|
v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div>
|
</el-dialog>
|
|
<!-- 套餐详情 -->
|
<!-- <el-dialog :title="title" :visible.sync="Seachopen" width="500px" append-to-body>
|
<template>
|
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
|
<div style="margin: 15px 0px; width: 60px"></div>
|
<el-checkbox-group v-model="newproName" @change="handleCheckedCitiesChange">
|
<el-checkbox style="margin: 15px 0px; width: 180px" v-for="item in allList" :label="item.proName"
|
:key="item.proId">{{ item.proName }}</el-checkbox>
|
</el-checkbox-group>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submitcheckbox">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div>
|
</template>
|
</el-dialog> -->
|
<Packages ref="aaa" @add="handleChanges" />
|
</div>
|
</template>
|
|
<script>
|
import Packages from "@/components/Packages";
|
import { listCategory } from "@/api/mall/category";
|
import { listKeyword } from "@/api/mall/keyword";
|
import {
|
getPacList,
|
getPacInFo,
|
listPackage,
|
getPackage,
|
delPackage,
|
addPackage,
|
updatePackage,
|
getAllPackage,
|
updateStatus,
|
getAllList,
|
updateProject,
|
getPacTjProjectList
|
} from "@/api/system/package";
|
import { Message } from "element-ui";
|
export default {
|
name: "Package",
|
dicts: ["sys_normal_disable", "sys_yes_no"],
|
components: { Packages },
|
data() {
|
let checkPhoneNum = (rule, value, callback) => {
|
console.log(value);
|
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 {
|
isCollapsed: true, // 默认为折叠状态
|
categoryList: [],
|
keys: "",
|
keywordList: [],
|
dataListAll: [],
|
// 多选框
|
priceNow: "",
|
checkAll: false,
|
isIndeterminate: true,
|
// 遮罩层
|
loading: false,
|
radio: 3,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 显示搜索条件
|
showSearch: true,
|
// 总条数
|
total: 0,
|
// 体检套餐表格数据
|
packageList: [],
|
// 套餐选中的父项
|
allpackageList: [],
|
// 已选
|
newproName: [],
|
// 所有体检项目·
|
allList: [],
|
// 所有套餐数据
|
// allpackage:[],
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
Seachopen: false,
|
pacId: "",
|
// 查询参数
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
pacName: null,
|
pacRemark: null,
|
},
|
// 表单参数
|
form: {},
|
// 表单校验
|
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" },
|
],
|
},
|
};
|
},
|
created() {
|
this.getList();
|
this.getKeyword();
|
this.getCategory();
|
},
|
methods: {
|
toggleCollapse() {
|
this.isCollapsed = !this.isCollapsed; // 点击按钮时切换isCollapsed的值
|
},
|
/** 查询体检套餐列表 */
|
getList() {
|
this.loading = true;
|
getPacTjProjectList().then((response) => {
|
this.allList = response.data;
|
if (this.allList.proStatus === 0) {
|
this.allList.proStatus = "启用";
|
} else {
|
this.allList.proStatus = "停用";
|
}
|
this.loading = false;
|
});
|
getPacList(this.queryParams).then((response) => {
|
response.rows.forEach((item, index) => {
|
item.newID =
|
(this.queryParams.pageNum - 1) * this.queryParams.pageSize +
|
index +
|
1;
|
});
|
this.total = response.total;
|
this.packageList = response.rows;
|
this.loading = false;
|
});
|
},
|
/** 查询关键字列表 */
|
getKeyword() {
|
this.loading = true;
|
listKeyword(this.queryParams).then((response) => {
|
this.keywordList = response.rows;
|
});
|
},
|
sel(val) {
|
let id = val;
|
this.keys = "";
|
id.forEach((item) => {
|
this.keys += item + ",";
|
});
|
},
|
/** 查询类目列表 */
|
getCategory() {
|
this.loading = true;
|
listCategory(this.queryParams).then((response) => {
|
this.categoryList = response.rows;
|
});
|
},
|
shangpin(vals) {
|
console.log(vals);
|
},
|
// 取消按钮
|
cancel() {
|
this.open = false;
|
this.Seachopen = false;
|
this.reset();
|
},
|
// 表单重置
|
reset() {
|
this.form = {
|
pacId: null,
|
pacName: null,
|
pacRemark: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
deleted: null,
|
allSonName: null,
|
allProName: null,
|
priceNow: null,
|
proId: null,
|
// pacStatus: "启用",
|
};
|
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.form = selection[0];
|
this.ids = selection.map((item) => item.pacId);
|
this.single = selection.length !== 1;
|
this.multiple = !selection.length;
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
this.reset();
|
this.open = true;
|
this.title = "体检套餐信息维护";
|
|
// getAllList().then((response) => {
|
// this.allList = response.data;
|
// if (this.allList.proStatus === 0) {
|
// this.allList.proStatus = "启用";
|
// } else {
|
// this.allList.proStatus = "停用";
|
// }
|
// this.loading = false;
|
// });
|
// if (!this.form.tjProjectList) {
|
// this.form.tjProjectList = []
|
// this.form.tjProjectList.push({
|
// id: parseInt(length),
|
// proName: "",
|
// allSonProName: "",
|
// proPrice: "",
|
// priceNow: "",
|
// proId: "",
|
// Selection,
|
// });
|
// }
|
},
|
|
// 是否启用
|
handleStatusChange(row) {
|
let data = {
|
pacId: row.pacId,
|
pacStatus: row.pacStatus,
|
};
|
let text = row.pacStatus === "0" ? "启用" : "停用";
|
this.$confirm("确认要" + text + row.pacName + "套餐吗?")
|
.then(function () {
|
return updateStatus(data);
|
})
|
.then(() => {
|
this.msgSuccess(text + "成功");
|
})
|
.catch(function () {
|
row.pacStatus = row.pacStatus === "0" ? "0" : "1";
|
});
|
},
|
|
handleUp() {
|
this.title = "体检套餐信息维护";
|
this.open = true;
|
getPacTjProjectList().then((response) => {
|
this.allList = response.data;
|
this.loading = false;
|
});
|
},
|
/** 修改按钮操作 */
|
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;
|
});
|
},
|
|
// 新增行
|
addmembers() {
|
if (this.form.pacName) {
|
|
if (!this.form.tjProjectList) {
|
this.form.tjProjectList = [];
|
this.form.tjProjectList.push({
|
id: parseInt(length),
|
proName: "",
|
allSonProName: "",
|
proPrice: "",
|
priceNow: "",
|
proId: "",
|
Selection,
|
});
|
} else {
|
this.form.tjProjectList.push({
|
id: parseInt(length),
|
proName: "",
|
allSonProName: "",
|
proPrice: "",
|
priceNow: "",
|
proId: "",
|
Selection,
|
});
|
}
|
} else {
|
Message.warning("请先填写套餐名称");
|
}
|
this.$forceUpdate();
|
},
|
|
// 删除行
|
Delete(index) {
|
if (this.form.tjProjectList.length == 0) {
|
this.$alert("请先选择要删除的数据", "提示", {
|
confirmButtonText: "确定",
|
});
|
} else {
|
this.form.tjProjectList.splice(index, 1);
|
}
|
},
|
|
getSelectValue(val) {
|
this.form.tjProjectList.forEach((formitem) => {
|
if (formitem.proName == val) {
|
formitem.allSonProName = "";
|
this.allList.find((item) => {
|
if (item.proName == val) {
|
formitem.proId = item.proId;
|
formitem.proPrice = item.proPrice;
|
formitem.priceNow = item.proPrice;
|
formitem.allSonProName =item.allSonProName;
|
// item.tjProjectList.forEach((item1) => {
|
// this.$nextTick(() => {
|
// formitem.allSonProName =
|
// formitem.allSonProName + "," + item1.proName;
|
// });
|
// // this.form.tjProjectList.allSonProName = this.form.tjProjectList.allSonProName+','+item1.proName
|
// });
|
}
|
});
|
}
|
});
|
|
for (let i = 0; i < this.form.tjProjectList.length; i++) {
|
for (let j = i + 1; j < this.form.tjProjectList.length; j++) {
|
if (
|
this.form.tjProjectList[i].proId == this.form.tjProjectList[j].proId
|
) {
|
this.form.tjProjectList.splice(j, 1);
|
j--;
|
this.$modal.msgError("此项目已录入,不可重复录入");
|
}
|
}
|
}
|
|
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();
|
});
|
}
|
}
|
});
|
},
|
/** 删除按钮操作 */
|
handleDelete(row) {
|
const pacIds = row.pacId || this.ids;
|
this.$modal
|
.confirm('是否确认删除体检套餐编号为"' + pacIds + '"的数据项?')
|
.then(function () {
|
return delPackage(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%;
|
}
|
|
/* .dialo{
|
display: flex;
|
flex-direction: row;
|
align-items: center;
|
} */
|
</style>
|