Преглед на файлове

Merge branch 'master' of http://git.cc-lotus.info/service-platform/web-test

rjy преди 4 години
родител
ревизия
acb1921d8c

+ 334 - 0
src/layout/login/webLogin copy.vue

@@ -0,0 +1,334 @@
+<template>
+  <div id="webLogin">
+    <el-row class="loginMains">
+      <el-col :span="24" class="top">
+        <el-col :span="6" class="info"></el-col>
+        <el-col :span="12" class="context">
+          <el-tabs v-model="activeName">
+            <el-tab-pane label="个人登录" name="first">
+              <el-col :span="24">
+                <el-form ref="form" :model="form" label-width="120px">
+                  <el-form-item
+                    label="手机号"
+                    prop="phone"
+                    :rules="[
+                      { required: true, message: '手机号不能为空' },
+                      { type: 'number', message: '手机号必须为数字值' },
+                    ]"
+                  >
+                    <el-input type="phone" v-model.number="form.phone" autocomplete="off" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
+                  </el-form-item>
+                  <el-form-item label="登录密码">
+                    <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
+                  </el-form-item>
+                  <el-form-item label="用户类别">
+                    <el-radio-group v-model="form.role">
+                      <!-- <el-radio label="7">游客用户</el-radio> -->
+                      <el-radio label="4">个人用户</el-radio>
+                      <el-radio label="5">机构用户</el-radio>
+                      <el-radio label="6">专家用户</el-radio>
+                      <el-radio label="2">VIP用户</el-radio>
+                    </el-radio-group>
+                  </el-form-item>
+                  <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="loginSubmit">登录</el-button></el-col>
+                </el-form>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="注册" name="third">
+              <el-col :span="24">
+                <el-form ref="forms" :model="forms" :rules="rules" label-width="140px">
+                  <el-form-item label="用户名称" prop="name">
+                    <el-input v-model="forms.name" placeholder="请输入用户名称"></el-input>
+                  </el-form-item>
+                  <el-form-item label="手机号" prop="phone">
+                    <el-input v-model="forms.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
+                  </el-form-item>
+                  <el-form-item label="登录密码" prop="password">
+                    <el-input v-model="forms.password" placeholder="请输入登录密码" show-password></el-input>
+                  </el-form-item>
+                  <el-form-item label="机构代码或邀请码" prop="code" class="cs">
+                    <el-input v-model="forms.code" placeholder="请输入邀请码"></el-input>
+                  </el-form-item>
+                  <el-form-item label="用户类别" prop="role">
+                    <el-radio-group v-model="forms.role">
+                      <!-- <el-radio label="7">临时用户</el-radio> -->
+                      <el-radio label="4">个人</el-radio>
+                      <el-radio label="5">机构管理员</el-radio>
+                      <el-radio label="6">专家</el-radio>
+                    </el-radio-group>
+                  </el-form-item>
+                  <el-form-item label="身份证号" prop="cardnumber" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
+                    <el-input v-model="forms.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
+                  </el-form-item>
+                  <el-form-item label="邮箱" prop="email" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
+                    <el-input v-model="forms.email" placeholder="请输入邮箱"></el-input>
+                  </el-form-item>
+                  <el-form-item label="地址" prop="addr" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
+                    <el-input v-model="forms.addr" placeholder="请输入地址"></el-input>
+                  </el-form-item>
+                  <el-form-item label="头像图片" prop="img_path" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
+                    <upload :limit="1" :data="forms.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="身份证正面" v-if="forms.role == '4' || forms.role == '5'" prop="cardfile_a">
+                    <upload :limit="1" :data="forms.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="身份证背面" v-if="forms.role == '4' || forms.role == '5'" prop="cardfile_b">
+                    <upload :limit="1" :data="forms.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="组织机构图片" v-if="forms.role == '5'" prop="img_qy">
+                    <upload :limit="1" :data="forms.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <template v-if="forms.role == '5'">
+                    <el-form-item label="机构类型" prop="institution_type">
+                      <el-input v-model="forms.institution_type" placeholder="请输入机构类型"></el-input>
+                    </el-form-item>
+                    <el-form-item label="机构名称" prop="institution_name">
+                      <el-input v-model="forms.institution_name" placeholder="请输入机构名称"></el-input>
+                    </el-form-item>
+                    <el-form-item label="机构代码" prop="institution_code">
+                      <el-input v-model="forms.institution_code" placeholder="请输入机构代码"></el-input>
+                    </el-form-item>
+                    <el-form-item label="机构性质" prop="institution_nature">
+                      <el-input v-model="forms.institution_nature" placeholder="请输入机构性质"></el-input>
+                    </el-form-item>
+                  </template>
+                  <el-form-item label="办公电话" v-if="forms.role == '4' || forms.role == '5'" prop="office_phone">
+                    <el-input v-model="forms.office_phone" placeholder="请输入办公电话"></el-input>
+                  </el-form-item>
+                  <el-form-item label="所属行业" v-if="forms.role == '4' || forms.role == '5'" prop="profession">
+                    <el-input v-model="forms.profession" placeholder="请输入所属行业"></el-input>
+                  </el-form-item>
+                  <el-form-item label="性别" v-if="forms.role == '6'" prop="gender">
+                    <el-select v-model="forms.gender" placeholder="请选择民性别">
+                      <el-option v-for="(item, index) in gender_list" :key="index" :label="item.name" :value="item.name"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="出生日期" v-if="forms.role == '6'" prop="birthday">
+                    <el-date-picker v-model="forms.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
+                  </el-form-item>
+                  <el-form-item label="职称级别" v-if="forms.role == '6'" prop="level">
+                    <el-input v-model="forms.level" placeholder="请输入职称级别"></el-input>
+                  </el-form-item>
+                  <el-form-item label="职称" v-if="forms.role == '6'" prop="levelname">
+                    <el-input v-model="forms.levelname" placeholder="请输入职称"></el-input>
+                  </el-form-item>
+                  <el-form-item label="职务" v-if="forms.role == '6'" prop="position">
+                    <el-input v-model="forms.position" placeholder="请输入职务"></el-input>
+                  </el-form-item>
+                  <el-form-item label="院校" v-if="forms.role == '6'" prop="school">
+                    <el-input v-model="forms.school" placeholder="请输入院校"></el-input>
+                  </el-form-item>
+                  <el-form-item label="学历" v-if="forms.role == '6'" prop="xl">
+                    <el-select v-model="forms.xl" placeholder="请选择学历要求">
+                      <el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="学位" v-if="forms.role == '6'" prop="xw">
+                    <el-select v-model="forms.xw" placeholder="请选择学位">
+                      <el-option v-for="(item, index) in degree_list" :key="index" :label="item.name" :value="item.name"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="专业" v-if="forms.role == '6'" prop="major">
+                    <el-input v-model="forms.major" placeholder="请输入专业"></el-input>
+                  </el-form-item>
+                  <el-form-item label="从事专业" v-if="forms.role == '6'" prop="professional">
+                    <el-input v-model="forms.professional" placeholder="请输入从事专业"></el-input>
+                  </el-form-item>
+                  <el-form-item label="个人简历" v-if="forms.role == '4' || forms.role == '6'" prop="resume">
+                    <el-input type="textarea" v-model="forms.resume" placeholder="请输入个人简介"></el-input>
+                  </el-form-item>
+                  <el-form-item label="项目" v-if="forms.role == '6'" prop="project">
+                    <el-input v-model="forms.project" placeholder="请输入项目"></el-input>
+                  </el-form-item>
+                  <el-form-item label="学术成就" v-if="forms.role == '6'" prop="academic">
+                    <el-input v-model="forms.academic" placeholder="请输入学术成就"></el-input>
+                  </el-form-item>
+                  <el-form-item label="论文" v-if="forms.role == '6'" prop="paper">
+                    <el-input v-model="forms.paper" placeholder="请输入论文"></el-input>
+                  </el-form-item>
+                  <el-form-item label="备注" v-if="forms.role == '6'" prop="remark">
+                    <el-input v-model="forms.remark" placeholder="请输入备注"></el-input>
+                  </el-form-item>
+                  <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="registerSubmit('forms')">注册</el-button></el-col>
+                </el-form>
+              </el-col>
+            </el-tab-pane>
+          </el-tabs>
+        </el-col>
+        <el-col :span="6" class="info"></el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import upload from '@/components/uploadone.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'webLogin',
+  props: {
+    adminForm: null,
+    form: null,
+    forms: null,
+  },
+  components: {
+    upload,
+  },
+  data: function() {
+    return {
+      activeName: 'first',
+      // 性别
+      gender_list: [
+        {
+          name: '男',
+        },
+        {
+          name: '女',
+        },
+      ],
+      // 学历
+      edu_list: [
+        {
+          name: '中专及以上',
+        },
+        {
+          name: '大专及以上',
+        },
+        {
+          name: '本科及以上',
+        },
+        {
+          name: '研究生及以上',
+        },
+      ],
+      // 学位
+      degree_list: [
+        {
+          name: '学士',
+        },
+        {
+          name: '博士',
+        },
+        {
+          name: '其他',
+        },
+      ],
+      rules: {
+        name: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+        password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
+        code: [
+          { required: true, message: '请输入邀请码', trigger: 'blur' },
+          // { type: 'number', message: '年龄必须为数字值' },
+        ],
+        cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
+        email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
+        addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
+        img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
+        role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
+        cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
+        cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
+        img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
+        institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
+        institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
+        institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
+        institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
+        office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
+        profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
+        birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
+        level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
+        school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
+        xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
+        xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
+        major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
+        professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
+        project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
+        academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
+        paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
+        remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
+      },
+    };
+  },
+  created() {},
+  methods: {
+    // 用户登录
+    loginSubmit() {
+      this.$emit('submitDate', this.form);
+    },
+    // 注册
+    registerSubmit(formName) {
+      this.$refs[formName].validate(valid => {
+        if (valid) {
+          this.$emit('submitDates', { data: this.forms, id: this.forms.id });
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    // 图片上传
+    uploadSuccess({ type, data }) {
+      this.$set(this.forms, `${type}`, data.uri);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.loginMains {
+  min-height: 800px;
+  padding: 10px 0;
+  background-color: #fff;
+}
+.top {
+  width: 100%;
+  padding: 20px;
+  overflow: hidden;
+  box-shadow: 0 0 10px #2d64b3;
+  background: #ffffff;
+}
+.info {
+  // width: 25%;
+  height: 800px;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+  background-color: transparent;
+}
+/deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 50px;
+}
+/deep/.el-tabs--top .el-tabs__item.is-top:last-child {
+  padding-right: 50px;
+}
+/deep/.el-tabs__active-bar {
+  background-color: transparent;
+}
+/deep/.el-tabs__nav {
+  margin: 0 265px;
+}
+/deep/.el-tabs__item {
+  padding: 0 60px;
+  height: 70px;
+  line-height: 70px;
+  font-size: 30px;
+}
+.loginSubmit {
+  text-align: center;
+}
+</style>

+ 144 - 147
src/layout/login/webLogin.vue

@@ -51,34 +51,46 @@
                   </el-form-item>
                   <el-form-item label="用户类别" prop="role">
                     <el-radio-group v-model="forms.role">
-                      <!-- <el-radio label="7">临时用户</el-radio> -->
                       <el-radio label="4">个人</el-radio>
                       <el-radio label="5">机构管理员</el-radio>
                       <el-radio label="6">专家</el-radio>
                     </el-radio-group>
                   </el-form-item>
-                  <el-form-item label="身份证号" prop="cardnumber" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
-                    <el-input v-model="forms.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
-                  </el-form-item>
-                  <el-form-item label="邮箱" prop="email" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
-                    <el-input v-model="forms.email" placeholder="请输入邮箱"></el-input>
-                  </el-form-item>
-                  <el-form-item label="地址" prop="addr" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
-                    <el-input v-model="forms.addr" placeholder="请输入地址"></el-input>
-                  </el-form-item>
-                  <el-form-item label="头像图片" prop="img_path" v-if="forms.role == '4' || forms.role == '5' || forms.role == '6'">
-                    <upload :limit="1" :data="forms.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
-                  </el-form-item>
-                  <el-form-item label="身份证正面" v-if="forms.role == '4' || forms.role == '5'" prop="cardfile_a">
-                    <upload :limit="1" :data="forms.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
-                  </el-form-item>
-                  <el-form-item label="身份证背面" v-if="forms.role == '4' || forms.role == '5'" prop="cardfile_b">
-                    <upload :limit="1" :data="forms.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
-                  </el-form-item>
-                  <el-form-item label="组织机构图片" v-if="forms.role == '5'" prop="img_qy">
-                    <upload :limit="1" :data="forms.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
-                  </el-form-item>
-                  <template v-if="forms.role == '5'">
+                  <span v-if="forms.role == '4' || forms.role == '5'">
+                    <el-form-item label="身份证号" prop="cardnumber">
+                      <el-input v-model="forms.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
+                    </el-form-item>
+                    <el-form-item label="邮箱" prop="email">
+                      <el-input v-model="forms.email" placeholder="请输入邮箱"></el-input>
+                    </el-form-item>
+                    <el-form-item label="地址" prop="addr">
+                      <el-input v-model="forms.addr" placeholder="请输入地址"></el-input>
+                    </el-form-item>
+                    <el-form-item label="头像图片" prop="img_path">
+                      <upload :limit="1" :data="forms.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                    </el-form-item>
+                    <el-form-item label="身份证正面" prop="cardfile_a">
+                      <upload :limit="1" :data="forms.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
+                    </el-form-item>
+                    <el-form-item label="身份证背面" prop="cardfile_b">
+                      <upload :limit="1" :data="forms.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
+                    </el-form-item>
+                    <el-form-item label="办公电话" prop="office_phone">
+                      <el-input v-model="forms.office_phone" placeholder="请输入办公电话"></el-input>
+                    </el-form-item>
+                    <el-form-item label="所属行业" prop="profession">
+                      <el-input v-model="forms.profession" placeholder="请输入所属行业"></el-input>
+                    </el-form-item>
+                  </span>
+                  <span v-if="forms.role == '4'">
+                    <el-form-item label="个人简历" v-if="forms.role == '4'">
+                      <el-input type="textarea" v-model="forms.resume" placeholder="请输入个人简介"></el-input>
+                    </el-form-item>
+                  </span>
+                  <span v-else-if="forms.role == '5'">
+                    <el-form-item label="组织机构图片" v-if="forms.role == '5'" prop="img_qy">
+                      <upload :limit="1" :data="forms.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
+                    </el-form-item>
                     <el-form-item label="机构类型" prop="institution_type">
                       <el-input v-model="forms.institution_type" placeholder="请输入机构类型"></el-input>
                     </el-form-item>
@@ -91,64 +103,86 @@
                     <el-form-item label="机构性质" prop="institution_nature">
                       <el-input v-model="forms.institution_nature" placeholder="请输入机构性质"></el-input>
                     </el-form-item>
-                  </template>
-                  <el-form-item label="办公电话" v-if="forms.role == '4' || forms.role == '5'" prop="office_phone">
-                    <el-input v-model="forms.office_phone" placeholder="请输入办公电话"></el-input>
-                  </el-form-item>
-                  <el-form-item label="所属行业" v-if="forms.role == '4' || forms.role == '5'" prop="profession">
-                    <el-input v-model="forms.profession" placeholder="请输入所属行业"></el-input>
-                  </el-form-item>
-                  <el-form-item label="性别" v-if="forms.role == '6'" prop="gender">
-                    <el-select v-model="forms.gender" placeholder="请选择民性别">
-                      <el-option v-for="(item, index) in gender_list" :key="index" :label="item.name" :value="item.name"></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <el-form-item label="出生日期" v-if="forms.role == '6'" prop="birthday">
-                    <el-date-picker v-model="forms.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
-                  </el-form-item>
-                  <el-form-item label="职称级别" v-if="forms.role == '6'" prop="level">
-                    <el-input v-model="forms.level" placeholder="请输入职称级别"></el-input>
-                  </el-form-item>
-                  <el-form-item label="职称" v-if="forms.role == '6'" prop="levelname">
-                    <el-input v-model="forms.levelname" placeholder="请输入职称"></el-input>
-                  </el-form-item>
-                  <el-form-item label="职务" v-if="forms.role == '6'" prop="position">
-                    <el-input v-model="forms.position" placeholder="请输入职务"></el-input>
-                  </el-form-item>
-                  <el-form-item label="院校" v-if="forms.role == '6'" prop="school">
-                    <el-input v-model="forms.school" placeholder="请输入院校"></el-input>
-                  </el-form-item>
-                  <el-form-item label="学历" v-if="forms.role == '6'" prop="xl">
-                    <el-select v-model="forms.xl" placeholder="请选择学历要求">
-                      <el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <el-form-item label="学位" v-if="forms.role == '6'" prop="xw">
-                    <el-select v-model="forms.xw" placeholder="请选择学位">
-                      <el-option v-for="(item, index) in degree_list" :key="index" :label="item.name" :value="item.name"></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <el-form-item label="专业" v-if="forms.role == '6'" prop="major">
-                    <el-input v-model="forms.major" placeholder="请输入专业"></el-input>
-                  </el-form-item>
-                  <el-form-item label="从事专业" v-if="forms.role == '6'" prop="professional">
-                    <el-input v-model="forms.professional" placeholder="请输入从事专业"></el-input>
-                  </el-form-item>
-                  <el-form-item label="个人简历" v-if="forms.role == '4' || forms.role == '6'" prop="resume">
-                    <el-input type="textarea" v-model="forms.resume" placeholder="请输入个人简介"></el-input>
-                  </el-form-item>
-                  <el-form-item label="项目" v-if="forms.role == '6'" prop="project">
-                    <el-input v-model="forms.project" placeholder="请输入项目"></el-input>
-                  </el-form-item>
-                  <el-form-item label="学术成就" v-if="forms.role == '6'" prop="academic">
-                    <el-input v-model="forms.academic" placeholder="请输入学术成就"></el-input>
-                  </el-form-item>
-                  <el-form-item label="论文" v-if="forms.role == '6'" prop="paper">
-                    <el-input v-model="forms.paper" placeholder="请输入论文"></el-input>
-                  </el-form-item>
-                  <el-form-item label="备注" v-if="forms.role == '6'" prop="remark">
-                    <el-input v-model="forms.remark" placeholder="请输入备注"></el-input>
-                  </el-form-item>
+                  </span>
+                  <span v-else-if="forms.role == '6'">
+                    <el-form-item label="头像">
+                      <upload :limit="1" :data="forms.expertimage" type="expertimage" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                    </el-form-item>
+                    <el-form-item label="最高学历">
+                      <el-input v-model="forms.education" placeholder="请输入最高学历"></el-input>
+                    </el-form-item>
+                    <el-form-item label="毕业院校">
+                      <el-input v-model="forms.school" placeholder="请输入毕业院校"></el-input>
+                    </el-form-item>
+                    <el-form-item label="出生日期">
+                      <el-date-picker v-model="forms.birthDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
+                    </el-form-item>
+                    <el-form-item label="QQ&微信">
+                      <el-input v-model="forms.qqwx" placeholder="请输入QQ&微信"></el-input>
+                    </el-form-item>
+                    <el-form-item label="电子邮箱">
+                      <el-input v-model="forms.email" placeholder="请输入电子邮箱"></el-input>
+                    </el-form-item>
+                    <el-form-item label="工作单位">
+                      <el-input v-model="forms.company" placeholder="请输入工作单位"></el-input>
+                    </el-form-item>
+                    <el-form-item label="职务职称">
+                      <el-input v-model="forms.zwzc" placeholder="请输入职务职称"></el-input>
+                    </el-form-item>
+                    <el-form-item label="擅长领域">
+                      <el-input v-model="forms.expertise" placeholder="请输入擅长领域"></el-input>
+                    </el-form-item>
+                    <el-form-item label="工作经历">
+                      <el-input
+                        v-model="forms.workexperience"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 2, maxRows: 5 }"
+                        placeholder="请输入工作经历"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="科研综述">
+                      <el-input
+                        v-model="forms.scientific"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 2, maxRows: 5 }"
+                        placeholder="请输入科研综述"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="承担项目">
+                      <el-input
+                        v-model="forms.undertakingproject"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 2, maxRows: 5 }"
+                        placeholder="请输入承担项目"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="科技奖励">
+                      <el-input
+                        v-model="forms.scienceaward"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 2, maxRows: 5 }"
+                        placeholder="请输入科技奖励"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="社会任职">
+                      <el-input
+                        v-model="forms.social"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 2, maxRows: 5 }"
+                        placeholder="请输入社会任职"
+                      ></el-input>
+                    </el-form-item>
+                  </span>
                   <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="registerSubmit('forms')">注册</el-button></el-col>
                 </el-form>
               </el-col>
