Prechádzať zdrojové kódy

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

lrf402788946 5 rokov pred
rodič
commit
9c363a1b09

BIN
src/assets/123.jpg


+ 36 - 24
src/views/certificaate/look.vue

@@ -1,30 +1,33 @@
 <template>
-  <div id="index">
+  <div>
     <el-col :span="24">
       <el-col :span="24" class="title">打印证书 </el-col>
       <el-col :span="24" class="info"></el-col>
+      <el-col :span="24" style="position:relative;z-index:1;width:1124px;height:240px;">
+        <el-image style="width:1144px;height:280px;absolute;" :src="src"> </el-image>
+        <el-col :span="24" class="info_1">
+          <el-col :span="24" class="info_2"
+            ><el-col :span="14" class="context">学校(院):{{ zhengshuList.school }}</el-col>
+            <el-col :span="9" class="zhuanye"> {{ zhengshuList.dataji }}{{ zhengshuList.major }}</el-col>
+            <el-col :span="1"> 专业</el-col>
+          </el-col>
 
-      <el-col :span="24" class="info_1"
-        ><el-col :span="24" class="info-2"
-          ><el-col :span="13" class="context">学校(院):{{ zhengshuList.school }}</el-col>
-          <el-col :span="9" class="zhuanye"> {{ zhengshuList.dataji }}{{ zhengshuList.major }}</el-col>
-          <el-col :span="2"> 专业</el-col>
-        </el-col>
-        <el-col :span="24"
-          ><el-col :span="4" class="context_2"> 学生:{{ zhengshuList.name }} </el-col><el-col :span="1">于</el-col
-          ><el-col :span="1" class="zhuanye">{{ zhengshuList.year }}</el-col>
-          <el-col :span="1">年</el-col>
-          <el-col :span="1" class="zhuanye">{{ zhengshuList.marth }}</el-col
-          >月参加吉林省大学生就业能力拓展训练
-        </el-col>
-        <el-col :span="5" class="context">
-          <el-col :span="1">第 </el-col><el-col :span="2" class="zhuanye">{{ zhengshuList.term }}</el-col
-          ><el-col :span="16">期培训班。培训合格特发此证</el-col></el-col
-        >
-        <el-col :span="5" class="context_1">
-          <el-col :span="18">证书编号:{{ zhengshuList.bianhao }}</el-col
-          ><el-col :span="2"></el-col>{{ zhengshuList.years }}年<el-col :span="2"> </el-col>{{ zhengshuList.morths }}月<el-col :span="2"> </el-col>
-          {{ zhengshuList.datas }}日
+          <el-col :span="24"
+            ><el-col :span="4" class="context_2"> 学生:{{ zhengshuList.name }} </el-col><el-col :span="1">于</el-col
+            ><el-col :span="1" class="zhuanye">{{ zhengshuList.year }}</el-col>
+            <el-col :span="1">年</el-col>
+            <el-col :span="1" class="zhuanye">{{ zhengshuList.marth }}</el-col
+            >月参加吉林省大学生就业能力拓展训练
+          </el-col>
+          <el-col :span="5" class="context">
+            <el-col :span="1">第 </el-col><el-col :span="2" class="zhuanye">{{ zhengshuList.term }}</el-col
+            ><el-col :span="16">期培训班。培训合格特发此证</el-col></el-col
+          >
+          <el-col :span="5" class="context_1">
+            <el-col :span="18">证书编号:{{ zhengshuList.bianhao }}</el-col
+            ><el-col :span="2"></el-col>{{ zhengshuList.years }}年<el-col :span="2"> </el-col>{{ zhengshuList.morths }}月<el-col :span="2"> </el-col>
+            {{ zhengshuList.datas }}日
+          </el-col>
         </el-col>
       </el-col>
       <el-col :span="24" class="anniu">
