整体测试及优化,部分细节功能待完善
This commit is contained in:
		| @@ -86,5 +86,17 @@ const api = { | ||||
|       params:data | ||||
|     }) | ||||
|   }, | ||||
|   freeze: data => { // 冻结积分 | ||||
|     return service({ | ||||
|       url: '/point/freeze/'+data.id, | ||||
|       method: 'put' | ||||
|     }) | ||||
|   }, | ||||
|   unfreeze:data => { // 解冻积分 | ||||
|     return service({ | ||||
|       url: '/point/unfreeze/'+data.id, | ||||
|       method: 'put' | ||||
|     }) | ||||
|   }, | ||||
| } | ||||
| export default api | ||||
|   | ||||
| @@ -57,5 +57,12 @@ const api = { | ||||
|       data | ||||
|     }) | ||||
|   }, | ||||
|   assistantOperator : data => {// 审核提交-助教 | ||||
|     return service({ | ||||
|       url: '/assistant/change', | ||||
|       method: 'post', | ||||
|       data | ||||
|     }) | ||||
|   }, | ||||
| } | ||||
| export default api | ||||
|   | ||||
| @@ -70,5 +70,12 @@ const api = { | ||||
|       data | ||||
|     }) | ||||
|   }, | ||||
|   getAuctionDetailList: data => { // 获取竞拍 抽奖 记录 | ||||
|     return service({ | ||||
|       url: '/auction/record', | ||||
|       method: 'get', | ||||
|       params:data | ||||
|     }) | ||||
|   }, | ||||
| } | ||||
| export default api | ||||
|   | ||||
| @@ -130,6 +130,21 @@ const custom = { | ||||
|     else{ | ||||
|       return num/flag+'万' | ||||
|     } | ||||
|   },addTreeFormatSubject(data,type) { | ||||
|     if(!data) { | ||||
|       return [] | ||||
|     } | ||||
|     data.map( item => { | ||||
|         item.label = item.name | ||||
|         item.value = item[type] | ||||
|         if(item.level !== 3) { | ||||
|           item.disabled = true | ||||
|         } | ||||
|         if(item.children) { | ||||
|           custom.addTreeFormatSubject(item.children,type) | ||||
|         } | ||||
|     }) | ||||
|     return data | ||||
|   }, | ||||
|   getDealType() { // 获取交易类型 | ||||
|     return [ | ||||
|   | ||||
| @@ -265,7 +265,7 @@ const viewParams = ref({ | ||||
|   sort:'desc' | ||||
| }) | ||||
| const dialogViewVisible = ref(false) | ||||
| const viewInfo = ref({}) | ||||
| const viewInfo = ref([]) | ||||
| const view_total = ref(0) | ||||
| async function viewAuctionFunc(row) { // 竞拍明细 | ||||
|   viewParams.value.id = row.id | ||||
| @@ -276,6 +276,9 @@ async function viewAuctionFunc(row) { // 竞拍明细 | ||||
|     viewInfo.value = res.data.list | ||||
|   } | ||||
| } | ||||
| function closeViewDialog() { | ||||
|   dialogViewVisible.value = false | ||||
| } | ||||
| </script> | ||||
| <template> | ||||
|   <div> | ||||
|   | ||||
| @@ -48,7 +48,8 @@ async function getCourseList() { | ||||
| async function getSubject(){ // 获取课程分类 | ||||
|   const res = await api.getSubjectList(subjectParams.value) | ||||
|   if(res.code === 0) { | ||||
|     subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     // subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     subjectList.value = custom.addTreeFormatSubject(res.data.records,'id') | ||||
|     // console.log(subjectList.value) | ||||
|   } | ||||
| } | ||||
| @@ -183,14 +184,15 @@ async function enterVerifyDialog() { // 审核提交 | ||||
|           <el-input v-model="queryParams.name" placeholder="根据课程名称进行查询" /> | ||||
|         </el-form-item> | ||||
|         <el-form-item label="课程分类"> | ||||
|           <el-select v-model="queryParams.subject" clearable placeholder="请选择"> | ||||
|             <el-option | ||||
|               v-for="item in subjectList" | ||||
|               :key="item.id" | ||||
|               :label="item.name" | ||||
|               :value="item.id" | ||||
|             /> | ||||
|           </el-select> | ||||
| <!--          <el-select v-model="queryParams.subject" clearable placeholder="请选择">--> | ||||
| <!--            <el-option--> | ||||
| <!--              v-for="item in subjectList"--> | ||||
| <!--              :key="item.id"--> | ||||
| <!--              :label="item.name"--> | ||||
| <!--              :value="item.id"--> | ||||
| <!--            />--> | ||||
| <!--          </el-select>--> | ||||
|           <el-tree-select v-model="queryParams.subject" :data="subjectList" :render-after-expand="false" /> | ||||
|         </el-form-item> | ||||
|         <el-form-item> | ||||
|           <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button> | ||||
| @@ -253,19 +255,13 @@ async function enterVerifyDialog() { // 审核提交 | ||||
|               @click="editCourseFunc(scope.row)" | ||||
|             >查看</el-button> | ||||
|             <el-button | ||||
|                v-if="scope.row.status === 2" | ||||
|               icon="check" | ||||
|               size="small" | ||||
|               type="primary" | ||||
|               link | ||||
|               @click="checkCourseFunc(scope.row)" | ||||
|             >审核</el-button> | ||||
| <!--            <el-button--> | ||||
| <!--              icon="delete"--> | ||||
| <!--              size="small"--> | ||||
| <!--              type="danger"--> | ||||
| <!--              link--> | ||||
| <!--              @click="deleteCourseFunc(scope.row)"--> | ||||
| <!--            >删除</el-button>--> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
|   | ||||
| @@ -21,7 +21,8 @@ const queryParams = ref({ | ||||
|   pageSize:10, | ||||
|   user_id:0, | ||||
|   type:'', // 是否中奖 | ||||
|   time:'', // 抽经时间 | ||||
|   time:'', // 抽经时间, | ||||
|   current_page:1 | ||||
| }) | ||||
| const tableData = ref([]) | ||||
| const total = ref(0) | ||||
| @@ -37,6 +38,7 @@ const typeList = ref([ | ||||
| ]) | ||||
| // 生命周期 | ||||
| onMounted(() => { | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
|   // getAuctionDetailList() | ||||
| }) | ||||
| // 方法 | ||||
| @@ -57,7 +59,9 @@ const onReset = () => { | ||||
|     user_id:0, | ||||
|     type:'', // 是否中奖 | ||||
|     time:'', // 抽经时间 | ||||
|     current_page:1 | ||||
|   } | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
| } | ||||
| function handleCurrentChange(val) { | ||||
|   queryParams.value.page = val | ||||
|   | ||||
| @@ -59,6 +59,7 @@ const onReset = () => { | ||||
|     type:'', | ||||
|     deal_time:'' | ||||
|   } | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
| } | ||||
| function handleCurrentChange(val) { | ||||
|   queryParams.value.page = val | ||||
| @@ -90,15 +91,15 @@ function getTypeName(type) { | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|  | ||||
| <!--        <el-form-item label="交易时间">--> | ||||
| <!--           <el-date-picker class="oi-item" style="margin-left:5px"--> | ||||
| <!--            v-model="queryParams.deal_time"--> | ||||
| <!--            type="date"--> | ||||
| <!--            placeholder="交易时间"--> | ||||
| <!--            format="YYYY-MM-DD"--> | ||||
| <!--            value-format="x"--> | ||||
| <!--           />--> | ||||
| <!--        </el-form-item>--> | ||||
|         <el-form-item label="交易时间"> | ||||
|            <el-date-picker class="oi-item" style="margin-left:5px" | ||||
|             v-model="queryParams.deal_time" | ||||
|             type="date" | ||||
|             placeholder="交易时间" | ||||
|             format="YYYY-MM-DD" | ||||
|             value-format="x" | ||||
|            /> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item> | ||||
|           <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button> | ||||
|   | ||||
| @@ -57,6 +57,7 @@ const onReset = () => { | ||||
|     type:'', | ||||
|     deal_time:'' | ||||
|   } | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
| } | ||||
| function handleCurrentChange(val) { | ||||
|   queryParams.value.page = val | ||||
| @@ -67,6 +68,7 @@ function handleSizeChange(val) { | ||||
|   getDealPointList() | ||||
| } | ||||
| function getTypeName(type) { | ||||
|   console.log(deal_types.value,type) | ||||
|   return deal_types.value.filter((item,i) => { | ||||
|     return item.value == type | ||||
|   })[0].name | ||||
| @@ -78,12 +80,12 @@ function getTypeName(type) { | ||||
|     <div class="gva-search-box"> | ||||
|       <el-form ref="searchForm" :inline="true" :model="queryParams"> | ||||
|         <el-form-item label="交易类别"> | ||||
|           <el-select v-model="queryParams.subject" clearable placeholder="请选择"> | ||||
|           <el-select v-model="queryParams.type" clearable placeholder="请选择"> | ||||
|             <el-option | ||||
|               v-for="item in deal_types" | ||||
|               :key="item.value" | ||||
|               :label="item.name" | ||||
|               :value="item.name" | ||||
|               :value="item.value" | ||||
|             /> | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
| @@ -108,10 +110,10 @@ function getTypeName(type) { | ||||
|     <div class="gva-table-box"> | ||||
|       <!--      数据列表--> | ||||
|       <el-table :data="tableData"> | ||||
|         <el-table-column align="left" label="交易单号" min-width="150" prop="wallet_log_id" /> | ||||
|         <el-table-column align="left" label="交易单号" min-width="150" prop="consume_id" /> | ||||
|         <el-table-column align="left" label="交易类型" min-width="150"> | ||||
|           <template #default="scope"> | ||||
|             {{getTypeName(scope.row.wallet_log_type)}} | ||||
|             {{getTypeName(scope.row.point_type)}} | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column align="left" label="交易时间" min-width="150" > | ||||
|   | ||||
| @@ -83,7 +83,8 @@ function initChart() { // echart | ||||
| async function getSubject(){ // 获取课程分类 | ||||
|   const res = await capi.getSubjectList(subjectParams.value) | ||||
|   if(res.code === 0) { | ||||
|     subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     // subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     subjectList.value = custom.addTreeFormatSubject(res.data.records,'id') | ||||
|     // console.log(subjectList.value) | ||||
|   } | ||||
| } | ||||
| @@ -106,6 +107,7 @@ const onReset = () => { | ||||
|     last_time:'', | ||||
|     subject:'' | ||||
|   } | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
| } | ||||
| // const handleSelectionChange = (val) => { | ||||
| //   question_ids.value = val | ||||
| @@ -126,14 +128,15 @@ function handleSizeChange(val) { | ||||
|       <el-form ref="searchForm" :inline="true" :model="queryParams"> | ||||
|  | ||||
|         <el-form-item label="课程分类"> | ||||
|           <el-select v-model="queryParams.subject" clearable placeholder="请选择"> | ||||
|             <el-option | ||||
|               v-for="item in subjectList" | ||||
|               :key="item.id" | ||||
|               :label="item.name" | ||||
|               :value="item.id" | ||||
|             /> | ||||
|           </el-select> | ||||
| <!--          <el-select v-model="queryParams.subject" clearable placeholder="请选择">--> | ||||
| <!--            <el-option--> | ||||
| <!--              v-for="item in subjectList"--> | ||||
| <!--              :key="item.id"--> | ||||
| <!--              :label="item.name"--> | ||||
| <!--              :value="item.id"--> | ||||
| <!--            />--> | ||||
| <!--          </el-select>--> | ||||
|           <el-tree-select v-model="queryParams.subject" :data="subjectList" :render-after-expand="false" /> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item label="最后学习时间"> | ||||
| @@ -163,7 +166,7 @@ function handleSizeChange(val) { | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column align="left" label="科目" min-width="150" prop="subject"></el-table-column> | ||||
|         <el-table-column align="left" label="课程" min-width="150" prop="subject" /> | ||||
|         <el-table-column align="left" label="课程" min-width="150" prop="name" /> | ||||
|         <el-table-column align="left" label="学习时长(分钟)" min-width="150" prop="duration" /> | ||||
|  | ||||
|       </el-table> | ||||
|   | ||||
| @@ -37,7 +37,7 @@ const typeList = ref([ | ||||
| ]) | ||||
| // 生命周期 | ||||
| onMounted(() => { | ||||
|   // getRaffleDetailList() | ||||
|   getRaffleDetailList() | ||||
| }) | ||||
| // 方法 | ||||
| async function getRaffleDetailList() { | ||||
|   | ||||
| @@ -36,8 +36,9 @@ onMounted(() => { | ||||
| async function getSubject(){ // 获取课程分类 | ||||
|   const res = await capi.getSubjectList(subjectParams.value) | ||||
|   if(res.code === 0) { | ||||
|     subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     // subjectList.value = custom.getStdSubject(res.data.records) | ||||
|     // console.log(subjectList.value) | ||||
|      subjectList.value = custom.addTreeFormatSubject(res.data.records,'id') | ||||
|   } | ||||
| } | ||||
| async function getTestDetailList() { | ||||
| @@ -58,6 +59,7 @@ const onReset = () => { | ||||
|     last_time:'', | ||||
|     subject:'' | ||||
|   } | ||||
|   queryParams.value.id = parseInt(route.params.user_id) | ||||
| } | ||||
| function handleCurrentChange(val) { | ||||
|   queryParams.value.page = val | ||||
| @@ -82,14 +84,15 @@ async function getCourseName(course_id) { | ||||
|       <el-form ref="searchForm" :inline="true" :model="queryParams"> | ||||
|  | ||||
|         <el-form-item label="课程分类"> | ||||
|           <el-select v-model="queryParams.subject" clearable placeholder="请选择"> | ||||
|             <el-option | ||||
|               v-for="item in subjectList" | ||||
|               :key="item.id" | ||||
|               :label="item.name" | ||||
|               :value="item.id" | ||||
|             /> | ||||
|           </el-select> | ||||
| <!--          <el-select v-model="queryParams.subject" clearable placeholder="请选择">--> | ||||
| <!--            <el-option--> | ||||
| <!--              v-for="item in subjectList"--> | ||||
| <!--              :key="item.id"--> | ||||
| <!--              :label="item.name"--> | ||||
| <!--              :value="item.id"--> | ||||
| <!--            />--> | ||||
| <!--          </el-select>--> | ||||
|           <el-tree-select v-model="queryParams.subject" :data="subjectList" :render-after-expand="false" /> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item label="测试时间"> | ||||
|   | ||||
| @@ -272,7 +272,7 @@ const viewParams = ref({ | ||||
|   sort:'desc' | ||||
| }) | ||||
| const dialogViewVisible = ref(false) | ||||
| const viewInfo = ref({}) | ||||
| const viewInfo = ref([]) | ||||
| const view_total = ref(0) | ||||
| async function viewAuctionFunc(row) { // 竞拍明细 | ||||
|   viewParams.value.id = row.id | ||||
| @@ -511,8 +511,8 @@ async function viewAuctionFunc(row) { // 竞拍明细 | ||||
|       <el-table :data="viewInfo" border > | ||||
|         <el-table-column align="center" label="ID"  prop="id"  /> | ||||
|         <el-table-column align="center" label="用户名称"  prop="name"  /> | ||||
|         <el-table-column align="center" label="投注积分"  prop="point"  /> | ||||
|         <el-table-column align="center" label="是否中标"  prop="status"  /> | ||||
| <!--        <el-table-column align="center" label="抽奖积分"  prop="point"  />--> | ||||
|         <el-table-column align="center" label="是否中奖"  prop="status"  /> | ||||
|         <el-table-column align="center" label="参与时间"  prop="CreatedAt"  /> | ||||
|       </el-table> | ||||
|       <div class="gva-pagination"> | ||||
|   | ||||
| @@ -128,7 +128,7 @@ function deleteExamFunc(row) { | ||||
|   }) | ||||
| } | ||||
| function handleCurrentChange(val) { | ||||
|   queryParams.value.pageIndex = val | ||||
|   queryParams.value.page = val | ||||
|   getIntegralList() | ||||
| } | ||||
| function handleSizeChange(val) { | ||||
| @@ -181,6 +181,38 @@ function getStateName(state) { | ||||
|   } | ||||
|   return str | ||||
| } | ||||
| async function integralOperationFunc(type,row) { // 冻结 解冻 | ||||
|   let func = '', title = '' | ||||
|   if(type == 1) { | ||||
|     func = 'freeze' | ||||
|     title = '是否冻结该用户积分?' | ||||
|   } | ||||
|   else { | ||||
|     func = 'unfreeze' | ||||
|     title = '是否解冻该用户积分?' | ||||
|   } | ||||
|   // const res = await api[func]({id:row.id}) | ||||
|   // if(res === 0) { | ||||
|   // | ||||
|   // } | ||||
|  | ||||
|   ElMessageBox.confirm(title, '提示', { | ||||
|     confirmButtonText: '确定', | ||||
|     cancelButtonText: '取消', | ||||
|     type: 'warning' | ||||
|   }) | ||||
|   .then(async() => { | ||||
|     const res = await api[func]({id:row.point_id}) | ||||
|     if (res.code === 0) { | ||||
|       ElMessage({ | ||||
|         type: 'success', | ||||
|         message: '操作成功!' | ||||
|       }) | ||||
|       getIntegralList() | ||||
|     } | ||||
|   },() => { | ||||
|   }) | ||||
| } | ||||
| </script> | ||||
| <template> | ||||
|   <div> | ||||
| @@ -241,18 +273,20 @@ function getStateName(state) { | ||||
|         <el-table-column align="center" fixed="right" label="操作" width="200"> | ||||
|           <template #default="scope"> | ||||
|             <el-button | ||||
|               icon="edit" | ||||
|               size="small" | ||||
|               type="primary" | ||||
|               link | ||||
|               @click="viewOrderFunc(scope.row)" | ||||
|             >冻结</el-button> | ||||
|             <el-button | ||||
|               icon="delete" | ||||
|                 v-if="scope.row.status === 1" | ||||
|               icon="close" | ||||
|               size="small" | ||||
|               type="danger" | ||||
|               link | ||||
|               @click="deleteExamFunc(scope.row)" | ||||
|               @click="integralOperationFunc(1,scope.row)" | ||||
|             >冻结</el-button> | ||||
|             <el-button | ||||
|                 v-if="scope.row.status === 2" | ||||
|               icon="select" | ||||
|               size="small" | ||||
|               type="primary" | ||||
|               link | ||||
|               @click="integralOperationFunc(2,scope.row)" | ||||
|             >解冻</el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|   | ||||
| @@ -134,6 +134,8 @@ function getStateName(state) { | ||||
|             <div class="di-right">{{assistantInfo.valid_num}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="detail-info-box"> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">管理学员:</div> | ||||
| @@ -143,75 +145,79 @@ function getStateName(state) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">课程订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.course_num}}</div> | ||||
|             <div class="di-right">{{assistantInfo.student_info?.course_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">课程收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.course_income}}</div> | ||||
|             <div class="di-right">{{assistantInfo.student_info?.course_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.exam_num}}</div> | ||||
|             <div class="di-right">{{assistantInfo.student_info?.exam_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.exam_income}}</div> | ||||
|             <div class="di-right">{{assistantInfo.student_info?.exam_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="detail-info-box"> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">推荐老师:</div> | ||||
|             <div class="di-right">{{assistantInfo.teacher_num}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
| <!--        <div class="dib-row">--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">授课总订单:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">授课总收益:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--        </div>--> | ||||
| <!--        <div class="dib-row">--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">试卷总订单:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">试卷总收益:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--        </div>--> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">授课总订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.teacher_info?.course_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">授课总收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.teacher_info?.course_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷总订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.teacher_info?.exam_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷总收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.teacher_info?.exam_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="detail-info-box"> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">推荐助教:</div> | ||||
|             <div class="di-right">{{assistantInfo.assistant_num}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
| <!--        <div class="dib-row">--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">课程总订单:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">课程总收益:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--        </div>--> | ||||
| <!--        <div class="dib-row">--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">试卷总订单:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--          <div class="dib-item">--> | ||||
| <!--            <div class="di-left">试卷总收益:</div>--> | ||||
| <!--            <div class="di-right">{{assistantInfo.assistant_info?.num}}</div>--> | ||||
| <!--          </div>--> | ||||
| <!--        </div>--> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">课程总订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.assistant_info?.course_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">课程总收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.assistant_info?.course_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷总订单:</div> | ||||
|             <div class="di-right">{{assistantInfo.assistant_info?.exam_num}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">试卷总收益:</div> | ||||
|             <div class="di-right">{{assistantInfo.assistant_info?.exam_income}}</div> | ||||
|           </div> | ||||
|         </div> | ||||
|  | ||||
|       </div> | ||||
|       <!--    操作区域--> | ||||
| @@ -289,6 +295,10 @@ function getStateName(state) { | ||||
|   } | ||||
|   .gva-table-box{ | ||||
|     .detail-info-box{ | ||||
|       margin-bottom: 10px; | ||||
|       border-bottom: 1px solid #f0f2f5; | ||||
|       padding-bottom: 10px; | ||||
|       box-shadow: 10px 2px 7px #f0f2f5; | ||||
|       .dib-row{ | ||||
|         overflow: hidden; | ||||
|         .link-item{ | ||||
|   | ||||
| @@ -51,7 +51,7 @@ const total = ref(0) | ||||
| // }) | ||||
| const question_id = ref(0) | ||||
| const content = ref(null) | ||||
| const teacher_ids = ref([]) | ||||
| const asistant_ids = ref([]) | ||||
| // 生命周期 | ||||
| onMounted(() => { | ||||
|   getAssistantList() | ||||
| @@ -85,8 +85,8 @@ const onReset = () => { | ||||
|   } | ||||
| } | ||||
| async function onDelete() { | ||||
|   const ids = teacher_ids.value | ||||
|   const res = await api.delExamination({ teacher_ids:ids }) | ||||
|   const ids = asistant_ids.value | ||||
|   const res = await api.delExamination({ asistant_ids:ids }) | ||||
|   if (res.code === 0) { | ||||
|     ElMessage({ | ||||
|       type: 'success', | ||||
| @@ -97,7 +97,7 @@ async function onDelete() { | ||||
|   } | ||||
| } | ||||
| const handleSelectionChange = (val) => { | ||||
|   teacher_ids.value = val.map((item) => { | ||||
|   asistant_ids.value = val.map((item) => { | ||||
|       return item.teacher_info_id | ||||
|   }) | ||||
| } | ||||
| @@ -119,12 +119,12 @@ const pFormRules = ref({ | ||||
| }) | ||||
| const p_type = ref(null); // 审核类型 | ||||
| const pForm = ref({}) | ||||
| const teacher_id = ref(0) | ||||
| const asistant_id = ref(0) | ||||
| const p_title = ref('') | ||||
| function processFunc(row,state) { // 审核 | ||||
|   p_type.value = state | ||||
|   p_visible.value = true | ||||
|   teacher_id.value = row.user_id | ||||
|   asistant_id.value = row.user_id | ||||
|   if(state === 3) { //同意 | ||||
|     p_title.value = '审核同意' | ||||
|   } | ||||
| @@ -136,17 +136,18 @@ function close_pv(){ | ||||
|   p_visible.value = false | ||||
| } | ||||
| async function pOk() { // 审核提交 | ||||
|   const res = await api.teacherOperator({ | ||||
|     teacher_id:teacher_id.value, | ||||
|   const res = await api.assistantOperator({ | ||||
|     assistant_id:asistant_id.value, | ||||
|     status:p_type.value, | ||||
|     desc:pForm.value.desc | ||||
|   }) | ||||
|   ElMessage({ | ||||
|     type: 'success', | ||||
|     message: res.data.msg | ||||
|     message: res.msg | ||||
|   }) | ||||
|   if(res.code === 0) { | ||||
|     close_pv() | ||||
|     getAssistantList() | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| @@ -206,6 +207,11 @@ async function pOk() { // 审核提交 | ||||
|             {{scope.row.province>-1?cityList[scope.row.province].name:'无'}} | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column align="center" label="状态" min-width="150"> | ||||
|           <template #default="scope"> | ||||
|             {{scope.row.status==1?'申请中':scope.row.status==2?'已拒绝':'已同意'}} | ||||
|           </template> | ||||
|         </el-table-column> | ||||
| <!--        <el-table-column align="center" label="管理学员" prop="invite_id" />--> | ||||
| <!--        <el-table-column align="center" label="课程订单" prop="invite_id" />--> | ||||
| <!--        <el-table-column align="center" label="收益" prop="invite_id" />--> | ||||
|   | ||||
| @@ -57,20 +57,20 @@ const user_list = ref([]) | ||||
| // 生命周期 | ||||
| onMounted(() => { | ||||
|   getManagerList() | ||||
|   getUserList() | ||||
|   // getUserList() | ||||
| }) | ||||
| // provide('subjectList', subjectList) | ||||
| // provide('current_subject', current_subject) | ||||
| // 方法 | ||||
| async function getUserList() { | ||||
|   const res = await capi.getUserList({ | ||||
|     page:1, | ||||
|     pageSize:1000 | ||||
|   }) | ||||
|   if(res.code === 0) { | ||||
|     user_list.value = res.data.records | ||||
|   } | ||||
| } | ||||
| // async function getUserList() { | ||||
| //   const res = await capi.getUserList({ | ||||
| //     page:1, | ||||
| //     pageSize:1000 | ||||
| //   }) | ||||
| //   if(res.code === 0) { | ||||
| //     user_list.value = res.data.records | ||||
| //   } | ||||
| // } | ||||
| async function getManagerList() { | ||||
|   const res = await api.getManagerList(queryParams.value) | ||||
|   if(res.code === 0) { | ||||
| @@ -182,6 +182,20 @@ async function saveData() { | ||||
|       dialogVisible.value = false | ||||
|   } | ||||
| } | ||||
| /*搜索用户相关*/ | ||||
| const selectLoading = ref(false) | ||||
| async function remoteMethod(query) { | ||||
|   selectLoading.value = true | ||||
|   const res = await capi.getUserList({ | ||||
|     name:query, | ||||
|     page:1, | ||||
|     pageSize:100 | ||||
|   }) | ||||
|   selectLoading.value = false | ||||
|   if(res.code === 0) { | ||||
|     user_list.value = res.data.records | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| <template> | ||||
|   <div> | ||||
| @@ -298,9 +312,26 @@ async function saveData() { | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|         <el-form-item label="用户ID" prop="user_id"> | ||||
|           <el-select v-model="mForm.user_id" clearable placeholder="请选择"> | ||||
| <!--          <el-select v-model="mForm.user_id" clearable placeholder="请选择">--> | ||||
| <!--            <el-option--> | ||||
| <!--              v-for="(item,index) in user_list"--> | ||||
| <!--              :key="item.user_id"--> | ||||
| <!--              :label="item.nickname"--> | ||||
| <!--              :value="item.user_id"--> | ||||
| <!--            />--> | ||||
| <!--          </el-select>--> | ||||
|  | ||||
|           <el-select | ||||
|             v-model="mForm.user_id" | ||||
|             filterable | ||||
|             remote | ||||
|             reserve-keyword | ||||
|             placeholder="搜索用户" | ||||
|             remote-show-suffix | ||||
|             :remote-method="remoteMethod" | ||||
|           > | ||||
|             <el-option | ||||
|               v-for="(item,index) in user_list" | ||||
|               v-for="item in user_list" | ||||
|               :key="item.user_id" | ||||
|               :label="item.nickname" | ||||
|               :value="item.user_id" | ||||
|   | ||||
| @@ -108,7 +108,7 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">积分:</div> | ||||
|             <div class="di-right">{{userManageInfo.points}}</div> | ||||
|             <div class="di-right">{{userManageInfo.point}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item link-item" @click="toDealDetail(detail_type.dealDetailPoint)"> | ||||
|             <div class="di-left">查看交易明细</div> | ||||
| @@ -117,11 +117,11 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">报课次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.course_sale}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.course_num}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">累计消费金额:</div> | ||||
|             <div class="di-right">{{userManageInfo.course_income}}</div> | ||||
|             <div class="di-right">{{userManageInfo.course_expend}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item link-item" @click="toDealDetail(detail_type.learningDetail)"> | ||||
|             <div class="di-left">查看学习记录</div> | ||||
| @@ -130,11 +130,11 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">测试次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_sale}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_num}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">累计金额:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_income}}</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_expend}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item link-item" @click="toDealDetail(detail_type.testDetail)"> | ||||
|             <div class="di-left">查看测试记录</div> | ||||
| @@ -143,11 +143,11 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">抽奖次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_sale}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.lottery_num}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">中奖次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_income}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.lottery_win}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item link-item" @click="toDealDetail(detail_type.raffleDetail)"> | ||||
|             <div class="di-left">查看抽奖记录</div> | ||||
| @@ -156,11 +156,11 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">竞拍次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_sale}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.auction_num}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">中奖次数:</div> | ||||
|             <div class="di-right">{{userManageInfo.exam_income}}次</div> | ||||
|             <div class="di-right">{{userManageInfo.auction_win}}次</div> | ||||
|           </div> | ||||
|           <div class="dib-item link-item" @click="toDealDetail(detail_type.auctionDetail)"> | ||||
|             <div class="di-left">查看竞拍记录</div> | ||||
| @@ -169,7 +169,7 @@ function toDealDetail(type) { | ||||
|         <div class="dib-row"> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">邀请人姓名:</div> | ||||
|             <div class="di-right">{{userManageInfo.invite_id}}</div> | ||||
|             <div class="di-right">{{userManageInfo.invite_name}}</div> | ||||
|           </div> | ||||
|           <div class="dib-item"> | ||||
|             <div class="di-left">邀请人姓名ID:</div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user