@@ -167,7 +201,6 @@ import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'webLogin',
   props: {
-    adminForm: null,
     form: null,
     forms: null,
   },
@@ -177,42 +210,6 @@ export default {
   data: function() {
     return {
       activeName: 'first',
-      // 性别
-      gender_list: [
-        {
-          name: '男',
-        },
-        {
-          name: '女',
-        },
-      ],
-      // 学历
-      edu_list: [
-        {
-          name: '中专及以上',
-        },
-        {
-          name: '大专及以上',
-        },
-        {
-          name: '本科及以上',
-        },
-        {
-          name: '研究生及以上',
-        },
-      ],
-      // 学位
-      degree_list: [
-        {
-          name: '学士',
-        },
-        {
-          name: '博士',
-        },
-        {
-          name: '其他',
-        },
-      ],
       rules: {
         name: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
         phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
@@ -221,35 +218,35 @@ export default {
           { required: true, message: '请输入邀请码', trigger: 'blur' },
           // { type: 'number', message: '年龄必须为数字值' },
         ],
-        cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
-        email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
-        addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
-        img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
-        role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
-        cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
-        cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
-        img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
-        institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
-        institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
-        institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
-        institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
-        office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
-        profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-        gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
-        birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
-        level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-        levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-        position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
-        school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
-        xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
-        xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
-        major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
-        professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-        resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
-        project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
-        academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
-        paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
-        remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
+        // cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
+        // email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
+        // addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
+        // img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
+        // role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
+        // cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
+        // cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
+        // img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
+        // institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
+        // institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
+        // institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
+        // institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
+        // office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
+        // profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        // gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
+        // birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
+        // level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        // levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        // position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
+        // school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
+        // xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
+        // xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
+        // major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
+        // professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        // resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
+        // project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
+        // academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
+        // paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
+        // remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
       },
     };
   },

+ 238 - 0
src/views/adminCenter/applyInfo/index copy.vue

@@ -0,0 +1,238 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>申请管理</span> </el-col>
+        <el-col :span="24" class="info">
+          <el-table :data="list" border style="width: 100%">
+            <el-table-column prop="user_name" label="姓名" align="center"> </el-table-column>
+            <el-table-column prop="contact_tel" label="电话" align="center"> </el-table-column>
+            <el-table-column prop="apply_time" label="申请时间" align="center"> </el-table-column>
+            <el-table-column label="用户类别" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.role == '4' ? '个人' : scope.row.role == '5' ? '机构' : scope.row.role == '6' ? '专家' : '未识别' }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="用户状态" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.status == '0' ? '待审核' : scope.row.status == '1' ? '通过' : scope.row.status == '2' ? '拒绝' : '未识别' }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" align="center">
+              <template slot-scope="scope">
+                <el-button size="mini" type="text" @click.prevent="handlecheck(scope.row)">
+                  <el-tooltip class="item" effect="dark" content="同意参展" placement="top-start"> <i class="el-icon-check"></i> </el-tooltip>
+                </el-button>
+                <el-button size="mini" type="text" @click.prevent="handleclose(scope.row)">
+                  <el-tooltip class="item" effect="dark" content="拒绝参展" placement="top-start"> <i class="el-icon-close"></i> </el-tooltip>
+                </el-button>
+                <el-button size="mini" type="text" v-if="scope.row.status == '1'" @click.prevent="handletickets(scope.row)">
+                  <el-tooltip class="item" effect="dark" content="审核参展产品" placement="top-start"> <i class="el-icon-tickets"></i> </el-tooltip>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <el-col :span="24" class="page">
+            <el-pagination
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              layout="total, prev, pager, next, jumper"
+              :total="total"
+              :page-size="pageSize"
+            >
+            </el-pagination>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="审核产品" :visible.sync="dialogVisible" width="50%" :before-close="handleClose">
+      <el-table :data="productList" border style="width: 100%">
+        <el-table-column prop="name" label="产品名称" align="center"> </el-table-column>
+        <el-table-column label="产品类别" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.totaltype == '0' ? '技术' : scope.row.totaltype == '1' ? '产品' : scope.row.totaltype == '2' ? '服务' : '未识别' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="contact_user" label="联系人" align="center"> </el-table-column>
+        <el-table-column prop="contact_tel" label="联系电话" align="center"> </el-table-column>
+        <el-table-column label="所属领域" align="center">
+          <template slot-scope="scope">
+            <span>{{
+              scope.row.field == '0'
+                ? '先进制造'
+                : scope.row.field == '1'
+                ? '新材料'
+                : scope.row.field == '2'
+                ? '光电子'
+                : scope.row.field == '3'
+                ? '信息技术'
+                : scope.row.field == '4'
+                ? '文化和科技融合'
+                : '未识别'
+            }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="合作方式" align="center">
+          <template slot-scope="scope">
+            <span>{{
+              scope.row.coopermode == '0'
+                ? '技术转让'
+                : scope.row.coopermode == '1'
+                ? '技术服务'
+                : scope.row.coopermode == '2'
+                ? '技术许可'
+                : scope.row.coopermode == '3'
+                ? '技术融资'
+                : scope.row.coopermode == '4'
+                ? '其他'
+                : '未识别'
+            }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="状态" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.row.dockStatus == '0' ? '待审核' : scope.row.dockStatus == '1' ? '通过' : scope.row.dockStatus == '2' ? '拒绝' : '未识别' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button size="mini" type="text" @click.prevent="checkProduct(scope.row)">
+              <el-tooltip class="item" effect="dark" content="同意参展" placement="top-start"> <i class="el-icon-check"></i> </el-tooltip>
+            </el-button>
+            <el-button size="mini" type="text" @click.prevent="closeProduct(scope.row)">
+              <el-tooltip class="item" effect="dark" content="拒绝参展" placement="top-start"> <i class="el-icon-close"></i> </el-tooltip>
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: apply } = createNamespacedHelpers('apply');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      applyList: [], //查询数据
+      currentPage: 1, //默认数据1
+      pageSize: 10, //每页显示数据数量
+      origin: [], //分割数据
+      list: [], //显示数据列表
+      total: 0,
+      dock_id: '', //对接会id
+      dialogVisible: false,
+      productList: [],
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...dock(['fetch', 'query', 'delete', 'update', 'delete', 'updateGood']),
+    ...apply({ applyUpdate: 'update' }),
+    async search() {
+      let res = await this.fetch(this.user.uid);
+      if (this.$checkRes(res)) {
+        this.$set(this, `applyList`, res.data.apply);
+        this.$set(this, `dock_id`, res.data.id);
+        this.$set(this, `total`, res.data.apply.length);
+      }
+    },
+    searchPage(page = 1) {
+      this.$set(this, `list`, this.origin[page - 1]);
+    },
+    handleCurrentChange(currentPage) {
+      this.searchPage(currentPage);
+    },
+    // 同意参展
+    async handlecheck(data) {
+      data.status = '1';
+      data.dock_id = this.dock_id;
+      data.id = data._id;
+      let res = await this.applyUpdate(data);
+      this.$checkRes(res, '审核成功', '审核失败');
+    },
+    // 拒绝参展
+    async handleclose(data) {
+      data.status = '2';
+      data.dock_id = this.dock_id;
+      data.id = data._id;
+      let res = await this.applyUpdate(data);
+      this.$checkRes(res, '审核成功', '审核失败');
+    },
+    // 审核产品
+    handletickets(data) {
+      this.dialogVisible = true;
+      this.$set(this, `productList`, data.goodsList);
+    },
+    // 产品审核
+    // 产品审核同意参展
+    async checkProduct(data) {
+      data.dockStatus = '1';
+      data.id = this.dock_id;
+      let res = await this.updateGood(data);
+      this.$checkRes(res, '审核成功', '审核失败');
+      this.dialogVisible = false;
+    },
+    // 产品审核拒绝参展
+    async closeProduct(data) {
+      data.dockStatus = '2';
+      data.id = this.dock_id;
+      let res = await this.updateGood(data);
+      this.$checkRes(res, '审核成功', '审核失败');
+      this.dialogVisible = false;
+    },
+    // 取消
+    handleClose(done) {
+      done();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    applyList: {
+      immediate: true,
+      deep: true,
+      handler(val) {
+        if (val && val.length > 0) this.$set(this, `origin`, _.chunk(val, this.pageSize));
+        this.searchPage();
+      },
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.leftTop {
+  font-size: 18px;
+  width: 96%;
+  height: 41px;
+  line-height: 35px;
+  border-bottom: 1px solid #e5e5e5;
+  position: relative;
+  bottom: 1px;
+  margin: 10px;
+  font-weight: 600;
+  color: #22529a;
+}
+.info {
+  padding: 0 40px 0 10px;
+}
+.page {
+  text-align: right;
+  padding: 10px 0;
+}
+</style>

+ 452 - 150
src/views/adminCenter/applyInfo/index.vue

@@ -4,185 +4,470 @@
       <el-col :span="24">
         <el-col :span="24" class="leftTop"> <span>|</span> <span>申请管理</span> </el-col>
         <el-col :span="24" class="info">
-          <el-table :data="list" border style="width: 100%">
-            <el-table-column prop="user_name" label="姓名" align="center"> </el-table-column>
-            <el-table-column prop="contact_tel" label="电话" align="center"> </el-table-column>
-            <el-table-column prop="apply_time" label="申请时间" align="center"> </el-table-column>
-            <el-table-column label="用户类别" align="center">
-              <template slot-scope="scope">
-                <span>{{ scope.row.role == '4' ? '个人' : scope.row.role == '5' ? '机构' : scope.row.role == '6' ? '专家' : '未识别' }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="用户状态" align="center">
-              <template slot-scope="scope">
-                <span>{{ scope.row.status == '0' ? '待审核' : scope.row.status == '1' ? '通过' : scope.row.status == '2' ? '拒绝' : '未识别' }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center">
-              <template slot-scope="scope">
-                <el-button size="mini" type="text" @click.prevent="handlecheck(scope.row)">
-                  <el-tooltip class="item" effect="dark" content="同意参展" placement="top-start"> <i class="el-icon-check"></i> </el-tooltip>
-                </el-button>
-                <el-button size="mini" type="text" @click.prevent="handleclose(scope.row)">
-                  <el-tooltip class="item" effect="dark" content="拒绝参展" placement="top-start"> <i class="el-icon-close"></i> </el-tooltip>
-                </el-button>
-                <el-button size="mini" type="text" v-if="scope.row.status == '1'" @click.prevent="handletickets(scope.row)">
-                  <el-tooltip class="item" effect="dark" content="审核参展产品" placement="top-start"> <i class="el-icon-tickets"></i> </el-tooltip>
-                </el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <el-col :span="24" class="page">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              layout="total, prev, pager, next, jumper"
-              :total="total"
-              :page-size="pageSize"
-            >
-            </el-pagination>
-          </el-col>
+          <span v-if="display == 'list'">
+            <data-table :fields="fields" :opera="opera" :data="list" :total="total" @edit="toEdit" @query="search"></data-table>
+          </span>
+          <span v-else>
+            <el-col :span="24" style="text-align:right;">
+              <el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
+            </el-col>
+            <el-col :span="24">
+              <data-table :fields="goodsfields" :opera="goodsopera" :data="goodsList" :total="goodsTotal" @check="toCheck" @query="search"></data-table>
+            </el-col>
+          </span>
         </el-col>
       </el-col>
     </el-row>
     <el-dialog title="审核产品" :visible.sync="dialogVisible" width="50%" :before-close="handleClose">
-      <el-table :data="productList" border style="width: 100%">
-        <el-table-column prop="name" label="产品名称" align="center"> </el-table-column>
-        <el-table-column label="产品类别" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.totaltype == '0' ? '技术' : scope.row.totaltype == '1' ? '产品' : scope.row.totaltype == '2' ? '服务' : '未识别' }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="contact_user" label="联系人" align="center"> </el-table-column>
-        <el-table-column prop="contact_tel" label="联系电话" align="center"> </el-table-column>
-        <el-table-column label="所属领域" align="center">
-          <template slot-scope="scope">
-            <span>{{
-              scope.row.field == '0'
-                ? '先进制造'
-                : scope.row.field == '1'
-                ? '新材料'
-                : scope.row.field == '2'
-                ? '光电子'
-                : scope.row.field == '3'
-                ? '信息技术'
-                : scope.row.field == '4'
-                ? '文化和科技融合'
-                : '未识别'
-            }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="合作方式" align="center">
-          <template slot-scope="scope">
-            <span>{{
-              scope.row.coopermode == '0'
-                ? '技术转让'
-                : scope.row.coopermode == '1'
-                ? '技术服务'
-                : scope.row.coopermode == '2'
-                ? '技术许可'
-                : scope.row.coopermode == '3'
-                ? '技术融资'
-                : scope.row.coopermode == '4'
-                ? '其他'
-                : '未识别'
-            }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="状态" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.dockStatus == '0' ? '待审核' : scope.row.dockStatus == '1' ? '通过' : scope.row.dockStatus == '2' ? '拒绝' : '未识别' }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" align="center">
-          <template slot-scope="scope">
-            <el-button size="mini" type="text" @click.prevent="checkProduct(scope.row)">
-              <el-tooltip class="item" effect="dark" content="同意参展" placement="top-start"> <i class="el-icon-check"></i> </el-tooltip>
-            </el-button>
-            <el-button size="mini" type="text" @click.prevent="closeProduct(scope.row)">
-              <el-tooltip class="item" effect="dark" content="拒绝参展" placement="top-start"> <i class="el-icon-close"></i> </el-tooltip>
-            </el-button>
-          </template>
-        </el-table-column>
-      </el-table>
+      <el-form ref="form" :model="form" label-width="150px">
+        <el-form-item label="审核信息状态">
+          <el-radio v-model="form.dockStatus" label="0" disabled>待审核</el-radio>
+          <el-radio v-model="form.dockStatus" label="1">审核通过</el-radio>
+          <el-radio v-model="form.dockStatus" label="2">审核拒绝</el-radio>
+        </el-form-item>
+        <el-form-item label="产品类型" prop="totaltype">
+          <el-select v-model="form.type" placeholder="请选择产品类型">
+            <el-option label="技术" value="0"></el-option>
+            <el-option label="产品" value="1"></el-option>
+            <el-option label="服务" value="2"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="产品类型" prop="totaltype">
+          <el-select v-model="form.type" placeholder="请选择产品类型">
+            <el-option label="技术" value="0"></el-option>
+            <el-option label="产品" value="1"></el-option>
+            <el-option label="商务" value="2"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="名称">
+          <el-input v-model="form.name" placeholder="请输入名称"></el-input>
+        </el-form-item>
+        <el-form-item label="联系人">
+          <el-input v-model="form.contacts" placeholder="请输入联系人"></el-input>
+        </el-form-item>
+        <el-form-item label="联系电话">
+          <el-input v-model="form.phone" placeholder="请输入联系电话"></el-input>
+        </el-form-item>
+        <el-form-item label="QQ&微信">
+          <el-input v-model="form.qqwx" placeholder="请输入QQ&微信"></el-input>
+        </el-form-item>
+        <el-form-item label="电子邮箱">
+          <el-input v-model="form.email" placeholder="请输入电子邮箱"></el-input>
+        </el-form-item>
+        <span v-if="form.type == '0' || form.type == '1'">
+          <el-form-item label="所属领域">
+            <el-select v-model="form.field" filterable>
+              <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="合作方式">
+            <el-select v-model="form.cooperation" filterable>
+              <el-option v-for="(item, index) in cooperationList" :key="index" :value="item.name" :label="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="企业名称">
+            <el-input v-model="form.company" placeholder="请输入企业名称"></el-input>
+          </el-form-item>
+          <el-form-item label="企业简介">
+            <el-input
+              v-model="form.companybrief"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入企业简介"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="企业网站">
+            <el-input v-model="form.companyweb" placeholder="请输入企业网站"></el-input>
+          </el-form-item>
+          <el-form-item label="合作条件及要求">
+            <el-input
+              v-model="form.condition"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入合作条件及要求"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="产品图片" prop="image">
+            <upload
+              :limit="6"
+              :data="form.image"
+              :uploadBtn="true"
+              type="image"
+              :url="`/files/image/upload`"
+              @upload="uploadSuccess"
+              @delete="uploadDelete"
+            ></upload>
+          </el-form-item>
+        </span>
+        <!-- 技术 -->
+        <span v-if="form.type == '0'">
+          <el-form-item label="投资预算">
+            <el-input v-model="form.budget" placeholder="请输入投资预算"></el-input>
+          </el-form-item>
+          <el-form-item label="注册类型">
+            <el-input v-model="form.companytype" placeholder="请输入注册类型"></el-input>
+          </el-form-item>
+          <el-form-item label="组织机构代码">
+            <el-input v-model="form.zzjgdm" placeholder="请输入组织机构代码"></el-input>
+          </el-form-item>
+          <el-form-item label="注册时间">
+            <el-date-picker v-model="form.companydate" type="date" placeholder="请选择时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> </el-date-picker>
+          </el-form-item>
+          <el-form-item label="注册资金">
+            <el-input v-model="form.companycapital" placeholder="请输入注册资金"></el-input>
+          </el-form-item>
+          <el-form-item label="企业法人">
+            <el-input v-model="form.companyperson" placeholder="请输入企业法人"></el-input>
+          </el-form-item>
+          <el-form-item label="上年度企业总收入">
+            <el-input v-model="form.sndqyzsr" placeholder="请输入上年度企业总收入"></el-input>
+          </el-form-item>
+          <el-form-item label="上年度研发费用">
+            <el-input v-model="form.sndyffy" placeholder="请输入上年度研发费用"></el-input>
+          </el-form-item>
+          <el-form-item label="企业总人数">
+            <el-input v-model="form.companytotal" placeholder="请输入企业总人数"></el-input>
+          </el-form-item>
+          <el-form-item label="专&兼职研发人数">
+            <el-input v-model="form.zjzyfrs" placeholder="请输入专&兼职研发人数"></el-input>
+          </el-form-item>
+          <el-form-item label="需求紧急程度">
+            <el-radio-group v-model="form.degreeurgency">
+              <el-radio label="特急"></el-radio>
+              <el-radio label="一般"></el-radio>
+              <el-radio label="储备"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="技术难题&需求说明">
+            <el-input
+              v-model="form.requirementdesc"
+              type="textarea"
+              maxlength="500"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入技术难题&需求说明"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="预期技术目标描述">
+            <el-input
+              v-model="form.expect"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入预期技术目标描述"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="需求现状及应对措施">
+            <el-input
+              v-model="form.present"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入需求现状及应对措施"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="主要产品">
+            <el-input
+              v-model="form.mainproduct"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入主要产品"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="企业资质&荣誉">
+            <el-input
+              v-model="form.qualifications"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入企业资质&荣誉"
+            ></el-input>
+          </el-form-item>
+        </span>
+        <!-- 产品 -->
+        <span v-else-if="form.type == '1'">
+          <el-form-item label="成果状态">
+            <el-select v-model="form.achievestatus" filterable>
+              <el-option v-for="(item, index) in achievestatusList" :key="index" :value="item.name" :label="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="成果权属">
+            <el-input v-model="form.achieveown" placeholder="请输入成果权属"></el-input>
+          </el-form-item>
+          <el-form-item label="成果来源">
+            <el-radio-group v-model="form.degreeurgency">
+              <el-radio label="国家项目"></el-radio>
+              <el-radio label="省级项目"></el-radio>
+              <el-radio label="市级项目"></el-radio>
+              <el-radio label="自选项目"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="专利信息">
+            <el-input v-model="form.patentinfo" placeholder="请输入专利信息"></el-input>
+          </el-form-item>
+          <el-form-item label="专利状态">
+            <el-radio-group v-model="form.patentstatus">
+              <el-radio label="已申请"></el-radio>
+              <el-radio label="已授权"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="项目路演">
+            <el-input v-model="form.roadshow" placeholder="请输入项目路演"></el-input>
+          </el-form-item>
+          <el-form-item label="意向价格">
+            <el-input v-model="form.intentionprice" placeholder="请输入意向价格"></el-input>
+          </el-form-item>
+          <el-form-item label="成果简介">
+            <el-input
+              v-model="form.achievebrief"
+              type="textarea"
+              maxlength="200"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入成果简介"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="技术特点">
+            <el-input
+              v-model="form.features"
+              type="textarea"
+              maxlength="200"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入技术特点"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="技术团队">
+            <el-input
+              v-model="form.team"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入技术团队"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="商业预期">
+            <el-input
+              v-model="form.expectations"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入商业预期"
+            ></el-input>
+          </el-form-item>
+        </span>
+        <!-- 服务 -->
+        <span v-else-if="form.type == '2'">
+          <el-form-item label="信息属性">
+            <el-radio-group v-model="form.messattribute">
+              <el-radio label="提供方"></el-radio>
+              <el-radio label="需求方"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="需求程度">
+            <el-radio-group v-model="form.demand">
+              <el-radio label="特急"></el-radio>
+              <el-radio label="一般"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="信息描述">
+            <el-input
+              v-model="form.informationdesc"
+              type="textarea"
+              maxlength="300"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入信息描述"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="核心要素">
+            <el-input
+              v-model="form.coreelements"
+              type="textarea"
+              maxlength="200"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入核心要素"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="价格信息">
+            <el-input
+              v-model="form.priceinfo"
+              type="textarea"
+              maxlength="100"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入价格信息"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="商务预期">
+            <el-input
+              v-model="form.businessexpect"
+              type="textarea"
+              maxlength="200"
+              show-word-limit
+              :autosize="{ minRows: 2, maxRows: 5 }"
+              placeholder="请输入商务预期"
+            ></el-input>
+          </el-form-item>
+        </span>
+        <el-form-item>
+          <el-button type="primary" @click="examineBtn()">审核提交</el-button>
+        </el-form-item>
+      </el-form>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import upload from '@/components/uploadProduct.vue';
+import dataTable from '@/components/data-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
 const { mapActions: apply } = createNamespacedHelpers('apply');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    dataTable,
+    upload,
+  },
   data: function() {
     return {
-      applyList: [], //查询数据
-      currentPage: 1, //默认数据1
-      pageSize: 10, //每页显示数据数量
-      origin: [], //分割数据
-      list: [], //显示数据列表
+      display: 'list',
+      opera: [
+        {
+          label: '审核',
+          icon: 'el-icon-view',
+          method: 'edit',
+        },
+      ],
+      fields: [
+        { label: '姓名', prop: 'user_name', filter: 'input' },
+        { label: '电话', prop: 'contact_tel' },
+        { label: '申请时间', prop: 'apply_time' },
+        {
+          label: '用户类别',
+          prop: 'role',
+          format: item => {
+            return item === '4' ? '个人' : item === '5' ? '机构' : item === '6' ? '专家' : '';
+          },
+        },
+        {
+          label: '用户状态',
+          prop: 'status',
+          format: item => {
+            return item === '0' ? '待审核' : item === '1' ? '通过' : item === '2' ? '拒绝' : '';
+          },
+        },
+      ],
+      list: [],
       total: 0,
-      dock_id: '', //对接会id
+      // 对接会id
+      dock_id: '',
+      // 审核产品列表
+      goodsopera: [
+        {
+          label: '审核',
+          icon: 'el-icon-check',
+          method: 'check',
+        },
+      ],
+      goodsfields: [
+        { label: '产品名称', prop: 'name', filter: 'input' },
+        {
+          label: '产品类别',
+          prop: 'type',
+          format: item => {
+            return item === '0' ? '技术' : item === '1' ? '产品' : item === '2' ? '商务' : '';
+          },
+        },
+        { label: '联系人', prop: 'contacts' },
+        { label: '联系电话', prop: 'phone' },
+        { label: '所属领域', prop: 'field' },
+        { label: '合作方式', prop: 'cooperation' },
+        {
+          label: '申请产品状态',
+          prop: 'dockStatus',
+          format: item => {
+            return item === '0' ? '待审核' : item === '1' ? '通过' : item === '2' ? '拒绝' : '';
+          },
+        },
+      ],
+      goodsList: [],
+      goodsTotal: 0,
+      // 审核产品
       dialogVisible: false,
-      productList: [],
+      // 产品详情
+      form: {},
+      // 所属领域
+      fieldList: [],
+      // 成果状态
+      achievestatusList: [],
+      // 合作方式
+      cooperationList: [],
     };
   },
   created() {
     this.search();
+    this.searchtype();
   },
   methods: {
     ...dock(['fetch', 'query', 'delete', 'update', 'delete', 'updateGood']),
     ...apply({ applyUpdate: 'update' }),
+    ...markettype({ markettypeList: 'query' }),
     async search() {
       let res = await this.fetch(this.user.uid);
       if (this.$checkRes(res)) {
-        this.$set(this, `applyList`, res.data.apply);
+        this.$set(this, `list`, res.data.apply);
         this.$set(this, `dock_id`, res.data.id);
         this.$set(this, `total`, res.data.apply.length);
       }
     },
-    searchPage(page = 1) {
-      this.$set(this, `list`, this.origin[page - 1]);
-    },
-    handleCurrentChange(currentPage) {
-      this.searchPage(currentPage);
-    },
-    // 同意参展
-    async handlecheck(data) {
-      data.status = '1';
-      data.dock_id = this.dock_id;
-      data.id = data._id;
-      let res = await this.applyUpdate(data);
-      this.$checkRes(res, '审核成功', '审核失败');
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+      // 成果状态;
+      res = await this.markettypeList({ category: '02' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `achievestatusList`, res.data);
+      }
+      // 合作方式;
+      res = await this.markettypeList({ category: '03' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `cooperationList`, res.data);
+      }
     },
-    // 拒绝参展
-    async handleclose(data) {
-      data.status = '2';
-      data.dock_id = this.dock_id;
-      data.id = data._id;
-      let res = await this.applyUpdate(data);
-      this.$checkRes(res, '审核成功', '审核失败');
+    // 审核
+    toEdit({ data }) {
+      this.$set(this, `goodsList`, data.goodsList);
+      this.$set(this, `goodsTotal`, data.goodsList.length);
+      this.display = 'view';
     },
     // 审核产品
-    handletickets(data) {
+    toCheck({ data }) {
+      this.$set(this, `form`, data);
       this.dialogVisible = true;
-      this.$set(this, `productList`, data.goodsList);
-    },
-    // 产品审核
-    // 产品审核同意参展
-    async checkProduct(data) {
-      data.dockStatus = '1';
-      data.id = this.dock_id;
-      let res = await this.updateGood(data);
-      this.$checkRes(res, '审核成功', '审核失败');
-      this.dialogVisible = false;
     },
-    // 产品审核拒绝参展
-    async closeProduct(data) {
-      data.dockStatus = '2';
+    // 提交审核
+    async examineBtn() {
+      let data = this.form;
       data.id = this.dock_id;
       let res = await this.updateGood(data);
       this.$checkRes(res, '审核成功', '审核失败');
@@ -192,6 +477,33 @@ export default {
     handleClose(done) {
       done();
     },
+    // 图片
+    uploadSuccess({ type, data }) {
+      let arr = _.get(this.form, type);
+      if (_.isArray(arr)) {
+        let datas = { name: data.name, url: data.uri };
+        this.form[type].push({ name: data.name, url: data.uri });
+      } else {
+        let newArr = [{ name: data.name, url: data.uri }];
+        this.$set(this.form, `${type}`, newArr);
+      }
+    },
+    // 删除图片
+    uploadDelete(index) {
+      this.form.image.splice(index, 1);
+    },
+    updataApply() {
+      let data = this.list.goodsList;
+      console.log(data);
+    },
+  },
+  watch: {
+    list: {
+      handler(val) {
+        this.updataApply();
+      },
+      immediate: true,
+    },
   },
   computed: {
     ...mapState(['user']),
@@ -202,16 +514,6 @@ export default {
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    applyList: {
-      immediate: true,
-      deep: true,
-      handler(val) {
-        if (val && val.length > 0) this.$set(this, `origin`, _.chunk(val, this.pageSize));
-        this.searchPage();
-      },
-    },
-  },
 };
 </script>
 

+ 1 - 1
src/views/adminCenter/statisInfo/index.vue

@@ -8,7 +8,7 @@
             <el-tab-pane label="技术需求" name="first">
               <technology></technology>
             </el-tab-pane>
-            <el-tab-pane label="可转化成果" name="second">
+            <el-tab-pane label="科技成果" name="second">
               <achievements></achievements>
             </el-tab-pane>
           </el-tabs>

+ 19 - 51
src/views/adminCenter/statisInfo/parts/achievements.vue

@@ -7,11 +7,7 @@
             <el-col :span="24" class="search">
               <el-col :span="5">
                 <el-select v-model="field" filterable clearable placeholder="请选择所属领域" @change="changeField">
-                  <el-option label="先进制造" value="0"></el-option>
-                  <el-option label="新材料" value="1"></el-option>
-                  <el-option label="光电子" value="2"></el-option>
-                  <el-option label="信息技术" value="3"></el-option>
-                  <el-option label="文化和科技融合" value="4"></el-option>
+                  <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
                 </el-select>
               </el-col>
               <el-col :span="12">
@@ -24,50 +20,10 @@
             <el-table :data="list" style="width: 100%" border>
               <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
               <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
-              <el-table-column prop="field" label="所属技术领域" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.field == '0'
-                      ? '先进制造'
-                      : scoped.row.field == '1'
-                      ? '新材料'
-                      : scoped.row.field == '2'
-                      ? '光电子'
-                      : scoped.row.field == '3'
-                      ? '信息技术'
-                      : scoped.row.field == '4'
-                      ? '文化和科技融合'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="phase" label="研发阶段" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.phase == '0' ? '阶段成果' : scoped.row.phase == '1' ? '最终成果' : '暂无' }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="coopermode" label="合作方式" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.coopermode == '0'
-                      ? '技术转让'
-                      : scoped.row.coopermode == '1'
-                      ? '技术服务'
-                      : scoped.row.coopermode == '2'
-                      ? '技术许可'
-                      : scoped.row.coopermode == '3'
-                      ? '技术融资'
-                      : scoped.row.coopermode == '4'
-                      ? '其他'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="business" label="交易方式" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.business == '0' ? '公用' : scoped.row.business == '1' ? '竞价' : scoped.row.business == '2' ? '转让' : '暂无' }}
-                </template>
-              </el-table-column>
+              <el-table-column prop="field" label="所属领域 " align="center"> </el-table-column>
+              <el-table-column prop="cooperation" label="合作方式 " align="center"> </el-table-column>
+              <el-table-column prop="contacts" label="联系人 " align="center"> </el-table-column>
+              <el-table-column prop="phone" label="联系电话 " align="center"> </el-table-column>
             </el-table>
             <el-col :span="24" class="page">
               <el-pagination
@@ -89,6 +45,7 @@
 <script>
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
 import _ from 'loadsh';
 export default {
   name: 'column',
@@ -101,24 +58,35 @@ export default {
     origin: [], //分割数据
     list: [], //显示数据列表
     total: 0,
-    // 技术领域
+    // 所属领域
+    fieldList: [],
     field: '',
     // 是否我处支持
     radio1: '',
   }),
   created() {
     this.search();
+    this.searchtype();
   },
   methods: {
     ...dock(['query', 'delete', 'update', 'fetch']),
+    ...markettype({ markettypeList: 'query' }),
     async search() {
       let res = await this.fetch(this.user.uid);
       let arr = res.data.apply.map(item => item.goodsList);
       arr = _.flattenDeep(arr);
-      var newArr = arr.filter(item => item.totaltype === '1');
+      var newArr = arr.filter(item => item.type === '1');
       this.$set(this, `applyList`, newArr);
       this.$set(this, `total`, newArr.length);
     },
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+    },
     searchPage(page = 1) {
       this.$set(this, `list`, this.origin[page - 1]);
     },

+ 19 - 51
src/views/adminCenter/statisInfo/parts/technology.vue

@@ -7,11 +7,7 @@
             <el-col :span="24" class="search">
               <el-col :span="5">
                 <el-select v-model="field" filterable clearable placeholder="请选择所属领域" @change="changeField">
-                  <el-option label="先进制造" value="0"></el-option>
-                  <el-option label="新材料" value="1"></el-option>
-                  <el-option label="光电子" value="2"></el-option>
-                  <el-option label="信息技术" value="3"></el-option>
-                  <el-option label="文化和科技融合" value="4"></el-option>
+                  <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
                 </el-select>
               </el-col>
               <el-col :span="12">
@@ -24,50 +20,10 @@
             <el-table :data="list" style="width: 100%" border>
               <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
               <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
-              <el-table-column prop="field" label="所属技术领域" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.field == '0'
-                      ? '先进制造'
-                      : scoped.row.field == '1'
-                      ? '新材料'
-                      : scoped.row.field == '2'
-                      ? '光电子'
-                      : scoped.row.field == '3'
-                      ? '信息技术'
-                      : scoped.row.field == '4'
-                      ? '文化和科技融合'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="phase" label="研发阶段" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.phase == '0' ? '阶段成果' : scoped.row.phase == '1' ? '最终成果' : '暂无' }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="coopermode" label="合作方式" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.coopermode == '0'
-                      ? '技术转让'
-                      : scoped.row.coopermode == '1'
-                      ? '技术服务'
-                      : scoped.row.coopermode == '2'
-                      ? '技术许可'
-                      : scoped.row.coopermode == '3'
-                      ? '技术融资'
-                      : scoped.row.coopermode == '4'
-                      ? '其他'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="business" label="交易方式" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.business == '0' ? '公用' : scoped.row.business == '1' ? '竞价' : scoped.row.business == '2' ? '转让' : '暂无' }}
-                </template>
-              </el-table-column>
+              <el-table-column prop="field" label="所属领域 " align="center"> </el-table-column>
+              <el-table-column prop="cooperation" label="合作方式 " align="center"> </el-table-column>
+              <el-table-column prop="contacts" label="联系人 " align="center"> </el-table-column>
+              <el-table-column prop="phone" label="联系电话 " align="center"> </el-table-column>
             </el-table>
             <el-col :span="24" class="page">
               <el-pagination
@@ -89,6 +45,7 @@
 <script>
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
 import _ from 'loadsh';
 export default {
   name: 'column',
@@ -101,24 +58,35 @@ export default {
     origin: [], //分割数据
     list: [], //显示数据列表
     total: 0,
-    // 技术领域
+    // 所属领域
+    fieldList: [],
     field: '',
     // 是否我处支持
     radio1: '',
   }),
   created() {
     this.search();
+    this.searchtype();
   },
   methods: {
     ...dock(['query', 'delete', 'update', 'fetch']),
+    ...markettype({ markettypeList: 'query' }),
     async search() {
       let res = await this.fetch(this.user.uid);
       let arr = res.data.apply.map(item => item.goodsList);
       arr = _.flattenDeep(arr);
-      var newArr = arr.filter(item => item.totaltype === '0');
+      var newArr = arr.filter(item => item.type === '0');
       this.$set(this, `applyList`, newArr);
       this.$set(this, `total`, newArr.length);
     },
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+    },
     searchPage(page = 1) {
       this.$set(this, `list`, this.origin[page - 1]);
     },

+ 1 - 1
src/views/adminLogin.vue

@@ -8,7 +8,7 @@
             管理登录
           </el-col>
           <el-col :span="24" class="form">
-            <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+            <el-form ref="form" :model="form" :rules="rules" label-width="140px">
               <el-form-item label="手机号&机构代码" prop="phone">
                 <el-input v-model="form.phone" placeholder="请输入手机号&机构代码" :minlength="11" :maxlength="11"></el-input>
               </el-form-item>

+ 160 - 118
src/views/hall/liveApply.vue

@@ -16,49 +16,67 @@
             </el-col>
           </el-col>
           <el-col :span="24" class="info">
-            <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tabs v-model="activeName">
               <el-tab-pane label="需求申请" name="first">
-                <el-form :model="demandForm" :rules="demandFormrules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
+                <el-form :model="demandForm" label-width="150px">
                   <el-form-item label="产品类型" prop="totaltype">
-                    <el-select v-model="demandForm.totaltype" placeholder="请选择产品类型">
+                    <el-select v-model="demandForm.type" placeholder="请选择产品类型">
                       <el-option label="技术" value="0"></el-option>
                       <el-option label="产品" value="1" disabled></el-option>
-                      <el-option label="务" value="2" disabled></el-option>
+                      <el-option label="务" value="2" disabled></el-option>
                     </el-select>
                   </el-form-item>
-                  <el-form-item label="名称" prop="name">
+                  <el-form-item label="名称">
                     <el-input v-model="demandForm.name" placeholder="请输入名称"></el-input>
                   </el-form-item>
-                  <el-form-item label="类型">
-                    <el-select v-model="demandForm.product_type_id" filterable @change="selectChild">
-                      <el-option v-for="(item, index) in columnList" :key="index" :value="item.id" :label="item.name"></el-option>
-                    </el-select>
+                  <el-form-item label="联系人">
+                    <el-input v-model="demandForm.contacts" placeholder="请输入联系人"></el-input>
+                  </el-form-item>
+                  <el-form-item label="联系电话">
+                    <el-input v-model="demandForm.phone" placeholder="请输入联系电话"></el-input>
+                  </el-form-item>
+                  <el-form-item label="QQ&微信">
+                    <el-input v-model="demandForm.qqwx" placeholder="请输入QQ&微信"></el-input>
+                  </el-form-item>
+                  <el-form-item label="电子邮箱">
+                    <el-input v-model="demandForm.email" placeholder="请输入电子邮箱"></el-input>
                   </el-form-item>
-                  <el-form-item label="产品简介">
-                    <el-input type="textarea" v-model="demandForm.introduction" placeholder="请输入产品简介"></el-input>
+                  <el-form-item label="所属领域">
+                    <el-select v-model="demandForm.field" filterable>
+                      <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
+                    </el-select>
                   </el-form-item>
-                  <el-form-item label="研发阶段">
-                    <el-select v-model="demandForm.phase" placeholder="请选择研发阶段">
-                      <el-option label="阶段成果" value="0"></el-option>
-                      <el-option label="最终成果" value="1"></el-option>
+                  <el-form-item label="合作方式">
+                    <el-select v-model="demandForm.cooperation" filterable>
+                      <el-option v-for="(item, index) in cooperationList" :key="index" :value="item.name" :label="item.name"></el-option>
                     </el-select>
                   </el-form-item>
-                  <el-row>
-                    <el-col :span="12">
-                      <el-form-item label="产品单价">
-                        <el-input v-model="demandForm.price" placeholder="请输入产品单价"></el-input>
-                      </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                      <el-form-item label="产品单位">
-                        <el-select v-model="demandForm.priceunit" placeholder="请选择产品单位">
-                          <el-option label="公斤" value="0"></el-option>
-                          <el-option label="套" value="1"></el-option>
-                          <el-option label="件" value="2"></el-option>
-                        </el-select>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
+                  <el-form-item label="企业名称">
+                    <el-input v-model="demandForm.company" placeholder="请输入企业名称"></el-input>
+                  </el-form-item>
+                  <el-form-item label="企业简介">
+                    <el-input
+                      v-model="demandForm.companybrief"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入企业简介"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="企业网站">
+                    <el-input v-model="demandForm.companyweb" placeholder="请输入企业网站"></el-input>
+                  </el-form-item>
+                  <el-form-item label="合作条件及要求">
+                    <el-input
+                      v-model="demandForm.condition"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入合作条件及要求"
+                    ></el-input>
+                  </el-form-item>
                   <el-form-item label="产品图片" prop="image">
                     <upload
                       :limit="6"
@@ -70,74 +88,93 @@
                       @delete="uploadDelete"
                     ></upload>
                   </el-form-item>
-                  <span>
-                    <el-form-item label="所属领域">
-                      <el-select v-model="demandForm.field" placeholder="请选择所属领域">
-                        <el-option label="先进制造" value="0"></el-option>
-                        <el-option label="新材料" value="1"></el-option>
-                        <el-option label="光电子" value="2"></el-option>
-                        <el-option label="信息技术" value="3"></el-option>
-                        <el-option label="文化和科技融合" value="4"></el-option>
-                      </el-select>
-                    </el-form-item>
-                  </span>
-                  <el-form-item label="服务范围">
-                    <el-input type="textarea" v-model="demandForm.scope" placeholder="请输入服务范围"></el-input>
-                  </el-form-item>
-                  <el-form-item label="合作方式">
-                    <el-select v-model="demandForm.coopermode" placeholder="请选择合作方式">
-                      <el-option label="技术转让" value="0"></el-option>
-                      <el-option label="技术服务" value="1"></el-option>
-                      <el-option label="技术许可" value="2"></el-option>
-                      <el-option label="技术融资" value="3"></el-option>
-                      <el-option label="其他" value="4"></el-option>
-                    </el-select>
+                  <el-form-item label="投资预算">
+                    <el-input v-model="demandForm.budget" placeholder="请输入投资预算"></el-input>
                   </el-form-item>
-                  <el-form-item label="交易方式">
-                    <el-select v-model="demandForm.business" placeholder="请选择交易方式">
-                      <el-option label="公用" value="0"></el-option>
-                      <el-option label="竞价" value="1"></el-option>
-                      <el-option label="转让" value="2"></el-option>
-                    </el-select>
+                  <el-form-item label="注册类型">
+                    <el-input v-model="demandForm.companytype" placeholder="请输入注册类型"></el-input>
                   </el-form-item>
-                  <el-form-item label="投入预算">
-                    <el-input v-model="demandForm.budget" placeholder="请输入投入预算"></el-input>
+                  <el-form-item label="组织机构代码">
+                    <el-input v-model="demandForm.zzjgdm" placeholder="请输入组织机构代码"></el-input>
                   </el-form-item>
-                  <el-form-item label="需求截止日期">
-                    <el-date-picker v-model="demandForm.end_date" type="date" placeholder="请选择需求截止日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                  <el-form-item label="注册时间">
+                    <el-date-picker v-model="demandForm.companydate" type="date" placeholder="请选择时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
                     </el-date-picker>
                   </el-form-item>
-                  <el-form-item>
-                    <span slot="label">
-                      <el-popover
-                        placement="top-start"
-                        width="200"
-                        trigger="hover"
-                        content="(阐述在生产经营、项目建设、科研活动、产业化方向中遇到的技术难题或瓶颈问题及需达到的技术指标)"
-                      >
-                        <span slot="reference" style="color:#409eff">难题或瓶颈问题</span>
-                      </el-popover>
-                    </span>
-                    <el-input type="textarea" v-model="demandForm.difficult_problem" placeholder="请输入难题或瓶颈问题"></el-input>
+                  <el-form-item label="注册资金">
+                    <el-input v-model="demandForm.companycapital" placeholder="请输入注册资金"></el-input>
                   </el-form-item>
-                  <el-form-item>
-                    <span slot="label">
-                      <el-popover
-                        placement="top-start"
-                        width="200"
-                        trigger="hover"
-                        content="(企业承接成果、技术所具备的技术人员、设备、资金等基础条件及其他配套条件)"
-                      >
-                        <span slot="reference" style="color:#409eff">企业解决技术需求已具备的条件</span>
-                      </el-popover>
-                    </span>
-                    <el-input type="textarea" v-model="demandForm.demand" placeholder="请输入企业解决需求"></el-input>
-                  </el-form-item>
-                  <el-form-item label="联系人" prop="contact_user">
-                    <el-input v-model="demandForm.contact_user" placeholder="请输入联系人"></el-input>
-                  </el-form-item>
-                  <el-form-item label="联系电话" prop="contact_tel">
-                    <el-input v-model.number="demandForm.contact_tel" placeholder="请输入联系电话" maxlength="11"></el-input>
+                  <el-form-item label="企业法人">
+                    <el-input v-model="demandForm.companyperson" placeholder="请输入企业法人"></el-input>
+                  </el-form-item>
+                  <el-form-item label="上年度企业总收入">
+                    <el-input v-model="demandForm.sndqyzsr" placeholder="请输入上年度企业总收入"></el-input>
+                  </el-form-item>
+                  <el-form-item label="上年度研发费用">
+                    <el-input v-model="demandForm.sndyffy" placeholder="请输入上年度研发费用"></el-input>
+                  </el-form-item>
+                  <el-form-item label="企业总人数">
+                    <el-input v-model="demandForm.companytotal" placeholder="请输入企业总人数"></el-input>
+                  </el-form-item>
+                  <el-form-item label="专&兼职研发人数">
+                    <el-input v-model="demandForm.zjzyfrs" placeholder="请输入专&兼职研发人数"></el-input>
+                  </el-form-item>
+                  <el-form-item label="需求紧急程度">
+                    <el-radio-group v-model="demandForm.degreeurgency">
+                      <el-radio label="特急"></el-radio>
+                      <el-radio label="一般"></el-radio>
+                      <el-radio label="储备"></el-radio>
+                    </el-radio-group>
+                  </el-form-item>
+                  <el-form-item label="技术难题&需求说明">
+                    <el-input
+                      v-model="demandForm.requirementdesc"
+                      type="textarea"
+                      maxlength="500"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入技术难题&需求说明"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="预期技术目标描述">
+                    <el-input
+                      v-model="demandForm.expect"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入预期技术目标描述"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="需求现状及应对措施">
+                    <el-input
+                      v-model="demandForm.present"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入需求现状及应对措施"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="主要产品">
+                    <el-input
+                      v-model="demandForm.mainproduct"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入主要产品"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="企业资质&荣誉">
+                    <el-input
+                      v-model="demandForm.qualifications"
+                      type="textarea"
+                      maxlength="300"
+                      show-word-limit
+                      :autosize="{ minRows: 2, maxRows: 5 }"
+                      placeholder="请输入企业资质&荣誉"
+                    ></el-input>
                   </el-form-item>
                   <el-form-item>
                     <el-button @click="resetForm('ruleForm')">取消</el-button>
@@ -146,7 +183,7 @@
                 </el-form>
               </el-tab-pane>
               <el-tab-pane label="产品申请" name="second">
-                <el-form :model="productForm" :rules="productFormrules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                <el-form :model="productForm" label-width="100px">
                   <el-form-item label="选择产品">
                     <el-select v-model="productForm.goodsList" value-key="id" multiple placeholder="请选择选择产品">
                       <el-option v-for="(item, index) in goodsLists" :key="index" :label="item.name" :value="item"> </el-option>
@@ -185,20 +222,25 @@ export default {
     activeName: 'first',
     // 需求
     demandForm: {
-      totaltype: '0',
+      type: '0',
     },
-    columnList: [], //类型
     demandFormrules: {
-      name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
-      totaltype: [{ required: true, message: '请输入名称', trigger: 'change' }],
-      contact_user: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
-      contact_tel: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
+      // name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+      // totaltype: [{ required: true, message: '请输入名称', trigger: 'change' }],
+      // contact_user: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
+      // contact_tel: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
     },
     // 技术
     productForm: {},
-    productFormrules: {},
     // 产品类别
     goodsLists: [],
+    // 字典表
+    // 所属领域
+    fieldList: [],
+    // 成果状态
+    achievestatusList: [],
+    // 合作方式
+    cooperationList: [],
   }),
   created() {
     this.maarkettype();
@@ -243,23 +285,26 @@ export default {
       }
     },
     // 查询类型
-    async maarkettype({ category = 54, ...info } = {}) {
-      const res = await this.markettypeList({ category, ...info });
+    async maarkettype({ ...info } = {}) {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
       if (this.$checkRes(res)) {
-        this.$set(this, `columnList`, res.data);
+        this.$set(this, `fieldList`, res.data);
       }
-      const arr = await this.mapProductQuery({ userid: this.user.uid });
-      if (this.$checkRes(arr)) {
-        this.$set(this, `goodsLists`, arr.data);
+      // 成果状态;
+      res = await this.markettypeList({ category: '02' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `achievestatusList`, res.data);
       }
-    },
-    // 类型选择
-    selectChild(product_type_id) {
-      let res = this.columnList.filter(fil => fil.id === product_type_id);
-      if (res.length > 0) {
-        this.$set(this.demandForm, `product_type_name`, res[0].name);
+      // 合作方式;
+      res = await this.markettypeList({ category: '03' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `cooperationList`, res.data);
+      }
+      res = await this.mapProductQuery({ userid: this.user.uid });
+      if (this.$checkRes(res)) {
+        this.$set(this, `goodsLists`, res.data);
       }
-      this.$forceUpdate();
     },
     // 图片
     uploadSuccess({ type, data }) {
@@ -274,10 +319,7 @@ export default {
     },
     // 删除图片
     uploadDelete(index) {
-      this.demandForm.image.splice(index, 1);
-    },
-    handleClick(tab, event) {
-      console.log(tab, event);
+      this.form.image.splice(index, 1);
     },
   },
   computed: {

+ 133 - 124
src/views/superAdminCenter/user/index.vue

@@ -23,38 +23,48 @@
             <el-form-item label="手机号" prop="phone">
               <el-input v-model="form.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
             </el-form-item>
-            <el-form-item label="登录密码" prop="password">
-              <el-input v-model="form.password" placeholder="请输入登录密码" show-password></el-input>
-            </el-form-item>
-            <el-form-item label="身份证号" prop="cardnumber">
-              <el-input v-model="form.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
-            </el-form-item>
-            <el-form-item label="邮箱" prop="email">
-              <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
-            </el-form-item>
-            <el-form-item label="地址" prop="addr">
-              <el-input v-model="form.addr" placeholder="请输入地址"></el-input>
-            </el-form-item>
-            <el-form-item label="头像图片" prop="img_path">
-              <upload :limit="1" :data="form.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
             <el-form-item label="用户类别" prop="role">
               <el-radio-group v-model="form.role">
                 <el-radio label="4">个人</el-radio>
-                <el-radio label="5">企业管理员</el-radio>
+                <el-radio label="5">机构管理员</el-radio>
                 <el-radio label="6">专家</el-radio>
               </el-radio-group>
             </el-form-item>
-            <el-form-item label="身份证正面" v-if="form.role == '4' || form.role == '5'" prop="cardfile_a">
-              <upload :limit="1" :data="form.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <el-form-item label="身份证背面" v-if="form.role == '4' || form.role == '5'" prop="cardfile_b">
-              <upload :limit="1" :data="form.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <el-form-item label="组织机构图片" v-if="form.role == '5'" prop="img_qy">
-              <upload :limit="1" :data="form.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <template v-if="form.role == '5'">
+            <span v-if="form.role == '4' || form.role == '5'">
+              <el-form-item label="身份证号" prop="cardnumber">
+                <el-input v-model="form.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
+              </el-form-item>
+              <el-form-item label="邮箱" prop="email">
+                <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
+              </el-form-item>
+              <el-form-item label="地址" prop="addr">
+                <el-input v-model="form.addr" placeholder="请输入地址"></el-input>
+              </el-form-item>
+              <el-form-item label="头像图片" prop="img_path">
+                <upload :limit="1" :data="form.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="身份证正面" prop="cardfile_a">
+                <upload :limit="1" :data="form.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="身份证背面" prop="cardfile_b">
+                <upload :limit="1" :data="form.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="办公电话" prop="office_phone">
+                <el-input v-model="form.office_phone" placeholder="请输入办公电话"></el-input>
+              </el-form-item>
+              <el-form-item label="所属行业" prop="profession">
+                <el-input v-model="form.profession" placeholder="请输入所属行业"></el-input>
+              </el-form-item>
+            </span>
+            <span v-if="form.role == '4'">
+              <el-form-item label="个人简历" v-if="form.role == '4'">
+                <el-input type="textarea" v-model="form.resume" placeholder="请输入个人简介"></el-input>
+              </el-form-item>
+            </span>
+            <span v-else-if="form.role == '5'">
+              <el-form-item label="组织机构图片" v-if="form.role == '5'" prop="img_qy">
+                <upload :limit="1" :data="form.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
               <el-form-item label="机构类型" prop="institution_type">
                 <el-input v-model="form.institution_type" placeholder="请输入机构类型"></el-input>
               </el-form-item>
@@ -67,64 +77,86 @@
               <el-form-item label="机构性质" prop="institution_nature">
                 <el-input v-model="form.institution_nature" placeholder="请输入机构性质"></el-input>
               </el-form-item>
-            </template>
-            <el-form-item label="办公电话" v-if="form.role == '4' || form.role == '5'" prop="office_phone">
-              <el-input v-model="form.office_phone" placeholder="请输入办公电话"></el-input>
-            </el-form-item>
-            <el-form-item label="所属行业" v-if="form.role == '4' || form.role == '5'" prop="profession">
-              <el-input v-model="form.profession" placeholder="请输入所属行业"></el-input>
-            </el-form-item>
-            <el-form-item label="性别" v-if="form.role == '6'" prop="gender">
-              <el-select v-model="form.gender" placeholder="请选择民性别">
-                <el-option v-for="(item, index) in gender_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="出生日期" v-if="form.role == '6'" prop="birthday">
-              <el-date-picker v-model="form.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
-            </el-form-item>
-            <el-form-item label="职称级别" v-if="form.role == '6'" prop="level">
-              <el-input v-model="form.level" placeholder="请输入职称级别"></el-input>
-            </el-form-item>
-            <el-form-item label="职称" v-if="form.role == '6'" prop="levelname">
-              <el-input v-model="form.levelname" placeholder="请输入职称"></el-input>
-            </el-form-item>
-            <el-form-item label="职务" v-if="form.role == '6'" prop="position">
-              <el-input v-model="form.position" placeholder="请输入职务"></el-input>
-            </el-form-item>
-            <el-form-item label="院校" v-if="form.role == '6'" prop="school">
-              <el-input v-model="form.school" placeholder="请输入院校"></el-input>
-            </el-form-item>
-            <el-form-item label="学历" v-if="form.role == '6'" prop="xl">
-              <el-select v-model="form.xl" placeholder="请选择学历要求">
-                <el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="学位" v-if="form.role == '6'" prop="xw">
-              <el-select v-model="form.xw" placeholder="请选择学位">
-                <el-option v-for="(item, index) in degree_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="专业" v-if="form.role == '6'" prop="major">
-              <el-input v-model="form.major" placeholder="请输入专业"></el-input>
-            </el-form-item>
-            <el-form-item label="从事专业" v-if="form.role == '6'" prop="professional">
-              <el-input v-model="form.professional" placeholder="请输入从事专业"></el-input>
-            </el-form-item>
-            <el-form-item label="个人简历" v-if="form.role == '4' || form.role == '6'" prop="resume">
-              <el-input type="textarea" v-model="form.resume" placeholder="请输入个人简介"></el-input>
-            </el-form-item>
-            <el-form-item label="项目" v-if="form.role == '6'" prop="project">
-              <el-input v-model="form.project" placeholder="请输入项目"></el-input>
-            </el-form-item>
-            <el-form-item label="学术成就" v-if="form.role == '6'" prop="academic">
-              <el-input v-model="form.academic" placeholder="请输入学术成就"></el-input>
-            </el-form-item>
-            <el-form-item label="论文" v-if="form.role == '6'" prop="paper">
-              <el-input v-model="form.paper" placeholder="请输入论文"></el-input>
-            </el-form-item>
-            <el-form-item label="备注" v-if="form.role == '6'" prop="remark">
-              <el-input v-model="form.remark" placeholder="请输入备注"></el-input>
-            </el-form-item>
+            </span>
+            <span v-else-if="form.role == '6'">
+              <el-form-item label="头像">
+                <upload :limit="1" :data="form.expertimage" type="expertimage" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="最高学历">
+                <el-input v-model="form.education" placeholder="请输入最高学历"></el-input>
+              </el-form-item>
+              <el-form-item label="毕业院校">
+                <el-input v-model="form.school" placeholder="请输入毕业院校"></el-input>
+              </el-form-item>
+              <el-form-item label="出生日期">
+                <el-date-picker v-model="form.birthDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
+              </el-form-item>
+              <el-form-item label="QQ&微信">
+                <el-input v-model="form.qqwx" placeholder="请输入QQ&微信"></el-input>
+              </el-form-item>
+              <el-form-item label="电子邮箱">
+                <el-input v-model="form.email" placeholder="请输入电子邮箱"></el-input>
+              </el-form-item>
+              <el-form-item label="工作单位">
+                <el-input v-model="form.company" placeholder="请输入工作单位"></el-input>
+              </el-form-item>
+              <el-form-item label="职务职称">
+                <el-input v-model="form.zwzc" placeholder="请输入职务职称"></el-input>
+              </el-form-item>
+              <el-form-item label="擅长领域">
+                <el-input v-model="form.expertise" placeholder="请输入擅长领域"></el-input>
+              </el-form-item>
+              <el-form-item label="工作经历">
+                <el-input
+                  v-model="form.workexperience"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入工作经历"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="科研综述">
+                <el-input
+                  v-model="form.scientific"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入科研综述"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="承担项目">
+                <el-input
+                  v-model="form.undertakingproject"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入承担项目"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="科技奖励">
+                <el-input
+                  v-model="form.scienceaward"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入科技奖励"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="社会任职">
+                <el-input
+                  v-model="form.social"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入社会任职"
+                ></el-input>
+              </el-form-item>
+            </span>
             <el-form-item>
               <el-button @click="handleClose">返回</el-button>
               <el-button type="primary" @click="handleSave()">提交</el-button>
@@ -175,49 +207,14 @@ export default {
       total: 0,
       dialog: false,
       form: {},
-      // 性别
-      gender_list: [
-        {
-          name: '男',
-        },
-        {
-          name: '女',
-        },
-      ],
-      // 学历
-      edu_list: [
-        {
-          name: '中专及以上',
-        },
-        {
-          name: '大专及以上',
-        },
-        {
-          name: '本科及以上',
-        },
-        {
-          name: '研究生及以上',
-        },
-      ],
-      // 学位
-      degree_list: [
-        {
-          name: '学士',
-        },
-        {
-          name: '博士',
-        },
-        {
-          name: '其他',
-        },
-      ],
+      editData: {},
     };
   },
   created() {
     this.search();
   },
   methods: {
-    ...users(['create', 'query', 'update', 'delete', 'userquery']),
+    ...users(['fetch', 'create', 'query', 'update', 'delete', 'userquery']),
     ...expertsuser({ exportuserFetch: 'fetch', exportuserCreate: 'create', exportuserUpdate: 'update' }),
     async search({ skip = 0, limit = 10, pid = '', ...info } = {}) {
       if (this.user.code == 'JLCJGLY') {
@@ -239,13 +236,25 @@ export default {
       console.log('添加');
     },
     // 修改
-    toEdit({ data }) {
-      this.$set(this, 'form', data);
+    async toEdit({ data }) {
+      if (data.role == '6') {
+        const res = await this.exportuserFetch(data.uid);
+        if (this.$checkRes(res)) {
+          this.$set(this, `form`, res.data);
+        }
+      } else {
+        const res = await this.fetch(data.uid);
+        if (this.$checkRes(res)) {
+          this.$set(this, `form`, res.data);
+        }
+      }
+      this.$set(this, `editData`, data);
       this.dialog = true;
     },
     // 提交
     async handleSave() {
-      let data = this.form;
+      let data = this.editData;
+      data.status = this.form.status;
       if (data.role == '4' || data.role == '5') {
         data.id = data.uid;
         let res = await this.update(data);

+ 146 - 147
src/views/userCenter/basicInfo/index.vue

@@ -20,34 +20,46 @@
             </el-form-item>
             <el-form-item label="用户类别" prop="role">
               <el-radio-group v-model="form.role">
-                <!-- <el-radio label="7" disabled>临时用户</el-radio> -->
                 <el-radio label="4">个人</el-radio>
-                <el-radio label="5">机构用户</el-radio>
+                <el-radio label="5">机构管理员</el-radio>
                 <el-radio label="6">专家</el-radio>
               </el-radio-group>
             </el-form-item>
-            <el-form-item label="身份证号" prop="cardnumber" v-if="form.role == '4' || form.role == '5' || form.role == '6'">
-              <el-input v-model="form.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
-            </el-form-item>
-            <el-form-item label="邮箱" prop="email" v-if="form.role == '4' || form.role == '5' || form.role == '6'">
-              <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
-            </el-form-item>
-            <el-form-item label="地址" prop="addr" v-if="form.role == '4' || form.role == '5' || form.role == '6'">
-              <el-input v-model="form.addr" placeholder="请输入地址"></el-input>
-            </el-form-item>
-            <el-form-item label="头像图片" prop="img_path" v-if="form.role == '4' || form.role == '5' || form.role == '6'">
-              <upload :limit="1" :data="form.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <el-form-item label="身份证正面" v-if="form.role == '4' || form.role == '5'" prop="cardfile_a">
-              <upload :limit="1" :data="form.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <el-form-item label="身份证背面" v-if="form.role == '4' || form.role == '5'" prop="cardfile_b">
-              <upload :limit="1" :data="form.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <el-form-item label="组织机构图片" v-if="form.role == '5'" prop="img_qy">
-              <upload :limit="1" :data="form.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
-            </el-form-item>
-            <template v-if="form.role == '5'">
+            <span v-if="form.role == '4' || form.role == '5'">
+              <el-form-item label="身份证号" prop="cardnumber">
+                <el-input v-model="form.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
+              </el-form-item>
+              <el-form-item label="邮箱" prop="email">
+                <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
+              </el-form-item>
+              <el-form-item label="地址" prop="addr">
+                <el-input v-model="form.addr" placeholder="请输入地址"></el-input>
+              </el-form-item>
+              <el-form-item label="头像图片" prop="img_path">
+                <upload :limit="1" :data="form.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="身份证正面" prop="cardfile_a">
+                <upload :limit="1" :data="form.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="身份证背面" prop="cardfile_b">
+                <upload :limit="1" :data="form.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="办公电话" prop="office_phone">
+                <el-input v-model="form.office_phone" placeholder="请输入办公电话"></el-input>
+              </el-form-item>
+              <el-form-item label="所属行业" prop="profession">
+                <el-input v-model="form.profession" placeholder="请输入所属行业"></el-input>
+              </el-form-item>
+            </span>
+            <span v-if="form.role == '4'">
+              <el-form-item label="个人简历" v-if="form.role == '4'">
+                <el-input type="textarea" v-model="form.resume" placeholder="请输入个人简介"></el-input>
+              </el-form-item>
+            </span>
+            <span v-else-if="form.role == '5'">
+              <el-form-item label="组织机构图片" v-if="form.role == '5'" prop="img_qy">
+                <upload :limit="1" :data="form.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
               <el-form-item label="机构类型" prop="institution_type">
                 <el-input v-model="form.institution_type" placeholder="请输入机构类型"></el-input>
               </el-form-item>
@@ -60,64 +72,86 @@
               <el-form-item label="机构性质" prop="institution_nature">
                 <el-input v-model="form.institution_nature" placeholder="请输入机构性质"></el-input>
               </el-form-item>
-            </template>
-            <el-form-item label="办公电话" v-if="form.role == '4' || form.role == '5'" prop="office_phone">
-              <el-input v-model="form.office_phone" placeholder="请输入办公电话"></el-input>
-            </el-form-item>
-            <el-form-item label="所属行业" v-if="form.role == '4' || form.role == '5'" prop="profession">
-              <el-input v-model="form.profession" placeholder="请输入所属行业"></el-input>
-            </el-form-item>
-            <el-form-item label="性别" v-if="form.role == '6'" prop="gender">
-              <el-select v-model="form.gender" placeholder="请选择民性别">
-                <el-option v-for="(item, index) in gender_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="出生日期" v-if="form.role == '6'" prop="birthday">
-              <el-date-picker v-model="form.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
-            </el-form-item>
-            <el-form-item label="职称级别" v-if="form.role == '6'" prop="level">
-              <el-input v-model="form.level" placeholder="请输入职称级别"></el-input>
-            </el-form-item>
-            <el-form-item label="职称" v-if="form.role == '6'" prop="levelname">
-              <el-input v-model="form.levelname" placeholder="请输入职称"></el-input>
-            </el-form-item>
-            <el-form-item label="职务" v-if="form.role == '6'" prop="position">
-              <el-input v-model="form.position" placeholder="请输入职务"></el-input>
-            </el-form-item>
-            <el-form-item label="院校" v-if="form.role == '6'" prop="school">
-              <el-input v-model="form.school" placeholder="请输入院校"></el-input>
-            </el-form-item>
-            <el-form-item label="学历" v-if="form.role == '6'" prop="xl">
-              <el-select v-model="form.xl" placeholder="请选择学历要求">
-                <el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="学位" v-if="form.role == '6'" prop="xw">
-              <el-select v-model="form.xw" placeholder="请选择学位">
-                <el-option v-for="(item, index) in degree_list" :key="index" :label="item.name" :value="item.name"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="专业" v-if="form.role == '6'" prop="major">
-              <el-input v-model="form.major" placeholder="请输入专业"></el-input>
-            </el-form-item>
-            <el-form-item label="从事专业" v-if="form.role == '6'" prop="professional">
-              <el-input v-model="form.professional" placeholder="请输入从事专业"></el-input>
-            </el-form-item>
-            <el-form-item label="个人简历" v-if="form.role == '4' || form.role == '6'" prop="resume">
-              <el-input type="textarea" v-model="form.resume" placeholder="请输入个人简介"></el-input>
-            </el-form-item>
-            <el-form-item label="项目" v-if="form.role == '6'" prop="project">
-              <el-input v-model="form.project" placeholder="请输入项目"></el-input>
-            </el-form-item>
-            <el-form-item label="学术成就" v-if="form.role == '6'" prop="academic">
-              <el-input v-model="form.academic" placeholder="请输入学术成就"></el-input>
-            </el-form-item>
-            <el-form-item label="论文" v-if="form.role == '6'" prop="paper">
-              <el-input v-model="form.paper" placeholder="请输入论文"></el-input>
-            </el-form-item>
-            <el-form-item label="备注" v-if="form.role == '6'" prop="remark">
-              <el-input v-model="form.remark" placeholder="请输入备注"></el-input>
-            </el-form-item>
+            </span>
+            <span v-else-if="form.role == '6'">
+              <el-form-item label="头像">
+                <upload :limit="1" :data="form.expertimage" type="expertimage" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+              </el-form-item>
+              <el-form-item label="最高学历">
+                <el-input v-model="form.education" placeholder="请输入最高学历"></el-input>
+              </el-form-item>
+              <el-form-item label="毕业院校">
+                <el-input v-model="form.school" placeholder="请输入毕业院校"></el-input>
+              </el-form-item>
+              <el-form-item label="出生日期">
+                <el-date-picker v-model="form.birthDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
+              </el-form-item>
+              <el-form-item label="QQ&微信">
+                <el-input v-model="form.qqwx" placeholder="请输入QQ&微信"></el-input>
+              </el-form-item>
+              <el-form-item label="电子邮箱">
+                <el-input v-model="form.email" placeholder="请输入电子邮箱"></el-input>
+              </el-form-item>
+              <el-form-item label="工作单位">
+                <el-input v-model="form.company" placeholder="请输入工作单位"></el-input>
+              </el-form-item>
+              <el-form-item label="职务职称">
+                <el-input v-model="form.zwzc" placeholder="请输入职务职称"></el-input>
+              </el-form-item>
+              <el-form-item label="擅长领域">
+                <el-input v-model="form.expertise" placeholder="请输入擅长领域"></el-input>
+              </el-form-item>
+              <el-form-item label="工作经历">
+                <el-input
+                  v-model="form.workexperience"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入工作经历"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="科研综述">
+                <el-input
+                  v-model="form.scientific"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入科研综述"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="承担项目">
+                <el-input
+                  v-model="form.undertakingproject"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入承担项目"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="科技奖励">
+                <el-input
+                  v-model="form.scienceaward"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入科技奖励"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="社会任职">
+                <el-input
+                  v-model="form.social"
+                  type="textarea"
+                  maxlength="300"
+                  show-word-limit
+                  :autosize="{ minRows: 2, maxRows: 5 }"
+                  placeholder="请输入社会任职"
+                ></el-input>
+              </el-form-item>
+            </span>
             <el-form-item label="用户审核状态" prop="status" v-if="form.status == '3'">
               <el-radio-group v-model="form.status">
                 <el-radio label="0">待审核</el-radio>
@@ -153,75 +187,39 @@ export default {
   },
   data: function() {
     return {
-      // 性别
-      gender_list: [
-        {
-          name: '男',
-        },
-        {
-          name: '女',
-        },
-      ],
-      // 学历
-      edu_list: [
-        {
-          name: '中专及以上',
-        },
-        {
-          name: '大专及以上',
-        },
-        {
-          name: '本科及以上',
-        },
-        {
-          name: '研究生及以上',
-        },
-      ],
-      // 学位
-      degree_list: [
-        {
-          name: '学士',
-        },
-        {
-          name: '博士',
-        },
-        {
-          name: '其他',
-        },
-      ],
       rules: {
         name: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
         phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
         password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
-        cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
-        email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
-        addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
-        img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
         role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
-        cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
-        cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
-        img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
-        institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
-        institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
-        institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
-        institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
-        office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
-        profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-        gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
-        birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
-        level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-        levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-        position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
-        school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
-        xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
-        xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
-        major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
-        professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-        resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
-        project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
-        academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
-        paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
-        remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
+        // cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
+        // email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
+        // addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
+        // img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
+        // cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
+        // cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
+        // img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
+        // institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
+        // institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
+        // institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
+        // institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
+        // office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
+        // profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        // gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
+        // birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
+        // level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        // levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        // position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
+        // school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
+        // xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
+        // xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
+        // major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
+        // professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        // resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
+        // project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
+        // academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
+        // paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
+        // remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
       },
       form: {},
       qc: '',
@@ -235,7 +233,7 @@ export default {
     ...market(['fetch', 'update']),
     ...expertsuser({ expertsuserFetch: 'fetch', expertsuserUpdate: 'update', expertsuserUpgrade: 'upgrade' }),
     async searchInfo() {
-      if (this.user.role == '4' || this.user.role == '5' || this.user.role == '7') {
+      if (this.user.role == '4' || this.user.role == '5') {
         let res = await this.fetch(this.user.userid);
         if (res.errcode === 0) {
           this.$set(this, `form`, res.data);
@@ -243,6 +241,7 @@ export default {
       } else if (this.user.role == '6') {
         let res = await this.expertsuserFetch(this.user.userid);
         if (res.errcode === 0) {
+          console.log(res);
           this.$set(this, `form`, res.data);
         }
       }

+ 165 - 119
src/views/userCenter/dockInfo/part/nextLive.vue

@@ -28,47 +28,65 @@
     <el-dialog title="申请" :visible.sync="dialogFormVisible" :before-close="handleClose">
       <el-tabs v-model="activeName">
         <el-tab-pane label="技术需求" name="first">
-          <el-form :model="demandForm" :rules="demandFormrules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
+          <el-form :model="demandForm" label-width="150px">
             <el-form-item label="产品类型" prop="totaltype">
-              <el-select v-model="demandForm.totaltype" placeholder="请选择产品类型">
+              <el-select v-model="demandForm.type" placeholder="请选择产品类型">
                 <el-option label="技术" value="0"></el-option>
                 <el-option label="产品" value="1" disabled></el-option>
-                <el-option label="务" value="2" disabled></el-option>
+                <el-option label="务" value="2" disabled></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="名称" prop="name">
+            <el-form-item label="名称">
               <el-input v-model="demandForm.name" placeholder="请输入名称"></el-input>
             </el-form-item>
-            <el-form-item label="类型">
-              <el-select v-model="demandForm.product_type_id" filterable @change="selectChild">
-                <el-option v-for="(item, index) in columnList" :key="index" :value="item.id" :label="item.name"></el-option>
-              </el-select>
+            <el-form-item label="联系人">
+              <el-input v-model="demandForm.contacts" placeholder="请输入联系人"></el-input>
+            </el-form-item>
+            <el-form-item label="联系电话">
+              <el-input v-model="demandForm.phone" placeholder="请输入联系电话"></el-input>
+            </el-form-item>
+            <el-form-item label="QQ&微信">
+              <el-input v-model="demandForm.qqwx" placeholder="请输入QQ&微信"></el-input>
             </el-form-item>
-            <el-form-item label="产品简介">
-              <el-input type="textarea" v-model="demandForm.introduction" placeholder="请输入产品简介"></el-input>
+            <el-form-item label="电子邮箱">
+              <el-input v-model="demandForm.email" placeholder="请输入电子邮箱"></el-input>
+            </el-form-item>
+            <el-form-item label="所属领域">
+              <el-select v-model="demandForm.field" filterable>
+                <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
+              </el-select>
             </el-form-item>
-            <el-form-item label="研发阶段">
-              <el-select v-model="demandForm.phase" placeholder="请选择研发阶段">
-                <el-option label="阶段成果" value="0"></el-option>
-                <el-option label="最终成果" value="1"></el-option>
+            <el-form-item label="合作方式">
+              <el-select v-model="demandForm.cooperation" filterable>
+                <el-option v-for="(item, index) in cooperationList" :key="index" :value="item.name" :label="item.name"></el-option>
               </el-select>
             </el-form-item>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="产品单价">
-                  <el-input v-model="demandForm.price" placeholder="请输入产品单价"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="产品单位">
-                  <el-select v-model="demandForm.priceunit" placeholder="请选择产品单位">
-                    <el-option label="公斤" value="0"></el-option>
-                    <el-option label="套" value="1"></el-option>
-                    <el-option label="件" value="2"></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
+            <el-form-item label="企业名称">
+              <el-input v-model="demandForm.company" placeholder="请输入企业名称"></el-input>
+            </el-form-item>
+            <el-form-item label="企业简介">
+              <el-input
+                v-model="demandForm.companybrief"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入企业简介"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="企业网站">
+              <el-input v-model="demandForm.companyweb" placeholder="请输入企业网站"></el-input>
+            </el-form-item>
+            <el-form-item label="合作条件及要求">
+              <el-input
+                v-model="demandForm.condition"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入合作条件及要求"
+              ></el-input>
+            </el-form-item>
             <el-form-item label="产品图片" prop="image">
               <upload
                 :limit="6"
@@ -80,74 +98,93 @@
                 @delete="uploadDelete"
               ></upload>
             </el-form-item>
-            <span>
-              <el-form-item label="所属领域">
-                <el-select v-model="demandForm.field" placeholder="请选择所属领域">
-                  <el-option label="先进制造" value="0"></el-option>
-                  <el-option label="新材料" value="1"></el-option>
-                  <el-option label="光电子" value="2"></el-option>
-                  <el-option label="信息技术" value="3"></el-option>
-                  <el-option label="文化和科技融合" value="4"></el-option>
-                </el-select>
-              </el-form-item>
-            </span>
-            <el-form-item label="服务范围">
-              <el-input type="textarea" v-model="demandForm.scope" placeholder="请输入服务范围"></el-input>
+            <el-form-item label="投资预算">
+              <el-input v-model="demandForm.budget" placeholder="请输入投资预算"></el-input>
             </el-form-item>
-            <el-form-item label="合作方式">
-              <el-select v-model="demandForm.coopermode" placeholder="请选择合作方式">
-                <el-option label="技术转让" value="0"></el-option>
-                <el-option label="技术服务" value="1"></el-option>
-                <el-option label="技术许可" value="2"></el-option>
-                <el-option label="技术融资" value="3"></el-option>
-                <el-option label="其他" value="4"></el-option>
-              </el-select>
+            <el-form-item label="注册类型">
+              <el-input v-model="demandForm.companytype" placeholder="请输入注册类型"></el-input>
             </el-form-item>
-            <el-form-item label="交易方式">
-              <el-select v-model="demandForm.business" placeholder="请选择交易方式">
-                <el-option label="公用" value="0"></el-option>
-                <el-option label="竞价" value="1"></el-option>
-                <el-option label="转让" value="2"></el-option>
-              </el-select>
+            <el-form-item label="组织机构代码">
+              <el-input v-model="demandForm.zzjgdm" placeholder="请输入组织机构代码"></el-input>
             </el-form-item>
-            <el-form-item label="投入预算">
-              <el-input v-model="demandForm.budget" placeholder="请输入投入预算"></el-input>
-            </el-form-item>
-            <el-form-item label="需求截止日期">
-              <el-date-picker v-model="demandForm.end_date" type="date" placeholder="请选择需求截止日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+            <el-form-item label="注册时间">
+              <el-date-picker v-model="demandForm.companydate" type="date" placeholder="请选择时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
               </el-date-picker>
             </el-form-item>
-            <el-form-item>
-              <span slot="label">
-                <el-popover
-                  placement="top-start"
-                  width="200"
-                  trigger="hover"
-                  content="(阐述在生产经营、项目建设、科研活动、产业化方向中遇到的技术难题或瓶颈问题及需达到的技术指标)"
-                >
-                  <span slot="reference" style="color:#409eff">难题或瓶颈问题</span>
-                </el-popover>
-              </span>
-              <el-input type="textarea" v-model="demandForm.difficult_problem" placeholder="请输入难题或瓶颈问题"></el-input>
+            <el-form-item label="注册资金">
+              <el-input v-model="demandForm.companycapital" placeholder="请输入注册资金"></el-input>
             </el-form-item>
-            <el-form-item>
-              <span slot="label">
-                <el-popover
-                  placement="top-start"
-                  width="200"
-                  trigger="hover"
-                  content="(企业承接成果、技术所具备的技术人员、设备、资金等基础条件及其他配套条件)"
-                >
-                  <span slot="reference" style="color:#409eff">企业解决技术需求已具备的条件</span>
-                </el-popover>
-              </span>
-              <el-input type="textarea" v-model="demandForm.demand" placeholder="请输入企业解决需求"></el-input>
-            </el-form-item>
-            <el-form-item label="联系人" prop="contact_user">
-              <el-input v-model="demandForm.contact_user" placeholder="请输入联系人"></el-input>
-            </el-form-item>
-            <el-form-item label="联系电话" prop="contact_tel">
-              <el-input v-model.number="demandForm.contact_tel" placeholder="请输入联系电话" maxlength="11"></el-input>
+            <el-form-item label="企业法人">
+              <el-input v-model="demandForm.companyperson" placeholder="请输入企业法人"></el-input>
+            </el-form-item>
+            <el-form-item label="上年度企业总收入">
+              <el-input v-model="demandForm.sndqyzsr" placeholder="请输入上年度企业总收入"></el-input>
+            </el-form-item>
+            <el-form-item label="上年度研发费用">
+              <el-input v-model="demandForm.sndyffy" placeholder="请输入上年度研发费用"></el-input>
+            </el-form-item>
+            <el-form-item label="企业总人数">
+              <el-input v-model="demandForm.companytotal" placeholder="请输入企业总人数"></el-input>
+            </el-form-item>
+            <el-form-item label="专&兼职研发人数">
+              <el-input v-model="demandForm.zjzyfrs" placeholder="请输入专&兼职研发人数"></el-input>
+            </el-form-item>
+            <el-form-item label="需求紧急程度">
+              <el-radio-group v-model="demandForm.degreeurgency">
+                <el-radio label="特急"></el-radio>
+                <el-radio label="一般"></el-radio>
+                <el-radio label="储备"></el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="技术难题&需求说明">
+              <el-input
+                v-model="demandForm.requirementdesc"
+                type="textarea"
+                maxlength="500"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入技术难题&需求说明"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="预期技术目标描述">
+              <el-input
+                v-model="demandForm.expect"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入预期技术目标描述"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="需求现状及应对措施">
+              <el-input
+                v-model="demandForm.present"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入需求现状及应对措施"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="主要产品">
+              <el-input
+                v-model="demandForm.mainproduct"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入主要产品"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="企业资质&荣誉">
+              <el-input
+                v-model="demandForm.qualifications"
+                type="textarea"
+                maxlength="300"
+                show-word-limit
+                :autosize="{ minRows: 2, maxRows: 5 }"
+                placeholder="请输入企业资质&荣誉"
+              ></el-input>
             </el-form-item>
             <el-form-item>
               <el-button @click="resetForm('ruleForm')">取消</el-button>
@@ -156,15 +193,15 @@
           </el-form>
         </el-tab-pane>
         <el-tab-pane label="产品供求" name="second">
-          <el-form :model="productForm" :rules="productFormrules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+          <el-form :model="productForm" label-width="100px">
             <el-form-item label="选择产品">
               <el-select v-model="productForm.goodsList" value-key="id" multiple placeholder="请选择选择产品">
                 <el-option v-for="(item, index) in goodsLists" :key="index" :label="item.name" :value="item"> </el-option>
               </el-select>
             </el-form-item>
             <el-form-item>
-              <el-button type="primary" @click="submitproductForm('ruleForm')">确定</el-button>
               <el-button @click="resetForm('ruleForm')">取消</el-button>
+              <el-button type="primary" @click="submitproductForm('ruleForm')">确定</el-button>
             </el-form-item>
           </el-form>
         </el-tab-pane>
@@ -192,28 +229,34 @@ export default {
   },
   data: function() {
     return {
+      activeName: 'first',
+      dock_id: '',
       // 下期直播
       nextData: [],
       nextTotal: 0,
+      // 申请参加对接会
       dialogFormVisible: false,
-      dock_id: '',
-      activeName: 'first',
       // 需求
       demandForm: {
-        totaltype: '0',
+        type: '0',
       },
-      columnList: [], //类型
       demandFormrules: {
-        name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
-        totaltype: [{ required: true, message: '请输入名称', trigger: 'change' }],
-        contact_user: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
-        contact_tel: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
+        // name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+        // totaltype: [{ required: true, message: '请输入名称', trigger: 'change' }],
+        // contact_user: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
+        // contact_tel: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
       },
       // 技术
       productForm: {},
-      productFormrules: {},
-      // 产品类别
+      // 产品列表
       goodsLists: [],
+      // 字典表
+      // 所属领域
+      fieldList: [],
+      // 成果状态
+      achievestatusList: [],
+      // 合作方式
+      cooperationList: [],
     };
   },
   created() {
@@ -297,27 +340,30 @@ export default {
     },
     // 关闭申请
     handleClose(done) {
-      this.resetBtn();
+      this.resetForm();
       done();
     },
     // 查询类型
-    async maarkettype({ category = 54, ...info } = {}) {
-      const res = await this.markettypeList({ category, ...info });
+    async maarkettype({ ...info } = {}) {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
       if (this.$checkRes(res)) {
-        this.$set(this, `columnList`, res.data);
+        this.$set(this, `fieldList`, res.data);
       }
-      const arr = await this.mapProductQuery({ userid: this.user.uid });
-      if (this.$checkRes(arr)) {
-        this.$set(this, `goodsLists`, arr.data);
+      // 成果状态;
+      res = await this.markettypeList({ category: '02' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `achievestatusList`, res.data);
       }
-    },
-    // 类型选择
-    selectChild(product_type_id) {
-      let res = this.columnList.filter(fil => fil.id === product_type_id);
-      if (res.length > 0) {
-        this.$set(this.demandForm, `product_type_name`, res[0].name);
+      // 合作方式;
+      res = await this.markettypeList({ category: '03' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `cooperationList`, res.data);
+      }
+      res = await this.mapProductQuery({ userid: this.user.uid });
+      if (this.$checkRes(res)) {
+        this.$set(this, `goodsLists`, res.data);
       }
-      this.$forceUpdate();
     },
     // 图片
     uploadSuccess({ type, data }) {
@@ -332,7 +378,7 @@ export default {
     },
     // 删除图片
     uploadDelete(index) {
-      this.demandForm.image.splice(index, 1);
+      this.form.image.splice(index, 1);
     },
   },
   computed: {

+ 19 - 51
src/views/vipCenter/statisInfo/parts/achievements.vue

@@ -7,11 +7,7 @@
             <el-col :span="24" class="search">
               <el-col :span="5">
                 <el-select v-model="field" filterable clearable placeholder="请选择所属领域" @change="changeField">
-                  <el-option label="先进制造" value="0"></el-option>
-                  <el-option label="新材料" value="1"></el-option>
-                  <el-option label="光电子" value="2"></el-option>
-                  <el-option label="信息技术" value="3"></el-option>
-                  <el-option label="文化和科技融合" value="4"></el-option>
+                  <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
                 </el-select>
               </el-col>
               <el-col :span="12">
@@ -24,50 +20,10 @@
             <el-table :data="list" style="width: 100%" border>
               <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
               <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
-              <el-table-column prop="field" label="所属技术领域" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.field == '0'
-                      ? '先进制造'
-                      : scoped.row.field == '1'
-                      ? '新材料'
-                      : scoped.row.field == '2'
-                      ? '光电子'
-                      : scoped.row.field == '3'
-                      ? '信息技术'
-                      : scoped.row.field == '4'
-                      ? '文化和科技融合'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="phase" label="研发阶段" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.phase == '0' ? '阶段成果' : scoped.row.phase == '1' ? '最终成果' : '暂无' }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="coopermode" label="合作方式" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.coopermode == '0'
-                      ? '技术转让'
-                      : scoped.row.coopermode == '1'
-                      ? '技术服务'
-                      : scoped.row.coopermode == '2'
-                      ? '技术许可'
-                      : scoped.row.coopermode == '3'
-                      ? '技术融资'
-                      : scoped.row.coopermode == '4'
-                      ? '其他'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="business" label="交易方式" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.business == '0' ? '公用' : scoped.row.business == '1' ? '竞价' : scoped.row.business == '2' ? '转让' : '暂无' }}
-                </template>
-              </el-table-column>
+              <el-table-column prop="field" label="所属领域 " align="center"> </el-table-column>
+              <el-table-column prop="cooperation" label="合作方式 " align="center"> </el-table-column>
+              <el-table-column prop="contacts" label="联系人 " align="center"> </el-table-column>
+              <el-table-column prop="phone" label="联系电话 " align="center"> </el-table-column>
             </el-table>
             <el-col :span="24" class="page">
               <el-pagination
@@ -89,6 +45,7 @@
 <script>
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
 import _ from 'loadsh';
 export default {
   name: 'column',
@@ -101,24 +58,35 @@ export default {
     origin: [], //分割数据
     list: [], //显示数据列表
     total: 0,
-    // 技术领域
+    // 所属领域
+    fieldList: [],
     field: '',
     // 是否我处支持
     radio1: '',
   }),
   created() {
     this.search();
+    this.searchtype();
   },
   methods: {
     ...dock(['query', 'delete', 'update', 'fetch']),
+    ...markettype({ markettypeList: 'query' }),
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let res = await this.fetch(this.user.remark);
       let arr = res.data.apply.map(item => item.goodsList);
       arr = _.flattenDeep(arr);
-      var newArr = arr.filter(item => item.totaltype === '1');
+      var newArr = arr.filter(item => item.type === '1');
       this.$set(this, `applyList`, newArr);
       this.$set(this, `total`, newArr.length);
     },
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+    },
     searchPage(page = 1) {
       this.$set(this, `list`, this.origin[page - 1]);
     },

+ 19 - 51
src/views/vipCenter/statisInfo/parts/technology.vue

@@ -7,11 +7,7 @@
             <el-col :span="24" class="search">
               <el-col :span="5">
                 <el-select v-model="field" filterable clearable placeholder="请选择所属领域" @change="changeField">
-                  <el-option label="先进制造" value="0"></el-option>
-                  <el-option label="新材料" value="1"></el-option>
-                  <el-option label="光电子" value="2"></el-option>
-                  <el-option label="信息技术" value="3"></el-option>
-                  <el-option label="文化和科技融合" value="4"></el-option>
+                  <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
                 </el-select>
               </el-col>
               <el-col :span="12">
@@ -24,50 +20,10 @@
             <el-table :data="list" style="width: 100%" border>
               <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
               <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
-              <el-table-column prop="field" label="所属技术领域" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.field == '0'
-                      ? '先进制造'
-                      : scoped.row.field == '1'
-                      ? '新材料'
-                      : scoped.row.field == '2'
-                      ? '光电子'
-                      : scoped.row.field == '3'
-                      ? '信息技术'
-                      : scoped.row.field == '4'
-                      ? '文化和科技融合'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="phase" label="研发阶段" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.phase == '0' ? '阶段成果' : scoped.row.phase == '1' ? '最终成果' : '暂无' }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="coopermode" label="合作方式" align="center">
-                <template v-slot="scoped">
-                  {{
-                    scoped.row.coopermode == '0'
-                      ? '技术转让'
-                      : scoped.row.coopermode == '1'
-                      ? '技术服务'
-                      : scoped.row.coopermode == '2'
-                      ? '技术许可'
-                      : scoped.row.coopermode == '3'
-                      ? '技术融资'
-                      : scoped.row.coopermode == '4'
-                      ? '其他'
-                      : '暂无'
-                  }}
-                </template>
-              </el-table-column>
-              <el-table-column prop="business" label="交易方式" align="center">
-                <template v-slot="scoped">
-                  {{ scoped.row.business == '0' ? '公用' : scoped.row.business == '1' ? '竞价' : scoped.row.business == '2' ? '转让' : '暂无' }}
-                </template>
-              </el-table-column>
+              <el-table-column prop="field" label="所属领域 " align="center"> </el-table-column>
+              <el-table-column prop="cooperation" label="合作方式 " align="center"> </el-table-column>
+              <el-table-column prop="contacts" label="联系人 " align="center"> </el-table-column>
+              <el-table-column prop="phone" label="联系电话 " align="center"> </el-table-column>
             </el-table>
             <el-col :span="24" class="page">
               <el-pagination
@@ -89,6 +45,7 @@
 <script>
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
 import _ from 'loadsh';
 export default {
   name: 'column',
@@ -101,24 +58,35 @@ export default {
     origin: [], //分割数据
     list: [], //显示数据列表
     total: 0,
-    // 技术领域
+    // 所属领域
+    fieldList: [],
     field: '',
     // 是否我处支持
     radio1: '',
   }),
   created() {
     this.search();
+    this.searchtype();
   },
   methods: {
     ...dock(['query', 'delete', 'update', 'fetch']),
+    ...markettype({ markettypeList: 'query' }),
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let res = await this.fetch(this.user.remark);
       let arr = res.data.apply.map(item => item.goodsList);
       arr = _.flattenDeep(arr);
-      var newArr = arr.filter(item => item.totaltype === '0');
+      var newArr = arr.filter(item => item.type === '0');
       this.$set(this, `applyList`, newArr);
       this.$set(this, `total`, newArr.length);
     },
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+    },
     searchPage(page = 1) {
       this.$set(this, `list`, this.origin[page - 1]);
     },