Selaa lähdekoodia

优化添加新功能

hurixing 1 vuosi sitten
vanhempi
commit
cf66197056

+ 8 - 0
src/api/patient/index.js

@@ -218,3 +218,11 @@ export function departmentList(query) {
     data: query
   })
 }
+
+export function dealPackage(query) {
+  return request({
+    url: `/patient/deal/package`,
+    method: 'post',
+    data: query
+  })
+}

+ 1 - 1
src/views/doctor/physician/index.vue

@@ -338,7 +338,7 @@ export default {
          if (valid) {
            let oldPassword = symmetryEncrypt(this.formPass.oldPassword);
            let newPassword = symmetryEncrypt(this.formPass.newPassword);
-           updateUserPwd(this.formPass.id, oldPassword, this.formPass.newPassword).then(response => {
+           updateUserPwd(this.formPass.id, oldPassword, newPassword).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.close()
            });

+ 5 - 1
src/views/game/list/index.vue

@@ -191,7 +191,10 @@
             <el-input v-model.trim="form.desn" type="textarea" placeholder="请输入游戏玩法" maxlength="800" />
           </el-form-item>
           <el-form-item prop="gameShortDesn" label="游戏简述">
-            <el-input v-model.trim="form.gameShortDesn" type="textarea" placeholder="请输入游戏简述" maxlength="800" />
+            <el-input v-model.trim="form.gameShortDesn" type="textarea" placeholder="请输入游戏简述" maxlength="100" />
+          </el-form-item>
+          <el-form-item prop="scientificPrinciple" label="科学原理">
+            <el-input v-model.trim="form.scientificPrinciple" type="textarea" placeholder="请输入游戏简述" maxlength="100" />
           </el-form-item>
           <el-row>
             <el-col :span="12">
@@ -268,6 +271,7 @@ export default {
         gameDifficulty: [{ required: true, message: "游戏简易程度不能为空" }],
         gameDifficultyRate: [{ required: true, message: "游戏系数不能为空" }],
         gameShortDesn: [{ required: true, message: "游戏简述不能为空" }],
+        scientificPrinciple: [{ required:true, message: "科学原理不能为空"}],
       },
       videoOpen: false,
       VideoUrl: ''

+ 1 - 1
src/views/patient/addTwo/index.vue

@@ -10,7 +10,7 @@
             </el-col>
             <el-col :span="21" style="display: flex;">
               <div class="item" style="flex: 1;">
-                <div :class="form.packageId == item.id ? 'item_box boxActive' : 'item_box'" v-for="item in packageData"
+                <div v-for="item in packageData" :class="form.packageId == item.id ? 'item_box boxActive' : 'item_box'" 
                   @click="changeRadio(item, 'packageId')">
                   {{ item.packageName }}
                 </div>

+ 1 - 1
src/views/patient/list/lookDetail.vue

@@ -308,7 +308,7 @@
               <dict-tag :options="dict.type.game_type" :value="scope.row.gameType" />
             </template>
           </el-table-column>
-          <!-- <el-table-column prop="totalNum" label="总关卡" /> -->
+          <el-table-column prop="totalNum" label="总关卡" />
           <el-table-column prop="gameDifficultyRate" label="游戏系数" />
 
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="taskBtn">

+ 95 - 2
src/views/patient/manager/index.vue

@@ -36,17 +36,37 @@
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button size="mini" type="text" @click="handelEdit(scope.row)">购买套餐</el-button>
+          <el-button size="mini" type="text" @click="openPackage(scope.row.id)">开通套餐</el-button>
         </template>
       </el-table-column>
     </el-table>
     <detail ref="detail" @shuaxin="getList()" />
     <!--  分页  -->
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page"  :page-sizes="[10, 20, 30,50,100]" :limit.sync="queryParams.limit" />
+
+    <el-dialog title="开通套餐" :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
+      <el-row :gutter="24">
+          <el-col :span="3" style="display: flex;">
+            <div class="titles" style="  margin-top: 6px;">训练套餐:</div>
+          </el-col>
+          <el-col :span="21">
+            <div class="itemPackage" style="flex: 1;">
+                <div v-for="item in learningPackageList" :class="dealPackageDto.packageId==item.id ?'item_box boxActive' : 'item_box'" @click="clickRadio(item.id)">
+                  {{ item.packageName }}
+                </div>
+              </div>
+          </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="checkDealPackage">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listData, delpatient, patientDetail, learnSelectAll, queryMonthRecord, reviewTaskSave } from '@/api/patient/index'
+import { listData, delpatient, patientDetail, learnSelectAll, queryMonthRecord, reviewTaskSave, dealPackage } from '@/api/patient/index'
 import { debounce } from 'lodash-es'
 import detail from '../addTwo/index.vue'
 export default {
@@ -73,7 +93,12 @@ export default {
         limit: 10,
         status: '0,1'
       },
-
+      dialogVisible: false,
+      dealPackageDto:{
+        appUserId: undefined,
+        packageId: undefined
+      },
+      learningPackageList:[]
     };
   },
   created() {
@@ -104,6 +129,45 @@ export default {
   },
 
   methods: {
+    checkDealPackage(){
+      if(this.dealPackageDto.packageId == null || this.dealPackageDto.packageId == undefined || this.dealPackageDto.packageId == ""){
+        this.$modal.msgError(`请选择套餐`);
+        return;
+      }
+      this.$confirm('请确认患者已缴费,再进行开通', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        dealPackage(this.dealPackageDto).then(response=>{
+          if(response.code === "200"){
+            this.$modal.msgSuccess(`开通成功`);
+            this.dialogVisible = false
+          }
+        })
+      }).catch(() => { });
+    },
+    clickRadio(id){
+      this.dealPackageDto.packageId = id;
+    },
+    openPackage(userId) {
+      this.dealPackageDto ={
+        appUserId: undefined,
+        packageId: undefined
+      }
+      learnSelectAll().then(resp=>{
+        this.learningPackageList = resp.data
+        this.dialogVisible = true;
+        this.dealPackageDto.appUserId = userId
+      })
+    },
+    handleClose(done) {
+      this.$confirm('确认关闭?')
+        .then(_ => {
+          done();
+        })
+        .catch(_ => {});
+    },
     /** 查询机构列表 */
     getList() {
       this.loading = true;
@@ -219,3 +283,32 @@ export default {
   }
 };
 </script>
+
+
+<style lang="scss" scoped>
+.itemPackage {
+  display: flex;
+  flex-flow: row wrap;
+
+  .item_box {
+    width: 140px;
+    height: 40px;
+    line-height: 40px;
+    border-radius: 8px;
+    border: 1px solid #979797;
+    text-align: center;
+    cursor: pointer;
+    margin-left: 20px;
+    margin-bottom: 20px;
+    user-select: none;
+    font-size: 14px;
+    overflow: hidden;
+  }
+
+  .boxActive {
+    border: 1px solid #2A55FF !important;
+    background: #2A55FF;
+    color: #fff;
+  }
+}
+</style>

+ 1 - 0
src/views/testApp/question/index.vue

@@ -171,6 +171,7 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       let catchForm = JSON.parse(JSON.stringify(row))
+      console.log(catchForm)
       catchForm.questionOptions.map((item, index) => {
         if (item.correctOption == '0') {
           catchForm.radio = index