Ver Fonte

Merge branch 'seven' of http://120.79.166.78:19005/zhongzheng-edu/saas_entrepot_admin into seven

谢杰标 há 3 anos atrás
pai
commit
841834825e

+ 1 - 1
src/components/tableList.vue

@@ -2126,7 +2126,7 @@ export default {
       if (int === 4) {
         const jump = () => {
           this.$router.push({
-            path: "/Marketing/goods/commodityManageMentEdit",
+            name: "CommodityManageMentEdit",
             query: {
               id: v.goodsId,
             },

+ 8 - 0
src/newApi/course.js

@@ -46,6 +46,14 @@ export default {
             method: 'get',
         })
     },
+    //查询商品课程列表
+    obtainCourseGoodsList(data) {
+        return request({
+            url: `/goods/course/getList`,
+            method: 'get',
+            params: data
+        })
+    },
     //查询商品双师资模板列表
     inquireCourseTeacherList(data) {
         return request({

+ 1 - 0
src/views/2Cport/referralManageMent/tab1/addGL.vue

@@ -452,6 +452,7 @@ export default {
       });
       this.$api
         .inquireGoods({
+          educationTypeId: this.listData.educationTypeId,
           businessId: this.listData.businessId,
           majorId: this.listData.majorId,
           subjectIdList: this.listData.subjectIds,

+ 1 - 0
src/views/2Cport/referralManageMent/tab2/addGL.vue

@@ -452,6 +452,7 @@ export default {
       });
       this.$api
         .inquireGoods({
+          educationTypeId: this.listData.educationTypeId,
           businessId: this.listData.businessId,
           majorId: this.listData.majorId,
           subjectIdList: this.listData.subjectIds,

+ 1 - 1
src/views/Marketing/goods/commodityManageMent/index.vue

@@ -18,7 +18,7 @@
     >
       <template slot="btn" slot-scope="props">
         <el-button
-          v-if="props.scope.row.goodsType == 1"
+          v-if="props.scope.row.goodsType == 1 && props.scope.row.courseNum && props.scope.row.courseNum > 0"
           type="text"
           @click="setTeacher(props.scope.row)"
           >双师制设置</el-button

+ 4 - 3
src/views/Marketing/goods/commodityManageMent/teacher/index.vue

@@ -39,7 +39,7 @@
           ref="resultData"
         >
           <el-form-item label="模板名称" prop="name">
-            <el-input v-model="resultData.name"></el-input>
+            <el-input v-model="resultData.name" placeholder="请输入别名"></el-input>
           </el-form-item>
           <el-form-item label="关联课程" prop="majors">
             <el-button type="primary" size="small" @click="link"
@@ -102,10 +102,10 @@ export default {
       dialogVisible: false,
       bieName: "",
       navText: {
-        title: "双师模板设置",
+        title: "双师模板设置",
         num: false,
         border: true,
-        choice: true,
+        choice: false,
         addHide: false,
         changeWidth: "180px",
         backFatherBtn: {
@@ -165,6 +165,7 @@ export default {
     },
     closeBZ() {
       this.dialogVisible = false;
+      this.search()
     },
     link() {
       //打开关联课程组件

+ 12 - 3
src/views/Marketing/goods/commodityManageMent/teacher/selectCourse.vue

@@ -18,11 +18,11 @@
         </div>
       </div>
       <div style="margin-bottom: 10px">
-        <!-- 搜索框 -->
         <el-input
           style="width: 230px; margin: 0px 10px"
           :size="size"
-          v-model="formData['key']"
+          v-model="courseName"
+          clearable
           placeholder="课程标题/课程编码"
         ></el-input>
         <el-button :size="size" type="primary" @click="getInfos(1)"
@@ -97,6 +97,7 @@ export default {
       dialogVisibleTableBoxs: false,
       tableData: [],
       goodsId: "",
+      courseName: '',
       tableSet: [
         { label: "课程编码", prop: "code", width: "140px" },
         { label: "课程科目", prop: "subjectName"},
@@ -142,15 +143,23 @@ export default {
      * 搜索数据
      */
     getInfos(int) {
+      console.log(this.courseName,'this.courseName');
       //重置0
       if (int === 0) {
         this.formData.pageSize = 10;
         this.formData.pageNum = 1;
+        this.courseName = ''
       }
       if (int === 1) {
         this.formData.pageNum = 1;
       }
-      this.$api.obtainCourseSgoodsId(this.goodsId).then((res) => {
+      let param = {
+        goodsId: this.goodsId,
+        pageSize: this.formData.pageSize,
+        pageNum: this.formData.pageNum,
+        keyWord: this.courseName
+      }
+      this.$api.obtainCourseGoodsList(param).then((res) => {
         this.tableData = res.rows;
         this.total = res.total;
       });

+ 99 - 1
src/views/Marketing/goods/goodTopic/index.vue

@@ -25,6 +25,52 @@
       @handleSizeChange="handleSizeChange"
       @handleCurrentChange="handleCurrentChange"
     />
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="650px"
+      :show-close="false"
+      :close-on-click-modal="false"
+      destroy-on-close
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">分享</div>
+        <div class="rightBoxs">
+          <img
+            src="@/assets/images/Close@2x.png"
+            alt=""
+            @click="dialogVisible = false"
+          />
+        </div>
+      </div>
+      <el-form label-width="180px" :model="formLabelAlign">
+        <el-form-item label="观看链接(PC端):">
+          <span id="copycode">{{ formLabelAlign.enCodePC }}</span
+          ><el-button
+            v-if="formLabelAlign.enCodePC"
+            type="text"
+            style="margin-left: 10px"
+            @click="copyUrl"
+            >复制</el-button
+          >
+        </el-form-item>
+        <el-form-item label="观看二维码:">
+          <img
+            style="width: 100px; height: 100px"
+            :src="formLabelAlign.enCode"
+            alt=""
+          />
+          <el-button
+            type="text"
+            @click="downloadFileByBase64(formLabelAlign.enCode, '小程序二维码')"
+            >下载</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">关 闭</el-button>
+        <!-- <el-button type="primary" @click="submitTable">保 存</el-button> -->
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -53,6 +99,11 @@ export default {
         },
       },
       topType: true,
+      dialogVisible: false, //分享窗口
+      formLabelAlign: {
+        enCodePC: '',
+        enCode: '',
+      },
       //搜索
       formList: [],
       formData: {
@@ -107,7 +158,9 @@ export default {
   },
   methods: {
     share(v) {
-      console.log(v);
+      this.formLabelAlign.enCodePC = v.enCodePC
+      this.formLabelAlign.enCode = v.enCode
+      this.dialogVisible = true
     },
     search(int) {
       this.loading = true;
@@ -137,6 +190,51 @@ export default {
     },
     init() {
       this.search(2);
+    },
+      /**
+     * 复制地址
+     */
+    copyUrl() {
+      const range = document.createRange();//创建range对象;
+      range.selectNode(document.getElementById("copycode")); //获取复制内容的 id 选择器
+      const selection = window.getSelection(); //创建 selection对象
+      if (selection.rangeCount > 0) selection.removeAllRanges(); //如果页面已经有选取了的话,会自动删除这个选区,没有选区的话,会把这个选取加入选区
+      selection.addRange(range); //将range对象添加到selection选区当中,会高亮文本块
+      document.execCommand("copy"); //复制选中的文字到剪贴板
+      this.$message.success("复制成功");
+      selection.removeRange(range); // 移除选中的元素
+    },
+    //将base64转换为blob
+    dataURLtoBlob(dataurl) {
+      if (!dataurl) {
+        this.$message.error("下载失败");
+        return;
+      }
+      var arr = dataurl.split(","),
+        mime = arr[0].match(/:(.*?);/)[1],
+        bstr = atob(arr[1]),
+        n = bstr.length,
+        u8arr = new Uint8Array(n);
+      while (n--) {
+        u8arr[n] = bstr.charCodeAt(n);
+      }
+      return new Blob([u8arr], { type: mime });
+    },
+    //下载方法
+    downloadFile(url, name = "下载图") {
+      var a = document.createElement("a");
+      a.setAttribute("href", url);
+      a.setAttribute("download", name);
+      a.setAttribute("target", "_blank");
+      let clickEvent = document.createEvent("MouseEvents");
+      clickEvent.initEvent("click", true, true);
+      a.dispatchEvent(clickEvent);
+    },
+
+    downloadFileByBase64(base64, name) {
+      var myBlob = this.dataURLtoBlob(base64);
+      var myUrl = URL.createObjectURL(myBlob);
+      this.downloadFile(myUrl, name);
     },
     del(v) {
       this.$api.gradecheckGoodsChange({ goodsId: v.goodsId }).then((res) => {

+ 15 - 2
src/views/resource/videoManagement/courseManagement/chapterContent/index.vue

@@ -41,7 +41,6 @@
             删除
           </el-button>
           <el-button
-            v-if="data.type === 2"
             type="text"
             size="mini"
             style="color: green"
@@ -607,7 +606,7 @@ export default {
       }
     },
     initSort() {
-      this.sortList = JSON.parse(JSON.stringify(this.tableDataInfos));
+      this.sortList = JSON.parse(JSON.stringify(this.tableDataInfos));  
     },
     submitTableBoxs() {
       let arr = this.sortList.map((items) => {
@@ -651,10 +650,12 @@ export default {
     //1确定关联试卷弹窗
     submitExam() {
       if (!this.templateRadio && !this.goodsName) {
+        console.log(this.menuExamList,'this.menuExamList111111');
         this.menuExamList = this.menuExamList.filter((item) => {
           return item.onlyId != this.onlyId;
         });
       } else {
+        console.log(this.menuExamList,'this.menuExamList222222');
         var arrays = {};
         let ast = this.onlyId.split("-").map(Number);
         arrays = {
@@ -683,6 +684,7 @@ export default {
     },
     //开启关联试卷盒子
     openExamBox(node, item) {
+      console.log(this.tableDataInfos,'this.tableDataInfos');
       var ints = item.id.split("-").map(Number);
       var arr = [];
       if (ints[0] === 1) {
@@ -1243,6 +1245,17 @@ export default {
           sort: item.sort,
         });
       });
+      if(this.menuExamList && this.menuExamList.length > 0){
+          this.menuExamList.forEach((item) => {
+              if(item.moduleId != 0 && item.sectionId == 0 && item.chapterId == 0){
+                item.type = 3
+              }else if(item.sectionId != 0){
+                item.type = 2
+              }else{
+                item.type = 1
+              }
+          })
+      } 
       var data = {
         courseId: Number(this.$route.query.id),
         menuExamList: this.menuExamList,