lrf402788946 4 år sedan
förälder
incheckning
75313df324
2 ändrade filer med 29 tillägg och 14 borttagningar
  1. 2 0
      src/store/index.js
  2. 27 14
      src/views/experience/index.vue

+ 2 - 0
src/store/index.js

@@ -34,6 +34,7 @@ import task from '@frame/store/task';
 import trainvideo from '@frame/store/trainvideo';
 import trainvideo from '@frame/store/trainvideo';
 import cerconfirm from '@frame/store/cerconfirm';
 import cerconfirm from '@frame/store/cerconfirm';
 import score from '@frame/store/score';
 import score from '@frame/store/score';
+import experience from '@frame/store/experience';
 import * as ustate from '@frame/store/user/state';
 import * as ustate from '@frame/store/user/state';
 import * as umutations from '@frame/store/user/mutations';
 import * as umutations from '@frame/store/user/mutations';
 import * as dostate from '@frame/store/setting/state';
 import * as dostate from '@frame/store/setting/state';
@@ -76,6 +77,7 @@ export default new Vuex.Store({
     cerconfirm,
     cerconfirm,
     task,
     task,
     score,
     score,
+    experience,
   },
   },
   state: { ...ustate, ...dostate },
   state: { ...ustate, ...dostate },
   mutations: { ...umutations, ...domutations },
   mutations: { ...umutations, ...domutations },

+ 27 - 14
src/views/experience/index.vue

@@ -1,10 +1,16 @@
 <template>
 <template>
   <div id="index">
   <div id="index">
-    <list-frame title="培训心得" @query="search" :total="total" :needFilter="false" :needAdd="false">
+    <list-frame title="培训心得" @query="search" :total="total" :needFilter="false" :needAdd="false" :needPag="false">
       <data-table :fields="fields" :data="list" :opera="opera" @view="toView" @delete="toDelete"></data-table>
       <data-table :fields="fields" :data="list" :opera="opera" @view="toView" @delete="toDelete"></data-table>
     </list-frame>
     </list-frame>
     <el-dialog :visible.sync="dialog" title="培训心得" @close="toClose" width="30%">
     <el-dialog :visible.sync="dialog" title="培训心得" @close="toClose" width="30%">
-      <data-form :data="form" :fields="formFields" :rules="{}" :needSave="false"> </data-form>
+      <data-form :data="form" :fields="formFields" :rules="{}" :needSave="false">
+        <template #custom="{item, form}">
+          <template v-if="item.model === 'content'">
+            <el-input type="textarea" v-model="form[item.model]" :readonly="true" :autosize="{ minRows: 4, maxRows: 20 }"></el-input>
+          </template>
+        </template>
+      </data-form>
     </el-dialog>
     </el-dialog>
   </div>
   </div>
 </template>
 </template>
@@ -15,6 +21,7 @@ import listFrame from '@frame/layout/admin/list-frame';
 import dataForm from '@frame/components/form';
 import dataForm from '@frame/components/form';
 import dataTable from '@frame/components/data-table';
 import dataTable from '@frame/components/data-table';
 import { mapState, createNamespacedHelpers } from 'vuex';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: experience } = createNamespacedHelpers('experience');
 export default {
 export default {
   metaInfo: { title: '培训心得' },
   metaInfo: { title: '培训心得' },
   name: 'index',
   name: 'index',
@@ -38,27 +45,33 @@ export default {
       },
       },
     ],
     ],
     fields: [
     fields: [
-      { label: '标题', prop: 'title' },
-      { label: '内容', prop: 'content' },
-    ],
-    list: [
-      {
-        title: '标题',
-        content: '内容',
-      },
+      { label: '姓名', prop: 'stuname' },
+      { label: '职务', prop: 'stujob' },
     ],
     ],
+    list: [],
     total: 0,
     total: 0,
     dialog: false,
     dialog: false,
     form: {},
     form: {},
     formFields: [
     formFields: [
-      { label: '标题', model: 'title', type: 'text' },
-      { label: '内容', model: 'content', type: 'text' },
+      { label: '姓名', model: 'stuname', type: 'text' },
+      { label: '职务', model: 'stujob', type: 'text' },
+      { label: '培训心得标题', model: 'title', type: 'text' },
+      { label: '培训心得', model: 'content', custom: true },
     ],
     ],
   }),
   }),
-  created() {},
+  created() {
+    this.search();
+  },
   computed: { ...mapState(['user', 'defaultOption']) },
   computed: { ...mapState(['user', 'defaultOption']) },
   methods: {
   methods: {
-    search({ skip = 0, limit = 10, ...info } = {}) {},
+    ...experience(['query']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const { classid } = this.defaultOption;
+      const res = await this.query({ classid });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+      }
+    },
     // 查看
     // 查看
     toView({ data }) {
     toView({ data }) {
       this.$set(this, `form`, data);
       this.$set(this, `form`, data);