Переглянути джерело

Merge branch 'master' of http://git.cc-lotus.info/new_train/frame

guhongwei 4 роки тому
батько
коміт
4cfbbcc957
3 змінених файлів з 93 додано та 79 видалено
  1. 22 22
      layout/admin/detail-frame.vue
  2. 54 54
      layout/admin/list-frame.vue
  3. 17 3
      parts/print/certCard.vue

+ 22 - 22
layout/admin/detail-frame.vue

@@ -1,26 +1,26 @@
 <template>
-  <div id="detail-frame" :style="`height:${heights}px`">
-    <el-scrollbar style="height:100%">
-      <el-card style="background-image: linear-gradient(315deg, #CCF, transparent);border-radius: 60px;" shadow="hover">
-        <el-row>
-          <el-col :span="24" class="title">
-            <span v-if="returns">
-              <el-button size="mini" plan circle @click="toReturn" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
-                <span class="el-icon-arrow-left" style="zoom:1.5;font-weight:700"></span>
-              </el-button>
-            </span>
-            <slot name="title">
-              {{ title }}
-            </slot>
-          </el-col>
-        </el-row>
-        <div style="padding:1.25rem;overflow: inherit;overflow-x: auto;">
-          <!-- <el-scrollbar style="height:100%"> -->
-          <slot></slot>
-          <!-- </el-scrollbar> -->
-        </div>
-      </el-card>
-    </el-scrollbar>
+  <div id="detail-frame" :style="`height:${heights}px;overflow:auto`">
+    <!-- <el-scrollbar style="height:100%"> -->
+    <el-card style="background-image: linear-gradient(315deg, #CCF, transparent);border-radius: 60px;" shadow="hover">
+      <el-row>
+        <el-col :span="24" class="title">
+          <span v-if="returns">
+            <el-button size="mini" plan circle @click="toReturn" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
+              <span class="el-icon-arrow-left" style="zoom:1.5;font-weight:700"></span>
+            </el-button>
+          </span>
+          <slot name="title">
+            {{ title }}
+          </slot>
+        </el-col>
+      </el-row>
+      <div style="padding:1.25rem;overflow: inherit;overflow-x: auto;">
+        <!-- <el-scrollbar style="height:100%"> -->
+        <slot></slot>
+        <!-- </el-scrollbar> -->
+      </div>
+    </el-card>
+    <!-- </el-scrollbar> -->
   </div>
 </template>
 

+ 54 - 54
layout/admin/list-frame.vue

@@ -1,59 +1,59 @@
 <template>
-  <div id="list-frame" :style="`height:${heights}px`">
-    <el-scrollbar style="height:100%">
-      <el-card style="background-image: linear-gradient(315deg, #CCF, transparent);border-radius: 60px;" shadow="hover">
-        <el-row>
-          <el-col :span="21" class="title">
-            <span v-if="returns">
-              <el-button size="mini" plan circle @click="toReturns" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
-                <span class="el-icon-arrow-left" style="zoom:1.5;font-weight:700"></span>
-              </el-button>
-            </span>
-            <slot name="title">
-              {{ title }}
-            </slot>
-          </el-col>
-          <el-col :span="3" class="title" v-if="needAdd">
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="$emit('add')">新增</el-button>
-          </el-col>
-        </el-row>
-        <slot name="filter" v-if="needFilter">
-          <el-form :inline="true" style="padding:0.9rem 1.5rem ;">
-            <el-form-item v-for="(item, index) in filter" :key="index" :label="item.label">
-              <template v-if="item.type === `select`">
-                <el-select v-model="searchInfo[`${item.model}`]" size="mini" clearable>
-                  <!-- <el-option v-for="(select, sIndex) in item.list" :key="sIndex" :label="select.label" :value="select.value"></el-option> -->
-                  <slot name="options" v-bind="{ item }"></slot>
-                </el-select>
-              </template>
-              <template v-else>
-                <el-input v-model="searchInfo[`${item.model}`]" size="mini" clearable></el-input>
-              </template>
-            </el-form-item>
-            <el-form-item>
-              <el-button type="primary" size="mini" @click="toQuery()">查询</el-button>
-            </el-form-item>
-          </el-form>
-        </slot>
+  <div id="list-frame" :style="`height:${heights}px;overflow:auto`">
+    <!-- <el-scrollbar style="height:100%"> -->
+    <el-card style="background-image: linear-gradient(315deg, #CCF, transparent);border-radius: 60px;" shadow="hover">
+      <el-row>
+        <el-col :span="21" class="title">
+          <span v-if="returns">
+            <el-button size="mini" plan circle @click="toReturns" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
+              <span class="el-icon-arrow-left" style="zoom:1.5;font-weight:700"></span>
+            </el-button>
+          </span>
+          <slot name="title">
+            {{ title }}
+          </slot>
+        </el-col>
+        <el-col :span="3" class="title" v-if="needAdd">
+          <el-button type="primary" icon="el-icon-plus" size="mini" @click="$emit('add')">新增</el-button>
+        </el-col>
+      </el-row>
+      <slot name="filter" v-if="needFilter">
+        <el-form :inline="true" style="padding:0.9rem 1.5rem ;">
+          <el-form-item v-for="(item, index) in filter" :key="index" :label="item.label">
+            <template v-if="item.type === `select`">
+              <el-select v-model="searchInfo[`${item.model}`]" size="mini" clearable>
+                <!-- <el-option v-for="(select, sIndex) in item.list" :key="sIndex" :label="select.label" :value="select.value"></el-option> -->
+                <slot name="options" v-bind="{ item }"></slot>
+              </el-select>
+            </template>
+            <template v-else>
+              <el-input v-model="searchInfo[`${item.model}`]" size="mini" clearable></el-input>
+            </template>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" size="mini" @click="toQuery()">查询</el-button>
+          </el-form-item>
+        </el-form>
+      </slot>
 