@@ -45,6 +48,7 @@ export default {
   props: {},
   components: {},
   data: () => ({
+    src: require('@/assets/123.jpg'),
     zhengshuList: {
       school: '吉林大学',
       major: '计算机',
@@ -170,9 +174,11 @@ export default {
 
 <style lang="less" scoped>
 .info_1 {
-  padding: 0 20px 0 20px;
+  padding: 0 40px 0 40px;
+  z-index: 999;
+  position: absolute;
 }
-// background-image: url(assets/timg.jpg);
+
 .title {
   font-size: 20px;
   font-weight: 700;
@@ -196,6 +202,7 @@ export default {
   width: 1255px;
 }
 .info_2 {
+  margin: 40px 0 0 0;
   height: 60px;
 }
 .zhuanye {
@@ -204,4 +211,9 @@ export default {
 .anniu {
   padding: 30px 0 0 0;
 }
+/deep/[data-v-91420210] .el-image {
+  position: absolute;
+  display: inline-block;
+  overflow: hidden;
+}
 </style>

+ 120 - 92
src/views/plan/detail.vue

@@ -14,7 +14,7 @@
 
               <el-collapse v-model="collapse" accordion>
                 <el-collapse-item title="计划简表" name="1">
-                  <data-table :fields="fields" :data="selectList" :opera="opera" @edit="toEdit" @delete="toDelete" :height="heights"></data-table>
+                  <data-table :fields="fields" :data="events" :opera="opera" @edit="toEdit" @delete="toDelete" :height="heights"></data-table>
                 </el-collapse-item>
               </el-collapse>
               <el-form-item>
@@ -29,17 +29,45 @@
         </el-col>
         <el-col :span="16" :style="`width:${widths}px`">
           <el-card ref="card">
-            <calendar :selfBtn="selfBtn" @draft="selectDate" @eventClick="eventClick" :events="events"></calendar>
+            <calendar @draft="selectDate" @eventClick="eventClick" :events="events"></calendar>
           </el-card>
         </el-col>
       </el-row>
     </detail-frame>
     <el-drawer :visible.sync="drawer" direction="rtl" title="安排计划" @close="toClose">
-      <event :vacation="vacation" :year="info.year" :data="form" :isNew="formIsNew" :predefineColors="predefineColors" @save="saveForm"></event>
+      <el-form :model="form" ref="form" :rules="formRules" label-width="80px" size="small" @submit.native.prevent style="padding: 15px;">
+        <el-form-item label="开始时间" prop="start" required>
+          <el-date-picker v-model="form.start" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="end" required>
+          <el-date-picker v-model="form.end" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> </el-date-picker>
+        </el-form-item>
+        <el-form-item label="期数" prop="term" required> <el-input v-model="form.term"></el-input> </el-form-item>
+        <el-form-item label="班级类型" prop="type" required>
+          <el-radio-group v-model="form.type">
+            <el-radio label="0">正常班级</el-radio>
+            <el-radio label="1">特殊班级</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="批次" prop="batch" v-if="form.type === '0'"> <el-input v-model="form.batch"></el-input> </el-form-item>
+        <el-form-item label="班级数量" prop="class" v-if="form.type === '0'"> <el-input v-model="form.class"></el-input> </el-form-item>
+        <el-form-item label="每班人数" prop="number" required> <el-input v-model="form.number"></el-input> </el-form-item>
+        <el-form-item label="班级名称" prop="name" v-if="form.type === '1'"> <el-input v-model="form.name"></el-input> </el-form-item>
+        <el-form-item label="颜色" prop="color">
+          <el-color-picker v-model="form.color" :predefine="predefineColors" size="mini"></el-color-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-row type="flex" align="middle" justify="space-around">
+            <el-col :span="6">
+              <el-button type="primary" @click="saveForm">保存</el-button>
+            </el-col>
+            <el-col :span="6">
+              <el-button @click="resetForm">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-form-item>
+      </el-form>
     </el-drawer>
-    <el-dialog title="设置假期" :visible.sync="dialog">
-      <vacation-form :list="vacation" @update="setVacation"></vacation-form>
-    </el-dialog>
   </div>
 </template>
 
@@ -47,8 +75,6 @@
 import detailFrame from '@frame/layout/admin/detail-frame';
 import calendar from '@frame/components/calendar';
 import dataTable from '@frame/components/data-table';
-import vacationForm from './parts/vacation';
-import event from './parts/event';
 import _ from 'lodash';
 import { createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('trainplan');
@@ -56,64 +82,73 @@ export default {
   metaInfo: { title: '计划详情' },
   name: 'detail',
   props: {},
-  components: { detailFrame, calendar, dataTable, vacationForm, event },
-  data() {
-    return {
-      info: {
-        year: '',
-        termnum: {
-          batchnum: [],
-        },
+  components: { detailFrame, calendar, dataTable },
+  data: () => ({
+    termnum: [],
+    info: {
+      year: '',
+      termnum: {
+        batchnum: [],
       },
-      form: { color: '#409EFF' },
-      formIsNew: true,
-      rules: {
-        title: [{ required: true, message: '请输入标题' }],
+    },
+
+    form: { color: '#409EFF' },
+    rules: {
+      title: [{ required: true, message: '请输入标题' }],
+    },
+    formRules: {
+      start: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
+      end: [{ required: true, message: '请选择结束时间', trigger: 'change' }],
+      term: [{ required: true, message: '请输入期数' }],
+      number: [{ required: true, message: '请输入每班人数' }],
+      type: [{ required: true, message: '请选择班级类型' }],
+    },
+    drawer: false,
+    events: [],
+    predefineColors: ['#409EFF'],
+    collapse: '',
+    fields: [
+      { label: '开始时间', prop: 'start' },
+      { label: '结束时间', prop: 'end' },
+      { label: '期数', prop: 'term' },
+      { label: '班级类型', prop: 'type', format: item => (item === '0' ? '正常班级' : '特殊班级') },
+    ],
+    opera: [
+      {
+        label: '编辑',
+        icon: 'el-icon-edit',
+        method: 'edit',
       },
-      formRules: {
-        start: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
-        end: [{ required: true, message: '请选择结束时间', trigger: 'change' }],
-        term: [{ required: true, message: '请输入期数' }],
-        number: [{ required: true, message: '请输入每班人数' }],
-        type: [{ required: true, message: '请选择班级类型' }],
+      {
+        label: '删除',
+        icon: 'el-icon-delete',
+        method: 'delete',
+        confirm: true,
       },
-      drawer: false,
-      dialog: false,
-      events: [],
-      predefineColors: ['#409EFF'],
-      collapse: '',
-      fields: [
-        { label: '开始时间', prop: 'start' },
-        { label: '结束时间', prop: 'end' },
-        { label: '期数', prop: 'term' },
-        { label: '班级类型', prop: 'type', format: item => (item === '0' ? '正常班级' : '特殊班级') },
-      ],
-      opera: [
+    ],
+    heights: 250,
+    axiosData: {
+      termnum: [
         {
-          label: '编辑',
-          icon: 'el-icon-edit',
-          method: 'edit',
+          term: '1',
+          batchnum: [],
+          classnum: 2,
         },
         {
-          label: '删除',
-          icon: 'el-icon-delete',
-          method: 'delete',
-          confirm: true,
+          term: '2',
+          batchnum: [],
+          classnum: 3,
         },
-      ],
-      heights: 250,
-      selfBtn: {
-        vacation: {
-          text: '设置假期',
-          //设置假期
-          click: () => (this.dialog = true),
-          position: 'left',
+        {
+          term: '3',
+          batchnum: [],
+          classnum: 1,
         },
-      },
-      selectList: [],
-      vacation: [],
-    };
-  },
+      ],
+      title: '',
+      year: 2020,
+    },
+  }),
   created() {
     if (this.isNew) this.$set(this.info, `year`, new Date().getFullYear());
   },
@@ -149,43 +184,28 @@ export default {
     },
     //拖拽选择事件
     selectDate(object) {
-      let start = JSON.parse(JSON.stringify(object.startStr));
-      let end = JSON.parse(JSON.stringify(object.endStr));
-      let res = this.inVacation(start, end);
-      if (!res) {
-        this.$message.error(`不能在假期中安排计划`);
-        return;
-      }
-      this.$set(this.form, `start`, start);
-      this.$set(this.form, `end`, end);
+      this.$set(this.form, `start`, JSON.parse(JSON.stringify(object.startStr)));
+      this.$set(this.form, `end`, JSON.parse(JSON.stringify(object.endStr)));
       this.drawer = true;
-      this.formIsNew = true;
     },
-    //日历事件点击事件 缺少删除
+    //日历事件点击事件
     eventClick({ event }) {
       let arr = this.events.filter(fil => fil.id == event.id);
-      if (arr.length > 0) {
-        if (_.get(arr[0], 'editable', true)) {
-          this.form = arr[0];
-          this.drawer = true;
-          this.formIsNew = false;
-        } else this.$message.warning('请在设置假期中修改假期信息');
-      } else {
+      if (arr.length > 0) this.form = arr[0];
+      else {
         console.warn(`无对应id事件`);
         return;
       }
+      this.drawer = true;
     },
     //列表编辑事件
     toEdit({ data, index }) {
       this.$set(this, `form`, JSON.parse(JSON.stringify(data)));
       this.drawer = true;
-      this.formIsNew = false;
     },
     //列表删除事件
     toDelete({ data, index }) {
-      this.selectList.splice(index, 1);
-      let newEvents = this.events.filter(fil => fil.id !== data.id);
-      this.$set(this, `events`, newEvents);
+      this.events.splice(index, 1);
     },
     //全年计划保存验证
     toSavePlan() {
@@ -200,8 +220,11 @@ export default {
     //保存计划事件
     savePlan() {
       //全年计划内容
+
       let data = JSON.parse(JSON.stringify(this.info));
+
       data.year = this.info.year;
+      console.log(data.year);
       let termnum = [];
       //1,获取所有期数
       //2,按期数将selectList内数据分组
@@ -244,13 +267,25 @@ export default {
       if (this.$checkRes(res, msg)) this.$router.push({ path: '/plan/index' });
     },
     //保存表单函数
-    saveForm(events) {
-      this.setEvent(events);
+    saveForm() {
+      this.$refs['form'].validate(valid => {
+        if (valid) {
+          this.setEvent();
+          this.resetForm();
+        } else {
+          console.warn('form validate error!!!');
+        }
+      });
+    },
+    //重置表单函数
+    resetForm() {
+      this.$refs.form.resetFields();
+      this.setHeight();
     },
     //添加/修改函数
-    setEvent({ data: form, isNew }) {
+    setEvent() {
       //TODO 需要根据班级类型把数据分开
-      let data = JSON.parse(JSON.stringify(form));
+      let data = JSON.parse(JSON.stringify(this.form));
       let { start, end, term, type, number, color, id } = data;
       let object = {};
       if (data.type === '0') {
@@ -262,10 +297,9 @@ export default {
         let { name } = data;
         object = { start, end, term, type, number, color, name, title: name };
       }
-      if (isNew) {
+      if (this.isNew) {
         object.id = `eve${new Date().getTime()}`;
         this.events.push(object);
-        this.selectList.push(object);
       } else {
         object.id = id;
         this.$set(
@@ -273,15 +307,9 @@ export default {
           _.findIndex(this.events, item => item.id == object.id),
           object
         );
-        this.$set(
-          this.selectList,
-          _.findIndex(this.selectList, item => item.id == object.id),
-          object
-        );
         this.drawer = false;
       }
       if (_.findIndex(this.predefineColors, item => item == data.color) < 0) this.predefineColors.push(data.color);
-      this.toClose();
     },
     //关闭抽屉函数
     toClose() {

+ 2 - 2
src/views/work/look.vue

@@ -113,7 +113,6 @@ export default {
     ],
     filFields: [
       { label: '题名', model: 'name' },
-
       {
         label: '题类型',
         model: 'type',
@@ -230,6 +229,7 @@ export default {
       }
       this.toOclose();
     },
+
     toOedit(row, index) {
       let data = JSON.parse(JSON.stringify(row));
       data.index = index;
@@ -243,7 +243,7 @@ export default {
     //作业
     async submit() {
       const res = await this.update({ id: this.id, question: JSON.parse(JSON.stringify(this.list)) });
-      if (this.$checkRes(res, '作业修改成功', '作业修改失败')) {
+      if (this.$checkRes(res, '作业保存成功', '作业保存失败')) {
         this.$router.push({ path: '/work/index' });
       }
     },