wuhongyu пре 5 година
родитељ
комит
36b1e7cf40

+ 4 - 3
src/components/enterprise/enterprisejb.vue

@@ -12,7 +12,7 @@
             </el-col>
           </el-col>
           <el-col :span="19" class="right">
-            <jibencontext v-on="$listeners" :liebiaoList="liebiaoList" :userinfo="userinfo"></jibencontext>
+            <jibencontext v-on="$listeners" :form="form" :liebiaoList="liebiaoList" :userinfo="userinfo"></jibencontext>
           </el-col>
         </div>
         <el-col :span="24" class="foots">
@@ -33,7 +33,8 @@ export default {
   props: {
     info: null, //站点信息
     liebiaoList: null, //分类导航
-    userinfo: null, //基本信息
+    userinfo: null, //基本信息\
+    form: null,
   },
   components: {
     heads,
@@ -81,7 +82,7 @@ export default {
 }
 .right {
   width: 79%;
-  height: 1140px;
+  min-height: 1140px;
   overflow: hidden;
   background-color: #fff;
 }

+ 76 - 0
src/components/uploadone.vue

@@ -0,0 +1,76 @@
+<template>
+  <div id="upload">
+    <el-upload
+      v-if="url"
+      ref="upload"
+      :action="url"
+      list-type="picture-card"
+      :file-list="fileList"
+      :limit="limit"
+      :on-exceed="outLimit"
+      :on-preview="handlePictureCardPreview"
+      :before-remove="handleRemove"
+      :on-success="onSuccess"
+      accept=".jpg,.jpeg,.png,.bmp,.gif,.svg"
+    >
+      <template>
+        <i class="el-icon-plus"></i>
+      </template>
+    </el-upload>
+    <el-dialog :visible.sync="dialogVisible">
+      <img width="100%" :src="dialogImageUrl" alt="" />
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'upload',
+  props: {
+    url: { type: null },
+    limit: { type: Number },
+    data: { type: null },
+    type: { type: String },
+  },
+  components: {},
+  data: () => ({
+    dialogVisible: false,
+    dialogImageUrl: '',
+    fileList: [],
+  }),
+  created() {
+    if (this.data) {
+      this.defalutProcess(this.data);
+    }
+  },
+  watch: {
+    data: {
+      handler(val) {
+        this.defalutProcess(val);
+      },
+    },
+  },
+  computed: {},
+  methods: {
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    handleRemove(file) {
+      return true;
+    },
+    outLimit() {
+      this.$message.error('只允许上传1张图片');
+    },
+    onSuccess(response, file, fileList) {
+      //将文件整理好传回父组件
+      this.$emit('upload', { type: this.type, data: response });
+    },
+    defalutProcess(val) {
+      this.$set(this, `fileList`, [{ name: this.type, url: `${this.data}?${new Date().getTime()}` }]);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 87 - 66
src/layout/enterprise/jibencontext.vue

@@ -1,67 +1,82 @@
 <template>
   <div id="rightcont">
     <el-col class="zhengce">
-      <el-col :span="24" class="topTitle"> <span>基本信息</span><span class="xiugai" @click="edit"> 修改个人信息</span></el-col>
+      <el-col :span="24" class="topTitle"> <span>基本信息</span></el-col>
       <el-col :span="24" class="info">
-        <el-col :span="24">
-          <p>用户名:{{ userinfo.name }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>身份证号:{{ userinfo.cardnumber }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>手机号:{{ userinfo.phone }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>邮箱:{{ userinfo.email }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>身份证号:{{ userinfo.cardnumber }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>地址:{{ userinfo.addr }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p><span>头像图片:</span> <el-image style="width:100px;height:100px" :src="userinfo.img_path"></el-image></p>
-        </el-col>
-        <el-col :span="24">
-          <p>
-            类别:{{
-              userinfo.role === '1' ? '管理员' : userinfo.role === '2' ? '个人' : userinfo.role === '3' ? '企业' : userinfo.role === '4' ? '子管理员' : ''
-            }}
-          </p>
-        </el-col>
-        <el-col :span="24">
-          <p>地址:{{ userinfo.addr }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p><span>身份证正面:</span> <el-image style="width:100px;height:100px" :src="userinfo.cardfile_a"></el-image></p>
-        </el-col>
-        <el-col :span="24">
-          <p><span>身份证背面: </span><el-image style="width:100px;height:100px" :src="userinfo.cardfile_b"></el-image></p>
-        </el-col>
-        <el-col :span="24" v-if="this.user.role == '3'">
-          <p><span>组织机构图片:</span> <el-image style="width:100px;height:100px" :src="userinfo.img_qy"></el-image></p>
-        </el-col>
-        <el-col :span="24">
-          <p>专业领域:{{ userinfo.major }}</p>
-        </el-col>
-        <el-col :span="24" v-if="this.user.role == '3'">
-          <p>机构类型:{{ userinfo.institution_type }}</p>
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="用户名:">
+            <el-input v-model="form.name"></el-input>
+          </el-form-item>
+          <el-form-item label="身份证号">
+            <el-input v-model="form.cardnumber"></el-input>
+          </el-form-item>
+          <el-form-item label="手机号">
+            <el-input v-model="form.phone"></el-input>
+          </el-form-item>
+          <el-form-item label="邮箱">
+            <el-input v-model="form.email"></el-input>
+          </el-form-item>
+          <el-form-item label="地址">
+            <el-input v-model="form.addr"></el-input>
+          </el-form-item>
+          <el-form-item label="头像图片">
+            <upload :limit="1" :data="form.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+          </el-form-item>
+          <el-form-item label="类别">
+            <el-select v-model="form.role" placeholder="请选择活动区域">
+              <el-option label="管理员" value="1"></el-option>
+              <el-option label="个人" value="2"></el-option>
+              <el-option label="企业" value="3"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-col :span="24">
+            <p><span>身份证正面:</span> <el-image style="width:100px;height:100px" :src="form.cardfile_a"></el-image></p>
+          </el-col>
+          <el-col :span="24">
+            <p><span>身份证背面: </span><el-image style="width:100px;height:100px" :src="form.cardfile_b"></el-image></p>
+          </el-col>
+          <span v-if="this.user.role == '3'">
+            <el-form-item label="组织机构图片">
+              <upload :limit="1" :data="form.img_qy" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+            </el-form-item>
+          </span>
+          <span v-if="this.user.role == '3'">
+            <el-form-item label="机构类型">
+              <el-input v-model="form.institution_type"></el-input>
+            </el-form-item>
+          </span>
+          <span v-if="this.user.role == '3'">
+            <el-form-item label="机构名称">
+              <el-input v-model="form.institution_name"></el-input>
+            </el-form-item>
+          </span>
+          <span v-if="this.user.role == '3'">
+            <el-form-item label="机构代码">
+              <el-input v-model="form.institution_code"></el-input>
+            </el-form-item>
+          </span>
+          <span v-if="this.user.role == '3'">
+            <el-form-item label="机构性质">
+              <el-input v-model="form.institution_nature"></el-input>
+            </el-form-item>
+          </span>
+          <el-form-item label="专业领域">
+            <el-input v-model="form.major"></el-input>
+          </el-form-item>
 
-          <p>机构名称:{{ userinfo.institution_name }}</p>
-          <p>机构代码:{{ userinfo.institution_code }}</p>
-          <p>机构性质:{{ userinfo.institution_nature }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>所属行业:{{ userinfo.profession }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>办公电话:{{ userinfo.office_phone }}</p>
-        </el-col>
-        <el-col :span="24">
-          <p>简介:{{ userinfo.resume }}</p>
-        </el-col>
+          <el-form-item label="所属行业">
+            <el-input v-model="form.profession"></el-input>
+          </el-form-item>
+          <el-form-item label="办公电话">
+            <el-input v-model="form.office_phone"></el-input>
+          </el-form-item>
+          <el-form-item label="简介">
+            <el-input type="textarea" v-model="form.resume"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="onSubmit">修改</el-button>
+          </el-form-item>
+        </el-form>
       </el-col>
     </el-col>
   </div>
@@ -69,21 +84,29 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
-
+import upload from '@/components/uploadone.vue';
 export default {
   name: 'rightcont',
   props: {
     userinfo: null,
+    form: null,
+  },
+  components: {
+    upload,
   },
-  components: {},
   data: () => ({}),
   created() {},
   computed: {
     ...mapState(['user']),
   },
   methods: {
-    edit() {
-      this.$router.push({ path: '/enterprise/useredit' });
+    uploadSuccess({ type, data }) {
+      this.$set(this.forms, `${type}`, data.uri);
+    },
+
+    onSubmit() {
+      console.log(this.form);
+      this.$emit('onSubmit', { data: this.form });
     },
   },
 };
@@ -102,9 +125,7 @@ p {
   color: #22529a;
   margin: 0 0 20px 0;
 }
-.xiugai {
-  float: right;
-}
+
 .zhengce .info {
   float: left;
   width: 100%;

+ 1 - 1
src/layout/login/loginMain.vue

@@ -106,7 +106,7 @@
 </template>
 
 <script>
-import upload from '@/components/upload.vue';
+import upload from '@/components/uploadone.vue';
 export default {
   name: 'loginMain',
   props: {

+ 17 - 3
src/views/enterprise/enterprisejb.vue

@@ -1,6 +1,13 @@
 <template>
   <div id="adviserList">
-    <enterprisejb-detail :info="info" :liebiaoList="liebiaoList" @onsave="onsaveClick" :userinfo="userinfo"></enterprisejb-detail>
+    <enterprisejb-detail
+      :info="info"
+      :form="form"
+      @onSubmit="onSubmit"
+      :liebiaoList="liebiaoList"
+      @onsave="onsaveClick"
+      :userinfo="userinfo"
+    ></enterprisejb-detail>
   </div>
 </template>
 
@@ -16,6 +23,7 @@ export default {
     enterprisejbDetail,
   },
   data: () => ({
+    form: {},
     info: {},
     liebiaoList: [
       { name: '基本信息' },
@@ -35,15 +43,21 @@ export default {
     ...mapState(['user']),
   },
   methods: {
-    ...market(['fetch']),
+    ...market(['fetch', 'update']),
     ...login({ logout: 'logout', transactiondtetle: 'delete' }),
     // 查询基本信息
     async searchInfo() {
       let res = await this.fetch(this.user.userid);
       if (res.errcode === 0) {
-        this.$set(this, `userinfo`, res.data);
+        this.$set(this, `form`, res.data);
       }
     },
+    async onSubmit({ data }) {
+      console.log(data);
+      let res;
+      let msg;
+      res = await this.update(data);
+    },
     async onsaveClick({ id }) {
       console.log(id);
       if (id === '基本信息') {