|
@@ -1,87 +0,0 @@
|
|
|
-<template>
|
|
|
- <div id="detail">
|
|
|
- <detail-frame :title="mainTitle" returns="/dept/index">
|
|
|
- <data-form :data="info" :fields="fields" :rules="rules" @save="handleSave" :isNew="isNew"> </data-form>
|
|
|
- </detail-frame>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import detailFrame from '@frame/layout/admin/detail-frame';
|
|
|
-import dataForm from '@frame/components/form';
|
|
|
-import { mapActions, mapState, createNamespacedHelpers } from 'vuex';
|
|
|
-const { mapActions: mapClass } = createNamespacedHelpers('duty');
|
|
|
-
|
|
|
-export default {
|
|
|
- metaInfo: { title: '职责详情' },
|
|
|
- name: 'detail',
|
|
|
- props: {},
|
|
|
- components: {
|
|
|
- detailFrame,
|
|
|
- dataForm,
|
|
|
- },
|
|
|
- data: () => ({
|
|
|
- info: {},
|
|
|
- fields: [
|
|
|
- { label: '班长职责', required: true, model: 'bzduty', type: 'editor' },
|
|
|
- { label: '学委职责', required: true, model: 'xwduty', type: 'editor' },
|
|
|
- ],
|
|
|
- rules: {
|
|
|
- bzduty: [{ required: true, message: '请输入班长职责' }],
|
|
|
- xwduty: [{ required: true, message: '请输入学委职责' }],
|
|
|
- },
|
|
|
- }),
|
|
|
- created() {},
|
|
|
- computed: {
|
|
|
- id() {
|
|
|
- return this.$route.query.id;
|
|
|
- },
|
|
|
- isNew() {
|
|
|
- return this.$route.query.id ? false : true;
|
|
|
- },
|
|
|
- mainTitle() {
|
|
|
- let meta = this.$route.meta;
|
|
|
- let main = meta.title || '';
|
|
|
- let sub = meta.sub || '';
|
|
|
- return `${main}${sub}`;
|
|
|
- },
|
|
|
- keyWord() {
|
|
|
- let meta = this.$route.meta;
|
|
|
- let main = meta.title || '';
|
|
|
- return main;
|
|
|
- },
|
|
|
- },
|
|
|
- watch: {
|
|
|
- isNew: {
|
|
|
- immediate: true,
|
|
|
- handler(val) {
|
|
|
- if (val) this.loading = false;
|
|
|
- else this.search();
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- methods: {
|
|
|
- ...mapClass(['fetch', 'create', 'update']),
|
|
|
- async search() {
|
|
|
- const res = await this.fetch(this.id);
|
|
|
- console.log(res);
|
|
|
- if (this.$checkRes(res)) this.$set(this, `info`, res.data);
|
|
|
- this.loading = false;
|
|
|
- },
|
|
|
- async handleSave({ isNew, data }) {
|
|
|
- let res;
|
|
|
- let msg;
|
|
|
- if (isNew) {
|
|
|
- res = await this.create(data);
|
|
|
- msg = `${this.keyWord}添加成功`;
|
|
|
- } else {
|
|
|
- res = await this.update(data);
|
|
|
- msg = `${this.keyWord}修改成功`;
|
|
|
- }
|
|
|
- if (this.$checkRes(res, msg)) this.$router.push({ path: '/duty/index' });
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less" scoped></style>
|