guhongwei 5 lat temu
rodzic
commit
2638c0c08d

Plik diff jest za duży
+ 12043 - 0
package-lock.json


+ 4 - 13
src/views/communication/index.vue

@@ -56,7 +56,7 @@ export default {
           title: '',
           date: '2019-03-04',
         },
-        { title: '8条', date: '2019-03-04' },
+        { title: '16条', date: '2019-03-04' },
       ],
       ztytList: [
         {
@@ -64,7 +64,7 @@ export default {
           date: '2013-12-03',
         },
         {
-          title: '8条',
+          title: '16条',
           date: '2013-12-03',
         },
       ],
@@ -89,16 +89,7 @@ export default {
           date: '2013-12-03',
         },
       ], //行业研究
-      kjpxList: [
-        {
-          title: '',
-          date: '2013-12-03',
-        },
-        {
-          title: '8条',
-          date: '2013-12-03',
-        },
-      ], //科技培训
+      kjpxList: [], //科技培训
     };
   },
   created() {},
@@ -135,7 +126,7 @@ export default {
     }
     .right {
       width: 65.8%;
-      min-height: 435px;
+      min-height: 730px;
       background: #fff;
     }
   }

+ 1 - 1
src/views/communication/parts/demand.vue

@@ -49,7 +49,7 @@ export default {
   color: #ffffff;
 }
 .info {
-  min-height: 294px;
+  min-height: 590px;
   border-bottom: 1px solid #ccc;
 }
 

+ 2 - 2
src/views/communication/parts/right.vue

