lrf402788946 4 vuotta sitten
vanhempi
commit
462371c360

+ 1 - 0
src/components/common/Sidebar.vue

@@ -92,6 +92,7 @@ export default {
           { icon: 'el-icon-orange', index: 'adminMeet', title: '专家会审' },
           { icon: 'el-icon-edit-outline', index: 'adminPerfect', title: '资料完善' },
           { icon: 'el-icon-postcard', index: 'adminCate', title: '证书发放' },
+          { icon: 'el-icon-postcard', index: 'adminHaveCert', title: '已证书发放' },
         ];
         list.push(...data);
         this.$set(this, `items`, _.uniqBy(list, 'index'));

+ 11 - 0
src/router/index.js

@@ -59,6 +59,11 @@ export default new Router({
           component: () => import('../views/adminCenter/adminMeet/detail.vue'),
           meta: { title: '专家会审记录' },
         },
+        {
+          path: '/adminMeet/expert',
+          component: () => import('../views/adminCenter/adminMeet/expert.vue'),
+          meta: { title: '会审专家管理' },
+        },
         // 完善资料
         {
           path: '/adminPerfect',
@@ -76,6 +81,12 @@ export default new Router({
           component: () => import('../views/adminCenter/adminCate/index.vue'),
           meta: { title: '证书发放' },
         },
+        // 已证书发放
+        {
+          path: '/adminHaveCert',
+          component: () => import('../views/adminCenter/adminHaveCert/index.vue'),
+          meta: { title: '已证书发放' },
+        },
         // 用户中心
         {
           path: '/userExamine',

+ 30 - 14
src/views/adminCenter/adminCate/index.vue

@@ -3,7 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="down">
-          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search"></data-table>
+          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @cert="toCert"></data-table>
         </el-col>
       </el-col>
     </el-row>
@@ -13,6 +13,8 @@
 <script>
 import dataTable from '@common/src/components/frame/filter-page-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: verifyRecord } = createNamespacedHelpers('verifyRecord');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -24,23 +26,18 @@ export default {
   },
   data: function() {
     return {
-      opera: [],
+      opera: [
+        {
+          label: '已收到证书',
+          method: 'cert',
+        },
+      ],
       fields: [
         { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
         { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
         { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
-        { label: '状态', prop: 'status' },
-      ],
-      list: [
-        {
-          basic: {
-            achieve_num: '成果编号',
-            achieve_name: '成果名称',
-            achieve_type: '成果类别',
-          },
-          status: '0',
-        },
       ],
+      list: [],
       total: 0,
     };
   },
@@ -48,8 +45,27 @@ export default {
     await this.search();
   },
   methods: {
+    ...achieveApply(['query']),
+    ...verifyRecord(['create']),
     // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {},
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const res = await this.query({ skip, limit, ...info, status: '5' });
+      if (this.$checkRes(res)) {
+        this.$set(this, 'list', res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    async toCert({ data }) {
+      // TODO 发证书
+      let dup = { status: '6' };
+      dup.apply_id = _.get(data, '_id');
+      dup.verify = _.get(this.user, 'name');
+      dup.verify_phone = _.get(this.user, 'phone');
+      dup.verify_id = _.get(this.user, '_id');
+      dup.step = '发证书';
+      const res = await this.create(dup);
+      if (this.$checkRes(res, '已确定发放证书', res.errmsg || '确定发放失败')) this.search();
+    },
   },
   computed: {
     ...mapState(['user']),

+ 5 - 4
src/views/adminCenter/adminExamine/detail.vue

@@ -35,8 +35,8 @@
                   </el-form-item>
                   <el-form-item label="审核状态" prop="status">
                     <el-radio-group v-model="form.status">
-                      <el-radio label="0">审核通过</el-radio>
-                      <el-radio label="1">审核拒绝</el-radio>
+                      <el-radio label="1">审核通过</el-radio>
+                      <el-radio label="-1">审核拒绝</el-radio>
                     </el-radio-group>
                   </el-form-item>
                   <el-col :span="24" class="btn">
@@ -117,13 +117,14 @@ export default {
     },
     async toVerify() {
       let data = _.pick(this.form, ['desc', 'status']);
-      data.apply_id = _.get(this.user, '_id');
+      data.apply_id = this.id;
       data.verify = _.get(this.user, 'name');
       data.verify_phone = _.get(this.user, 'phone');
       data.verify_id = _.get(this.user, '_id');
+      data.step = '初审';
       const res = await this.create(data);
       if (this.$checkRes(res, '审核成功', res.errmsg || '审核失败')) {
-        this.$router.push('./');
+        this.$router.push('/adminExamine');
       }
     },
   },

+ 1 - 2
src/views/adminCenter/adminExamine/index.vue

@@ -35,7 +35,6 @@ export default {
         { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
         { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
         { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
-        { label: '状态', prop: 'status' },
       ],
       list: [],
       total: 0,
@@ -48,7 +47,7 @@ export default {
     ...achieveApply(['query']),
     // 查询列表
     async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
+      const res = await this.query({ skip, limit, ...info, status: '0' });
       if (this.$checkRes(res)) {
         this.$set(this, 'list', res.data);
         this.$set(this, `total`, res.total);

+ 61 - 0
src/views/adminCenter/adminHaveCert/index.vue

@@ -0,0 +1,61 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="down">
+          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @cert="toCert"></data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import dataTable from '@common/src/components/frame/filter-page-table.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: verifyRecord } = createNamespacedHelpers('verifyRecord');
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'index',
+  props: {},
+  components: {
+    dataTable,
+  },
+  data: function() {
+    return {
+      opera: [],
+      fields: [
+        { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
+        { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
+        { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
+      ],
+      list: [],
+      total: 0,
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    ...achieveApply(['query']),
+    ...verifyRecord(['create']),
+    // 查询列表
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const res = await this.query({ skip, limit, ...info, status: '6' });
+      if (this.$checkRes(res)) {
+        this.$set(this, 'list', res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 130 - 0
src/views/adminCenter/adminMeet/expert.vue

@@ -0,0 +1,130 @@
+<template>
+  <div id="expert">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="top">
+          <el-button type="primary" size="mini" @click="back">返回</el-button>
+          <el-button type="primary" size="mini" @click="add">添加专家</el-button>
+        </el-col>
+        <el-col :span="24" class="down">
+          <data-table :fields="fields" :opera="opera" :data="list" :usePage="false" @delete="toDelete"> </data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="添加专家" width="40%" :visible.sync="dialog" @closed="handleClose" :destroy-on-close="true">
+      <data-form :data="form" :fields="formfields" :rules="{}" @save="toSave">
+        <template #options="{item}">
+          <template v-if="item.model === 'expert_id'">
+            <el-option v-for="(i, index) in expertList" :key="`expert${index}`" :label="i.name" :value="i._id"></el-option>
+          </template>
+        </template>
+      </data-form>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+const _ = require('lodash');
+import dataTable from '@common/src/components/frame/filter-page-table.vue';
+import dataForm from '@common/src/components/frame/form.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: expert } = createNamespacedHelpers('expert');
+export default {
+  name: 'expert',
+  props: {},
+  components: { dataTable, dataForm },
+  data: function() {
+    return {
+      opera: [
+        {
+          label: '删除',
+          method: 'delete',
+        },
+      ],
+      fields: [
+        { label: '专家姓名', prop: 'name', showTip: true },
+        { label: '联系电话', prop: 'phone', showTip: true },
+      ],
+      list: [],
+      expertList: [],
+      dialog: false,
+      form: {},
+      formfields: [{ label: '专家', model: 'expert_id', type: 'select' }],
+    };
+  },
+  created() {
+    this.search();
+    this.toGetExpert();
+  },
+  methods: {
+    ...achieveApply(['fetch', 'update']),
+    ...expert({ getExpert: 'query' }),
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, 'list', _.get(res.data, 'experts', []));
+      }
+    },
+    // 提交
+    async toSave({ data }) {
+      const expert = this.expertList.find(f => f._id === data.expert_id);
+      if (!expert) {
+        this.$message.error('未找到专家信息');
+        return;
+      }
+      const duplicate = _.cloneDeep(this.list);
+      duplicate.push(expert);
+      const res = await this.update({ id: this.id, experts: duplicate });
+      if (this.$checkRes(res, '专家保存成功', res.errmsg || '专家保存失败')) this.handleClose();
+    },
+
+    async toDelete({ index }) {
+      const duplicate = _.cloneDeep(this.list);
+      duplicate.splice(index, 1);
+      const res = await this.update({ id: this.id, experts: duplicate });
+      if (this.$checkRes(res, '删除成功', res.errmsg || '删除失败')) this.handleClose();
+    },
+    // 获取专家列表
+    async toGetExpert() {
+      const res = await this.getExpert();
+      if (this.$checkRes(res)) this.$set(this, 'expertList', res.data);
+    },
+    // 添加专家
+    add() {
+      this.dialog = true;
+    },
+    // 取消
+    handleClose() {
+      this.form = {};
+      this.dialog = false;
+      this.search();
+    },
+    // 返回列表
+    back() {
+      this.$router.push({ path: '/adminMeet' });
+    },
+  },
+  computed: {
+    ...mapState(['user', 'menuParams']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .top {
+    margin: 0 0 10px 0;
+    text-align: right;
+  }
+}
+</style>

+ 35 - 25
src/views/adminCenter/adminMeet/index.vue

@@ -7,7 +7,7 @@
         </el-col>
       </el-col>
     </el-row>
-    <el-dialog title="选择会审专家" width="40%" :visible.sync="dialog" @closed="handleClose" :destroy-on-close="true">
+    <!-- <el-dialog title="选择会审专家" width="40%" :visible.sync="dialog" @closed="handleClose" :destroy-on-close="true">
       <data-form :data="form" :fields="formfields" :rules="rules" @save="toSave">
         <template #custom="{item,form}">
           <template v-if="item.model == 'expert'">
@@ -17,14 +17,14 @@
           </template>
         </template>
       </data-form>
-    </el-dialog>
+    </el-dialog> -->
     <el-dialog title="会审总结" width="40%" :visible.sync="sumDialog" @closed="handleClose" :destroy-on-close="true">
       <data-form :data="sumForm" :fields="sumfields" :rules="{}" @save="sumSave">
         <template #radios="{item}">
           <template v-if="item.model === 'status'">
-            <el-radio label="0">通过</el-radio>
-            <el-radio label="1">不通过</el-radio>
-            <el-radio label="2">资料完善</el-radio>
+            <el-radio label="5">通过</el-radio>
+            <el-radio label="-5">不通过</el-radio>
+            <el-radio label="4">资料完善</el-radio>
           </template>
         </template>
       </data-form>
@@ -36,6 +36,8 @@
 import dataTable from '@common/src/components/frame/filter-page-table.vue';
 import dataForm from '@common/src/components/frame/form.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: verifyRecord } = createNamespacedHelpers('verifyRecord');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -50,13 +52,13 @@ export default {
     return {
       opera: [
         {
-          label: '选择会审专家',
+          label: '会审专家管理',
           method: 'change',
         },
-        {
-          label: '查看会审记录',
-          method: 'view',
-        },
+        // {
+        //   label: '查看会审记录',
+        //   method: 'view',
+        // },
         {
           label: '会审总结',
           method: 'edit',
@@ -66,18 +68,8 @@ export default {
         { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
         { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
         { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
-        { label: '状态', prop: 'status' },
-      ],
-      list: [
-        {
-          basic: {
-            achieve_num: '成果编号',
-            achieve_name: '成果名称',
-            achieve_type: '成果类别',
-          },
-          status: '0',
-        },
       ],
+      list: [],
       total: 0,
       // 选择会审专家
       dialog: false,
@@ -102,11 +94,19 @@ export default {
     await this.search();
   },
   methods: {
+    ...achieveApply(['query']),
+    ...verifyRecord(['create']),
     // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {},
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const res = await this.query({ skip, limit, ...info }); //, status: '3'
+      if (this.$checkRes(res)) {
+        this.$set(this, 'list', res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
     // 选择专家会审
     toChange({ data }) {
-      this.dialog = true;
+      this.$router.push({ path: '/adminMeet/expert', query: { id: data.id } });
     },
     // 保存专家会审列表
     toSave({ data }) {
@@ -127,12 +127,22 @@ export default {
     },
     // 会审总结
     toEdit({ data }) {
+      this.$set(this, 'form', _.cloneDeep(data));
       this.sumDialog = true;
     },
     // 会审总结提交
-    sumSave({ data }) {
+    async sumSave({ data }) {
       console.log(data);
-      this.handleClose();
+      let dup = _.pick(data, ['desc', 'status']);
+      dup.apply_id = _.get(this.form, '_id');
+      dup.verify = _.get(this.user, 'name');
+      dup.verify_phone = _.get(this.user, 'phone');
+      dup.verify_id = _.get(this.user, '_id');
+      dup.step = '会审';
+      const res = await this.create(dup);
+      if (this.$checkRes(res, '审核成功', res.errmsg || '审核失败')) {
+        this.handleClose();
+      }
     },
   },
   computed: {

+ 35 - 62
src/views/adminCenter/adminPerfect/detail.vue

@@ -35,8 +35,8 @@
                   </el-form-item>
                   <el-form-item label="审核状态" prop="status">
                     <el-radio-group v-model="form.status">
-                      <el-radio label="0">通过</el-radio>
-                      <el-radio label="1">拒绝</el-radio>
+                      <el-radio label="5">通过</el-radio>
+                      <el-radio label="4">拒绝</el-radio>
                     </el-radio-group>
                   </el-form-item>
                   <el-col :span="24" class="btn">
@@ -58,6 +58,8 @@ import brief from './parts/brief.vue';
 import research from './parts/research.vue';
 import detailed from './parts/detailed.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: verifyRecord } = createNamespacedHelpers('verifyRecord');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -75,64 +77,10 @@ export default {
       // 标签
       active: 'first',
       form: {
-        basic: {
-          achieve_name: '成果名称',
-          achieve_type: '成果类别',
-          achieve_num: '成果编号',
-          achieve_date: '成果取得时间',
-          achieve_form: '成果形式',
-          apply_personal: '申请人',
-          apply_company: '申请单位',
-          address: '地址',
-          apply_nature: '申请人/申请人属性',
-          contacts: '联系人',
-          phone: '联系电话',
-          email: '邮箱',
-          fax: '传真',
-          objective: '评价目的',
-          stage: '成果所处阶段',
-          output: '经济效益产值',
-          profit: '经济效益利润',
-          revenue: '经济效益税收',
-        },
-        brief: {
-          achieve_brief: '成果简介',
-          field: '应用领域和技术原理',
-          kpi_index: '性能指标',
-          compare: '与国内外同类技术比较',
-          advanced: '成果的创造性,先进性',
-          sense: '作用意义',
-          prospect: '推广应用的范围,条件和前景',
-          opinion: '存在的问题和改进意见',
-        },
-        research: [
-          {
-            research_name: '姓名',
-            card: '220182199603257019',
-            gender: '性别',
-            position: '技术职称',
-            education: '文化程度',
-            degree: '学位',
-            abroad: '是否留学归国',
-            research_company: '工作单位',
-            devote: '对成果创造性贡献',
-          },
-        ],
-        datalist: {
-          work_report: '研究工作报告(必备)',
-          techol_report: '研究技术报告(必备)',
-          benefit: '经济效益分析(必备)',
-          science_report: '科技查新报告(科技项目成果,必备)',
-          assess_report: '法律价值评估报告(专利成果,必备)',
-          app_prove: '推广应用证明(两家以上应用单位,必备)',
-          techol_ppt: '成果技术汇报PPT(必备)',
-          testing_report: '检测报告(根据项目需要提供)',
-          quality: '质量标准(检测报告所依据的标准,企业标准,行业标准,国家标准,国际标准)',
-          patent: '与本成果相关的授权专利证书',
-          special: '特殊行业需要提供的相应证明材料',
-          budget: '项目经费预算书',
-          final: '项目经费决算书',
-        },
+        basic: {},
+        brief: {},
+        research: [],
+        datalist: {},
       },
       rules: {
         desc: [{ required: true, message: '请输入审核意见', trigger: 'blur' }],
@@ -140,8 +88,18 @@ export default {
       },
     };
   },
-  created() {},
+  created() {
+    this.search();
+  },
   methods: {
+    ...achieveApply(['fetch']),
+    ...verifyRecord(['create']),
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, 'form', res.data);
+      }
+    },
     // 返回
     back() {
       this.$router.push({ path: '/adminPerfect' });
@@ -149,16 +107,31 @@ export default {
     onSubmit(formName) {
       this.$refs[formName].validate(valid => {
         if (valid) {
-          alert('submit!');
+          this.toVerify();
         } else {
           console.log('error submit!!');
           return false;
         }
       });
     },
+    async toVerify() {
+      let data = _.pick(this.form, ['desc', 'status']);
+      data.apply_id = this.id;
+      data.verify = _.get(this.user, 'name');
+      data.verify_phone = _.get(this.user, 'phone');
+      data.verify_id = _.get(this.user, '_id');
+      data.step = '补充资料';
+      const res = await this.create(data);
+      if (this.$checkRes(res, '审核成功', res.errmsg || '审核失败')) {
+        this.$router.push('/adminExamine');
+      }
+    },
   },
   computed: {
     ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
   },
   watch: {},
 };

+ 10 - 12
src/views/adminCenter/adminPerfect/index.vue

@@ -13,6 +13,7 @@
 <script>
 import dataTable from '@common/src/components/frame/filter-page-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -34,18 +35,8 @@ export default {
         { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
         { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
         { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
-        { label: '状态', prop: 'status' },
-      ],
-      list: [
-        {
-          basic: {
-            achieve_num: '成果编号',
-            achieve_name: '成果名称',
-            achieve_type: '成果类别',
-          },
-          status: '0',
-        },
       ],
+      list: [],
       total: 0,
     };
   },
@@ -53,8 +44,15 @@ export default {
     await this.search();
   },
   methods: {
+    ...achieveApply(['query']),
     // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {},
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const res = await this.query({ skip, limit, ...info, status: '4' });
+      if (this.$checkRes(res)) {
+        this.$set(this, 'list', res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
     // 资料审核
     toView({ data }) {
       this.$router.push({ path: '/adminPerfect/detail', query: { id: data.id } });

+ 19 - 8
src/views/adminCenter/adminScore/index.vue

@@ -11,8 +11,8 @@
       <data-form :data="sumForm" :fields="sumfields" :rules="{}" @save="sumSave">
         <template #radios="{item}">
           <template v-if="item.model === 'status'">
-            <el-radio label="0">通过</el-radio>
-            <el-radio label="1">不通过</el-radio>
+            <el-radio label="2">通过</el-radio>
+            <el-radio label="-2">不通过</el-radio>
           </template>
         </template>
       </data-form>
@@ -21,10 +21,12 @@
 </template>
 
 <script>
+const _ = require('lodash');
 import dataForm from '@common/src/components/frame/form.vue';
 import dataTable from '@common/src/components/frame/filter-page-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: achieveApply } = createNamespacedHelpers('achieveApply');
+const { mapActions: verifyRecord } = createNamespacedHelpers('verifyRecord');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -51,7 +53,6 @@ export default {
         { label: '成果编号', prop: 'basic.achieve_num', filter: 'input', showTip: true },
         { label: '成果名称', prop: 'basic.achieve_name', showTip: true },
         { label: '成果类别', prop: 'basic.achieve_type', showTip: true },
-        { label: '状态', prop: 'status' },
       ],
       list: [],
       total: 0,
@@ -60,7 +61,7 @@ export default {
       sumForm: {},
       sumfields: [
         { label: '总结状态', model: 'status', type: 'radio' },
-        { label: '总结意见', model: 'content', type: 'textarea' },
+        { label: '总结意见', model: 'desc', type: 'textarea' },
       ],
     };
   },
@@ -69,9 +70,10 @@ export default {
   },
   methods: {
     ...achieveApply(['query']),
+    ...verifyRecord(['create']),
     // 查询列表
     async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
+      const res = await this.query({ skip, limit, ...info, status: '1' });
       if (this.$checkRes(res)) {
         this.$set(this, 'list', res.data);
         this.$set(this, `total`, res.total);
@@ -83,12 +85,21 @@ export default {
     },
     // 会审总结
     toEdit({ data }) {
+      this.$set(this, 'sumForm', _.cloneDeep(data));
       this.sumDialog = true;
     },
     // 会审总结提交
-    sumSave({ data }) {
-      console.log(data);
-      this.handleClose();
+    async sumSave({ data }) {
+      let dup = _.pick(data, ['desc', 'status']);
+      dup.apply_id = _.get(data, '_id');
+      dup.verify = _.get(this.user, 'name');
+      dup.verify_phone = _.get(this.user, 'phone');
+      dup.verify_id = _.get(this.user, '_id');
+      dup.step = '评分';
+      const res = await this.create(dup);
+      if (this.$checkRes(res, '审核成功', res.errmsg || '审核失败')) {
+        this.handleClose();
+      }
     },
     // 取消选择
     handleClose() {