-        <div style="padding:0.9rem 1.25rem ;">
-          <slot> </slot>
-        </div>
-        <el-row type="flex" align="middle" justify="end" v-if="needPag">
-          <el-col :span="24" style="text-align:right;">
-            <el-pagination
-              background
-              layout="total, prev, pager, next"
-              :total="total"
-              :page-size="limit"
-              :current-page.sync="currentPage"
-              @current-change="changePage"
-            >
-            </el-pagination>
-          </el-col>
-        </el-row>
-      </el-card>
-    </el-scrollbar>
+      <div style="padding:0.9rem 1.25rem ;">
+        <slot> </slot>
+      </div>
+      <el-row type="flex" align="middle" justify="end" v-if="needPag">
+        <el-col :span="24" style="text-align:right;">
+          <el-pagination
+            background
+            layout="total, prev, pager, next"
+            :total="total"
+            :page-size="limit"
+            :current-page.sync="currentPage"
+            @current-change="changePage"
+          >
+          </el-pagination>
+        </el-col>
+      </el-row>
+    </el-card>
+    <!-- </el-scrollbar> -->
   </div>
 </template>
 

+ 17 - 3
parts/print/certCard.vue

@@ -5,7 +5,7 @@
         <el-col :span="24">
           <el-col :span="24" style="margin:15px 0;">
             <el-button type="primary" size="mini" @click="clickView()"> 打印预览</el-button>
-            <el-button type="primary" size="mini" @click="toComputIsFine()" :disabled="this.defaultOption.classid ? false : true">更新优秀学员</el-button>
+            <el-button type="primary" size="mini" @click="toComputIsFine()" :disabled="canSetFine()">设置优秀学员</el-button>
           </el-col>
           <el-col :span="24">
             <data-table :fields="fields" :select="true" @handleSelect="handleSelect" :data="list" :opera="opera" :usePage="false"></data-table>
@@ -74,6 +74,7 @@ export default {
     enddate: { type: String },
     classname: { type: String },
     term: { type: String },
+    classid: { type: String },
   },
   components: { dataTable },
   data: function() {
@@ -147,9 +148,13 @@ export default {
     // 计算优秀学员
     async toComputIsFine() {
       let msg = this.$message({ duration: 0, message: '正在计算,设置优秀学员,请稍后...' });
-      const res = await this.computedIsFine(this.defaultOption.classid);
+      let classid = this.defaultOption.classid;
+      if (!classid) classid = this.classid;
+      const res = await this.computedIsFine(classid);
       msg.close();
-      if (this.$checkRes(res, '优秀学员设置成功', res.errmsg || '优秀学员设置失败')) this.search();
+      if (this.$checkRes(res, '优秀学员设置成功', res.errmsg || '优秀学员设置失败')) {
+        this.$emit('research', { classid: this.classid });
+      }
     },
     // 过滤几号学生
     // getnum(index) {
@@ -157,6 +162,15 @@ export default {
     //   if (num < 10) return '0' + num;
     //   else return index;
     // },
+    // 判断是否可以设置优秀学员
+    canSetFine() {
+      let classid = _.get(this.defaultOption, 'classid');
+      if (!classid) {
+        classid = this.classid;
+        if (!classid) return true;
+      }
+      return false;
+    },
   },
   computed: {
     ...mapState(['user', 'defaultOption']),