|
@@ -3,42 +3,25 @@
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
<el-form-item label="课堂分类" prop="cateId">
|
|
<el-form-item label="课堂分类" prop="cateId">
|
|
|
<el-select v-model="queryParams.cateId" placeholder="请选择" clearable size="small"
|
|
<el-select v-model="queryParams.cateId" placeholder="请选择" clearable size="small"
|
|
|
- @change="getQuerySubCateList(queryParams.cateId)">
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in categoryOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ @change="getQuerySubCateList(queryParams.cateId)">
|
|
|
|
|
+ <el-option v-for="dict in categoryOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="课堂子分类" prop="subCateId">
|
|
<el-form-item label="课堂子分类" prop="subCateId">
|
|
|
<el-select v-model="queryParams.subCateId" placeholder="请选择" clearable size="small">
|
|
<el-select v-model="queryParams.subCateId" placeholder="请选择" clearable size="small">
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in querySubCateOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-option v-for="dict in querySubCateOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="课堂名称" prop="courseName">
|
|
<el-form-item label="课堂名称" prop="courseName">
|
|
|
- <el-input
|
|
|
|
|
- v-model="queryParams.courseName"
|
|
|
|
|
- placeholder="请输入课堂名称"
|
|
|
|
|
- clearable
|
|
|
|
|
- size="small"
|
|
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-input v-model="queryParams.courseName" placeholder="请输入课堂名称" clearable size="small"
|
|
|
|
|
+ @keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="课堂类型" prop="isPrivate" style="display: none">
|
|
<el-form-item label="课堂类型" prop="isPrivate" style="display: none">
|
|
|
<el-select v-model="queryParams.isPrivate" placeholder="请选择" clearable size="small">
|
|
<el-select v-model="queryParams.isPrivate" placeholder="请选择" clearable size="small">
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in courseTypeOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-option v-for="dict in courseTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
@@ -49,76 +32,33 @@
|
|
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-plus"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- @click="handleAdd"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicAdd']"
|
|
|
|
|
- >新增
|
|
|
|
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicAdd']">新增
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- type="success"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-edit"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- :disabled="single"
|
|
|
|
|
- @click="handleUpdate"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicEdit']"
|
|
|
|
|
- >修改
|
|
|
|
|
|
|
+ <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicEdit']">修改
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- type="danger"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-delete"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- :disabled="multiple"
|
|
|
|
|
- @click="handleDelete"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicRemove']"
|
|
|
|
|
- >删除
|
|
|
|
|
|
|
+ <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicRemove']">删除
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- type="warning"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-download"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- :loading="exportLoading"
|
|
|
|
|
- @click="handleExport"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicExport']"
|
|
|
|
|
- >导出
|
|
|
|
|
|
|
+ <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
|
|
|
|
|
+ @click="handleExport" v-hasPermi="['course:userCourse:publicExport']">导出
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- v-if="queryParams.isShow==0"
|
|
|
|
|
- type="success"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-edit"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- :disabled="multiple"
|
|
|
|
|
- @click="putOn"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicPutOn']"
|
|
|
|
|
- >上架
|
|
|
|
|
|
|
+ <el-button v-if="queryParams.isShow == 0" type="success" plain icon="el-icon-edit" size="mini"
|
|
|
|
|
+ :disabled="multiple" @click="putOn" v-hasPermi="['course:userCourse:publicPutOn']">上架
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
|
|
- v-if="queryParams.isShow==1"
|
|
|
|
|
- type="success"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="el-icon-edit"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- :disabled="multiple"
|
|
|
|
|
- @click="pullOff"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicPutOff']"
|
|
|
|
|
- >下架
|
|
|
|
|
|
|
+ <el-button v-if="queryParams.isShow == 1" type="success" plain icon="el-icon-edit" size="mini"
|
|
|
|
|
+ :disabled="multiple" @click="pullOff" v-hasPermi="['course:userCourse:publicPutOff']">下架
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
@@ -129,16 +69,12 @@
|
|
|
<el-tab-pane label="待上架" name="0"></el-tab-pane>
|
|
<el-tab-pane label="待上架" name="0"></el-tab-pane>
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
|
<el-table height="600" border v-loading="loading" :data="userCourseList" @selection-change="handleSelectionChange">
|
|
<el-table height="600" border v-loading="loading" :data="userCourseList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
|
|
- <el-table-column label="课程ID" align="center" prop="courseId"/>
|
|
|
|
|
- <el-table-column label="所属项目" align="center" prop="projectName"/>
|
|
|
|
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
+ <el-table-column label="课程ID" align="center" prop="courseId" />
|
|
|
|
|
+ <el-table-column label="所属项目" align="center" prop="projectName" />
|
|
|
<el-table-column label="封面图片" align="center" prop="imgUrl" width="120">
|
|
<el-table-column label="封面图片" align="center" prop="imgUrl" width="120">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <el-popover
|
|
|
|
|
- placement="right"
|
|
|
|
|
- title=""
|
|
|
|
|
- trigger="hover"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-popover placement="right" title="" trigger="hover">
|
|
|
<img slot="reference" :src="scope.row.imgUrl" width="100">
|
|
<img slot="reference" :src="scope.row.imgUrl" width="100">
|
|
|
<img :src="scope.row.imgUrl" style="max-width: 300px;">
|
|
<img :src="scope.row.imgUrl" style="max-width: 300px;">
|
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -146,68 +82,40 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="小封面" align="center" prop="secondImg" width="100">
|
|
<el-table-column label="小封面" align="center" prop="secondImg" width="100">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <el-popover
|
|
|
|
|
- placement="right"
|
|
|
|
|
- title=""
|
|
|
|
|
- trigger="hover"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-popover placement="right" title="" trigger="hover">
|
|
|
<img slot="reference" :src="scope.row.secondImg" width="50">
|
|
<img slot="reference" :src="scope.row.secondImg" width="50">
|
|
|
<img :src="scope.row.secondImg" style="max-width: 100px;">
|
|
<img :src="scope.row.secondImg" style="max-width: 100px;">
|
|
|
</el-popover>
|
|
</el-popover>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="课堂名称" align="center" show-overflow-tooltip prop="courseName"/>
|
|
|
|
|
- <el-table-column label="排序" align="center" prop="sort"/>
|
|
|
|
|
- <el-table-column label="分类名称" align="center" prop="cateName"/>
|
|
|
|
|
- <el-table-column label="子分类名称" align="center" prop="subCateName"/>
|
|
|
|
|
- <el-table-column label="原价" align="center" prop="price"/>
|
|
|
|
|
- <el-table-column label="售价" align="center" prop="sellPrice"/>
|
|
|
|
|
- <el-table-column label="单节积分" align="center" prop="integral"/>
|
|
|
|
|
|
|
+ <el-table-column label="课堂名称" align="center" show-overflow-tooltip prop="courseName" />
|
|
|
|
|
+ <el-table-column label="排序" align="center" prop="sort" />
|
|
|
|
|
+ <el-table-column label="分类名称" align="center" prop="cateName" />
|
|
|
|
|
+ <el-table-column label="子分类名称" align="center" prop="subCateName" />
|
|
|
|
|
+ <el-table-column label="原价" align="center" prop="price" />
|
|
|
|
|
+ <el-table-column label="售价" align="center" prop="sellPrice" />
|
|
|
|
|
+ <el-table-column label="单节积分" align="center" prop="integral" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- @click="handleCatalog(scope.row)"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicCateManage']"
|
|
|
|
|
- >目录管理
|
|
|
|
|
|
|
+ <el-button size="mini" type="text" @click="handleCatalog(scope.row)"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicCateManage']">目录管理
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- :icon="scope.row.isShow === 1 ? 'el-icon-close' : 'el-icon-open'"
|
|
|
|
|
- @click="handleShow(scope.row)"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicUpdateIsShow']"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-button size="mini" type="text" :icon="scope.row.isShow === 1 ? 'el-icon-close' : 'el-icon-open'"
|
|
|
|
|
+ @click="handleShow(scope.row)" v-hasPermi="['course:userCourse:publicUpdateIsShow']">
|
|
|
{{ scope.row.isShow === 1 ? '下架' : '上架' }}
|
|
{{ scope.row.isShow === 1 ? '下架' : '上架' }}
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- icon="el-icon-edit"
|
|
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicEdit']"
|
|
|
|
|
- >修改
|
|
|
|
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicEdit']">修改
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- icon="el-icon-delete"
|
|
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
|
|
- v-hasPermi="['course:userCourse:publicRemove']"
|
|
|
|
|
- >删除
|
|
|
|
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
|
|
|
+ v-hasPermi="['course:userCourse:publicRemove']">删除
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
- <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" />
|
|
|
|
|
|
|
|
<!-- 添加或修改课程对话框 -->
|
|
<!-- 添加或修改课程对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
|
|
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
|
|
@@ -215,43 +123,31 @@
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-form-item label="所属项目" prop="project">
|
|
<el-form-item label="所属项目" prop="project">
|
|
|
<el-select v-model="form.project" placeholder="请选择项目" filterable clearable size="small">
|
|
<el-select v-model="form.project" placeholder="请选择项目" filterable clearable size="small">
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in projectOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-option v-for="dict in projectOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="课堂名称" prop="courseName">
|
|
<el-form-item label="课堂名称" prop="courseName">
|
|
|
- <el-input v-model="form.courseName" placeholder="请输入课堂名称"/>
|
|
|
|
|
|
|
+ <el-input v-model="form.courseName" placeholder="请输入课堂名称" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="课堂分类" prop="cateId">
|
|
<el-form-item label="课堂分类" prop="cateId">
|
|
|
<el-select v-model="form.cateId" placeholder="请选择" clearable size="small"
|
|
<el-select v-model="form.cateId" placeholder="请选择" clearable size="small"
|
|
|
- @change="getSubCateList(form.cateId)">
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in categoryOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ @change="getSubCateList(form.cateId)">
|
|
|
|
|
+ <el-option v-for="dict in categoryOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="课堂子分类" prop="subCateId">
|
|
<el-form-item label="课堂子分类" prop="subCateId">
|
|
|
<el-select v-model="form.subCateId" placeholder="请选择" clearable size="small">
|
|
<el-select v-model="form.subCateId" placeholder="请选择" clearable size="small">
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in subCategoryOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-option v-for="dict in subCategoryOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -271,12 +167,9 @@
|
|
|
</el-col> -->
|
|
</el-col> -->
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="关联达人">
|
|
<el-form-item label="关联达人">
|
|
|
- <el-select v-model="form.talentId" remote filterable clearable reserve-keyword
|
|
|
|
|
- placeholder="输入手机号搜索" :remote-method="talentMethod">
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in talentList"
|
|
|
|
|
- :key="item.talentId"
|
|
|
|
|
- :label="item.nickName +'#'+item.phone"
|
|
|
|
|
|
|
+ <el-select v-model="form.talentId" remote filterable clearable reserve-keyword placeholder="输入手机号搜索"
|
|
|
|
|
+ :remote-method="talentMethod">
|
|
|
|
|
+ <el-option v-for="item in talentList" :key="item.talentId" :label="item.nickName + '#' + item.phone"
|
|
|
:value="item.talentId">
|
|
:value="item.talentId">
|
|
|
<span style="float: left">{{ item.talentId }}</span>
|
|
<span style="float: left">{{ item.talentId }}</span>
|
|
|
<span style="margin-left: 30px ;">{{ item.nickName }}</span>
|
|
<span style="margin-left: 30px ;">{{ item.nickName }}</span>
|
|
@@ -285,30 +178,34 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="关联医生" prop="tags">
|
|
|
|
|
+ <el-select v-model="doctorIds" multiple placeholder="请选择医生" filterable clearable style="width: 90%;">
|
|
|
|
|
+ <el-option v-for="dict in doctorOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
|
<el-form-item label="课堂简介" prop="description">
|
|
<el-form-item label="课堂简介" prop="description">
|
|
|
- <el-input v-model="form.description" type="textarea" :rows="2" placeholder="请输入课堂简介"/>
|
|
|
|
|
|
|
+ <el-input v-model="form.description" type="textarea" :rows="2" placeholder="请输入课堂简介" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-form-item label="课程封面" prop="imgUrl">
|
|
<el-form-item label="课程封面" prop="imgUrl">
|
|
|
- <ImageUpload v-model="form.imgUrl" type="image" :num="10" :width="150" :height="150"/>
|
|
|
|
|
|
|
+ <ImageUpload v-model="form.imgUrl" type="image" :num="10" :width="150" :height="150" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="小封面" prop="imgUrl">
|
|
<el-form-item label="小封面" prop="imgUrl">
|
|
|
- <ImageUpload v-model="form.secondImg" type="image" :num="10" :width="150" :height="150"/>
|
|
|
|
|
|
|
+ <ImageUpload v-model="form.secondImg" type="image" :num="10" :width="150" :height="150" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<el-form-item label="标签" prop="tags">
|
|
<el-form-item label="标签" prop="tags">
|
|
|
<el-select v-model="tags" multiple placeholder="请选择标签" filterable clearable size="small">
|
|
<el-select v-model="tags" multiple placeholder="请选择标签" filterable clearable size="small">
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in tagsOptions"
|
|
|
|
|
- :key="dict.dictValue"
|
|
|
|
|
- :label="dict.dictLabel"
|
|
|
|
|
- :value="dict.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-option v-for="dict in tagsOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
|
|
+ :value="dict.dictValue" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -413,17 +310,17 @@
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="课程原价" prop="price">
|
|
<el-form-item label="课程原价" prop="price">
|
|
|
- <el-input v-model="form.price" placeholder="请输入课程原价"/>
|
|
|
|
|
|
|
+ <el-input v-model="form.price" placeholder="请输入课程原价" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="课程售价" prop="sellPrice">
|
|
<el-form-item label="课程售价" prop="sellPrice">
|
|
|
- <el-input v-model="form.sellPrice" placeholder="请输入课程售价"/>
|
|
|
|
|
|
|
+ <el-input v-model="form.sellPrice" placeholder="请输入课程售价" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="单节所需积分" prop="integral" v-if="form.isIntegral==1">
|
|
|
|
|
- <el-input v-model="form.integral" placeholder="请输入单节所需积分"/>
|
|
|
|
|
|
|
+ <el-form-item label="单节所需积分" prop="integral" v-if="form.isIntegral == 1">
|
|
|
|
|
+ <el-input v-model="form.integral" placeholder="请输入单节所需积分" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
@@ -433,11 +330,8 @@
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <el-drawer
|
|
|
|
|
- :with-header="false"
|
|
|
|
|
- size="75%"
|
|
|
|
|
- :title="show.title" :visible.sync="show.open" append-to-body>
|
|
|
|
|
- <userCourseCatalogDetails ref="userCourseCatalogDetails"/>
|
|
|
|
|
|
|
+ <el-drawer :with-header="false" size="75%" :title="show.title" :visible.sync="show.open" append-to-body>
|
|
|
|
|
+ <userCourseCatalogDetails ref="userCourseCatalogDetails" />
|
|
|
</el-drawer>
|
|
</el-drawer>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -455,15 +349,16 @@ import {
|
|
|
pullOff
|
|
pullOff
|
|
|
} from "@/api/course/userCoursePublic";
|
|
} from "@/api/course/userCoursePublic";
|
|
|
|
|
|
|
|
-import {getSelectableRange} from "@/api/qw/sopTemp";
|
|
|
|
|
|
|
+import { getSelectableRange } from "@/api/qw/sopTemp";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
import Editor from '@/components/Editor/wang';
|
|
import Editor from '@/components/Editor/wang';
|
|
|
import ImageUpload from '@/components/ImageUpload/index';
|
|
import ImageUpload from '@/components/ImageUpload/index';
|
|
|
-import {listBySearch} from "@/api/course/userTalent";
|
|
|
|
|
|
|
+import { listBySearch } from "@/api/course/userTalent";
|
|
|
import userCourseCatalogDetails from '../../components/course/userCourseCatalogDetails.vue';
|
|
import userCourseCatalogDetails from '../../components/course/userCourseCatalogDetails.vue';
|
|
|
-import {getAllCourseCategoryList, getCatePidList, getCateListByPid} from "@/api/course/userCourseCategory";
|
|
|
|
|
-import {allList} from "@/api/company/company";
|
|
|
|
|
|
|
+import { getAllCourseCategoryList, getCatePidList, getCateListByPid } from "@/api/course/userCourseCategory";
|
|
|
|
|
+import { allList } from "@/api/company/company";
|
|
|
|
|
+import {doctorOptions} from "@/api/his/doctor";
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "UserCoursePublic",
|
|
name: "UserCoursePublic",
|
|
@@ -473,7 +368,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
- isRequireTalentId:process.env.VUE_APP_TITLE_INDEX !== '存在文化互联网医院',
|
|
|
|
|
|
|
+ isRequireTalentId: process.env.VUE_APP_TITLE_INDEX !== '存在文化互联网医院',
|
|
|
talentParam: {
|
|
talentParam: {
|
|
|
phone: null,
|
|
phone: null,
|
|
|
talentId: null
|
|
talentId: null
|
|
@@ -541,55 +436,58 @@ export default {
|
|
|
},
|
|
},
|
|
|
// 表单参数
|
|
// 表单参数
|
|
|
form: {},
|
|
form: {},
|
|
|
|
|
+
|
|
|
|
|
+ doctorIds: [],
|
|
|
|
|
+ doctorOptions: [],
|
|
|
// 表单校验
|
|
// 表单校验
|
|
|
rules: {
|
|
rules: {
|
|
|
courseName: [
|
|
courseName: [
|
|
|
- {required: true, message: "课堂名称不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "课堂名称不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
imgUrl: [
|
|
imgUrl: [
|
|
|
- {required: true, message: "封面图片不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "封面图片不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
/* talentId: [
|
|
/* talentId: [
|
|
|
{required: this.isRequireTalentId, message: "关联达人不能为空", trigger: "blur"}
|
|
{required: this.isRequireTalentId, message: "关联达人不能为空", trigger: "blur"}
|
|
|
], */
|
|
], */
|
|
|
isTui: [
|
|
isTui: [
|
|
|
- {required: true, message: "是否推荐不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "是否推荐不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isBest: [
|
|
isBest: [
|
|
|
- {required: true, message: "是否精选不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "是否精选不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isFast: [
|
|
isFast: [
|
|
|
- {required: true, message: "是否允许快进不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "是否允许快进不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isAutoPlay: [
|
|
isAutoPlay: [
|
|
|
- {required: true, message: "是否自动播放不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "是否自动播放不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
sort: [
|
|
sort: [
|
|
|
- {required: true, message: "排序不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "排序不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
views: [
|
|
views: [
|
|
|
- {required: true, message: "播放量不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "播放量不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
likes: [
|
|
likes: [
|
|
|
- {required: true, message: "点赞数不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "点赞数不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
favoriteNum: [
|
|
favoriteNum: [
|
|
|
- {required: true, message: "收藏数不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "收藏数不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
shares: [
|
|
shares: [
|
|
|
- {required: true, message: "分享数不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "分享数不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isIntegral: [
|
|
isIntegral: [
|
|
|
- {required: true, message: "是否允许积分兑换不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "是否允许积分兑换不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isShow: [
|
|
isShow: [
|
|
|
- {required: true, message: "上架状态不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "上架状态不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
isPrivate: [
|
|
isPrivate: [
|
|
|
- {required: true, message: "公私域不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "公私域不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
integral: [
|
|
integral: [
|
|
|
- {required: true, message: "小节兑换积分不能为空", trigger: "blur"}
|
|
|
|
|
|
|
+ { required: true, message: "小节兑换积分不能为空", trigger: "blur" }
|
|
|
],
|
|
],
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -626,6 +524,9 @@ export default {
|
|
|
allList().then(response => {
|
|
allList().then(response => {
|
|
|
this.companyOptions = response.rows;
|
|
this.companyOptions = response.rows;
|
|
|
});
|
|
});
|
|
|
|
|
+ doctorOptions().then(res => {
|
|
|
|
|
+ this.doctorOptions = res.rows;
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
selectTalent() {
|
|
selectTalent() {
|
|
@@ -662,7 +563,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
handleShow(row) {
|
|
handleShow(row) {
|
|
|
var isShowValue = row.isShow === 0 ? 1 : 0;
|
|
var isShowValue = row.isShow === 0 ? 1 : 0;
|
|
|
- var course = {courseId: row.courseId, isShow: isShowValue};
|
|
|
|
|
|
|
+ var course = { courseId: row.courseId, isShow: isShowValue };
|
|
|
updateIsShow(course).then(response => {
|
|
updateIsShow(course).then(response => {
|
|
|
this.msgSuccess("修改成功");
|
|
this.msgSuccess("修改成功");
|
|
|
this.getList();
|
|
this.getList();
|
|
@@ -747,6 +648,7 @@ export default {
|
|
|
};
|
|
};
|
|
|
this.tags = [];
|
|
this.tags = [];
|
|
|
this.subCategoryOptions = []
|
|
this.subCategoryOptions = []
|
|
|
|
|
+ this.doctorIds = []
|
|
|
this.resetForm("form");
|
|
this.resetForm("form");
|
|
|
},
|
|
},
|
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
@@ -806,6 +708,12 @@ export default {
|
|
|
this.companyIds = []
|
|
this.companyIds = []
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (this.form.doctorIds != null) {
|
|
|
|
|
+ this.doctorIds = ((this.form.doctorIds).split(",").map(item => item.trim()).filter(item => item.length > 0))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.doctorIds = []
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
listBySearch(this.talentParam).then(response => {
|
|
listBySearch(this.talentParam).then(response => {
|
|
|
this.talentList = response.data;
|
|
this.talentList = response.data;
|
|
|
});
|
|
});
|
|
@@ -821,6 +729,7 @@ export default {
|
|
|
return;
|
|
return;
|
|
|
} */
|
|
} */
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
|
|
+ this.form.doctorIds = this.doctorIds.toString()
|
|
|
if (this.tags.length > 0) {
|
|
if (this.tags.length > 0) {
|
|
|
this.form.tags = this.tags.toString();
|
|
this.form.tags = this.tags.toString();
|
|
|
} else {
|
|
} else {
|