@@ -113,7 +113,7 @@ li {
 }
 .info {
   padding: 20px;
-  height: 430px;
+  height: 720px;
   overflow: hidden;
 }
 /deep/.el-tabs--border-card {
@@ -150,7 +150,7 @@ li {
 }
 .list ul {
   min-height: 30px;
-  max-height: 296px;
+  max-height: 583px;
   overflow: hidden;
   padding: 0 0 0 20px;
 }

+ 28 - 7
src/views/pcenter/index.vue

@@ -64,25 +64,27 @@
             </el-col>
             <el-col :span="18" class="right">
               <span v-if="columnName == '基本信息'">
-                基本信息
+                <el-col :span="24" class="infoTop"> <span>|</span><span>基本信息</span> </el-col>
+                <pinfo></pinfo>
               </span>
               <span v-else-if="columnName == '需求管理'">
-                需求管理
+                <el-col :span="24" class="infoTop"> <span>|</span><span>需求管理</span> </el-col>
               </span>
               <span v-else-if="columnName == '信息管理'">
-                信息管理
+                <el-col :span="24" class="infoTop"> <span>|</span><span>信息管理</span> </el-col>
               </span>
               <span v-else-if="columnName == '人员管理'">
-                人员管理
+                <el-col :span="24" class="infoTop"> <span>|</span><span>人员管理</span> </el-col>
               </span>
               <span v-else-if="columnName == '部门管理'">
-                部门管理
+                <el-col :span="24" class="infoTop"> <span>|</span><span>部门管理</span> </el-col>
               </span>
               <span v-else-if="columnName == '职务管理'">
-                职务管理
+                <el-col :span="24" class="infoTop"> <span>|</span><span>职务管理</span> </el-col>
               </span>
               <span v-else-if="columnName == '修改密码'">
-                修改密码
+                <el-col :span="24" class="infoTop"> <span>|</span><span>修改密码</span> </el-col>
+                <uppasswd></uppasswd>
               </span>
               <span v-else-if="columnName == '退出登录'">
                 退出登录
@@ -103,6 +105,8 @@
 <script>
 import top from '@/layout/common/top.vue';
 import foot from '@/layout/common/foot.vue';
+import pinfo from '@/views/pcenter/pinfo.vue';
+import uppasswd from '@/views/pcenter/uppasswd.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'detail',
@@ -110,6 +114,8 @@ export default {
   components: {
     top,
     foot,
+    pinfo,
+    uppasswd,
   },
   data: function() {
     return {
@@ -209,4 +215,19 @@ export default {
     height: 135px;
   }
 }
+.infoTop {
+  height: 50px;
+  border-bottom: 1px dashed #ccc;
+  margin: 0 auto;
+  margin-bottom: 20px;
+  float: none;
+  width: 98%;
+  padding: 20px 0 5px 0;
+}
+.infoTop span {
+  font-size: 20px;
+  color: #005293;
+  font-weight: bold;
+  margin-right: 10px;
+}
 </style>

+ 154 - 0
src/views/pcenter/pinfo.vue

@@ -0,0 +1,154 @@
+<template>
+  <div id="pinfo">
+    <el-row>
+      <el-col :span="24">
+        <el-form ref="form" :model="form" label-width="120px" :rules="rules">
+          <el-form-item label="用户名:" prop="name">
+            <el-input v-model="form.name"></el-input>
+          </el-form-item>
+          <el-form-item label="手机号:" prop="phone">
+            <el-input v-model="form.phone"></el-input
+            ><span style="color:red;"
+              ><i class="el-icon-warning" style="margin-right:5px;"></i>如果您修改手机号,那么登录时使用的手机号也会发生变更,请谨慎修改!</span
+            >
+          </el-form-item>
+          <el-form-item label="身份证号:" prop="id_number">
+            <el-input v-model="form.id_number" @input="inputIdnumber()"></el-input>
+          </el-form-item>
+          <el-form-item label="出生年月" prop="birthday">
+            <el-date-picker disabled v-model="form.birthday" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择选择日期">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="性别" prop="gender">
+            <el-radio-group disabled v-model="form.gender">
+              <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.address"></el-input>
+          </el-form-item>
+          <el-form-item label="部门:">
+            <el-select v-model="form.dept_id" filterable placeholder="请选择部门">
+              <el-option v-for="(item, index) in deptList" :key="index" :label="item.name" :value="item._id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="职务:">
+            <el-select v-model="form.level_id" filterable placeholder="请选择职务">
+              <el-option v-for="(item, index) in levelList" :key="index" :label="item.name" :value="item._id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="邮箱" prop="email">
+            <el-input v-model="form.email"></el-input>
+          </el-form-item>
+          <el-form-item label="头像" prop="img_url">
+            <upload :limit="1" :data="form.img_url" type="img_url" :url="'/files/count/upload'" @upload="uploadSuccess"></upload>
+          </el-form-item>
+          <el-form-item label="职称级别">
+            <el-input v-model="form.level"></el-input>
+          </el-form-item>
+          <el-form-item label="职称名称">
+            <el-input v-model="form.levelname"></el-input>
+          </el-form-item>
+          <el-form-item label="院校">
+            <el-input v-model="form.school"></el-input>
+          </el-form-item>
+          <el-form-item label="学历">
+            <el-select v-model="form.education" placeholder="请选择学历">
+              <el-option v-for="(item, index) in educationList" :key="index" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="学位">
+            <el-select v-model="form.degree" placeholder="请选择学位">
+              <el-option v-for="(item, index) in degreeList" :key="index" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="专业">
+            <el-input v-model="form.major"></el-input>
+          </el-form-item>
+          <el-form-item label="从事专业">
+            <el-input v-model="form.profession"></el-input>
+          </el-form-item>
+          <el-form-item label="工作简历">
+            <el-input v-model="form.resume" type="textarea"></el-input>
+          </el-form-item>
+          <el-form-item label="项目">
+            <el-input v-model="form.project" type="textarea"></el-input>
+          </el-form-item>
+          <el-form-item label="学术成就">
+            <el-input v-model="form.academic" type="textarea"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="onSubmit">提交</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import upload from '@/components/uploadone.vue';
+export default {
+  name: 'pinfo',
+  props: {},
+  components: { upload },
+  data: () => ({
+    form: {},
+    deptList: [],
+    levelList: [],
+    educationList: [{ name: '中专及以上' }, { name: '大专及以上' }, { name: '本科及以上' }, { name: '研究生及以上' }],
+    degreeList: [{ name: '博士学位' }, { name: '硕士学位' }, { name: '学士学位' }, { name: '其他' }],
+    rules: {
+      name: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
+      id_number: [
+        { required: true, message: '请输入身份证号', trigger: 'blur' },
+        {
+          pattern: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/,
+          message: '请输入有效的身份证号',
+        },
+      ],
+      phone: [
+        { required: true, message: '请输入手机号', trigger: 'blur' },
+        { pattern: /^1\d{10}$/, message: '请输入有效的手机号' },
+      ],
+      gender: [{ required: true, message: '请选择性别', trigger: 'blur' }],
+      birthday: [{ required: true, message: '请选择出生年月', trigger: 'blur' }],
+      email: [{ required: false }, { pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/, message: '请输入有效的邮箱' }],
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    inputIdnumber() {
+      let card = this.form.id_number;
+      if (card.length == 18) {
+        let birth = card.substring(6, 10) + '-' + card.substring(10, 12) + '-' + card.substring(12, 14);
+        let gender = parseInt(card.substr(16, 1)) % 2 == 1 ? '男' : '女';
+        let myDate = new Date();
+        let month = myDate.getMonth() + 1;
+        let day = myDate.getDate();
+        let age = myDate.getFullYear() - card.substring(6, 10) - 1;
+        if (card.substring(10, 12) < month || (card.substring(10, 12) == month && card.substring(12, 14) <= day)) {
+          age++;
+        }
+        this.form.birthday = birth;
+        this.form.gender = gender;
+      }
+    },
+    onSubmit() {},
+    uploadSuccess({ type, data }) {
+      this.$set(this.form, `${type}`, data.uri);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-input__inner {
+  width: 600px;
+}
+/deep/ .el-textarea__inner {
+  width: 600px;
+}
+</style>

+ 61 - 0
src/views/pcenter/uppasswd.vue

@@ -0,0 +1,61 @@
+<template>
+  <div id="uppasswd">
+    <el-row>
+      <el-col :span="24">
+        <el-form ref="form" :model="form" label-width="120px" :rules="rules">
+          <el-form-item label="新密码" prop="newpasswd">
+            <el-input v-model="form.newpasswd" show-password></el-input>
+          </el-form-item>
+          <el-form-item label="确认密码" prop="newpasswd">
+            <el-input v-model="form._newpasswd" @input="insurePasswd()" show-password></el-input>
+            <span v-if="display" style="color:red;"
+              ><i class="el-icon-warning" style="margin-right:5px;"></i>两次输入密码不一致,请检查两次输入的密码并重新输入!</span
+            >
+          </el-form-item>
+          <el-form-item label="旧密码" prop="oldpasswd">
+            <el-input v-model="form.oldpasswd" show-password></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="onSubmit">提交</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'uppasswd',
+  props: {},
+  components: {},
+  data: () => ({
+    form: {},
+    rules: {
+      newpasswd: [{ required: true, message: '请输入新密码', trigger: 'blur' }],
+      oldpasswd: [{ required: true, message: '请输入旧密码', trigger: 'blur' }],
+    },
+    display: false,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    insurePasswd() {
+      let newpasswd = this.form.newpasswd;
+      let _newpasswd = this.form._newpasswd;
+      if (newpasswd != _newpasswd) {
+        this.display = true;
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-input__inner {
+  width: 600px;
+}
+/deep/.el-form-item__content {
+  width: 600px;
+}
+</style>