licailing před 4 roky
rodič
revize
2e98949eb3

+ 6 - 0
src/main/java/com/izouma/wenlvju/domain/User.java

@@ -81,4 +81,10 @@ public class User extends BaseEntity implements Serializable {
 
     @Convert(converter = ExpertConverter.class)
     private Expert expert;
+
+    private String position;
+
+    private String work;
+
+    private String telephone;
 }

+ 5 - 5
src/main/java/com/izouma/wenlvju/dto/ExpertDTO.java

@@ -38,11 +38,11 @@ public class ExpertDTO {
 
     public ExpertDTO(User user, String artType) {
         BeanUtil.copyProperties(user, this);
-        Expert expert = user.getExpert();
-        if (ObjectUtil.isNotNull(expert)){
-            this.work = expert.getWork();
-            this.position = expert.getPosition();
-        }
+//        Expert expert = user.getExpert();
+//        if (ObjectUtil.isNotNull(expert)){
+//            this.work = expert.getWork();
+//            this.position = expert.getPosition();
+//        }
         this.artType = artType;
     }
 }

+ 6 - 0
src/main/java/com/izouma/wenlvju/dto/UserRegister.java

@@ -36,4 +36,10 @@ public class UserRegister {
     private String email;
 
     private String district;
+
+    private String position;
+
+    private String work;
+
+    private String telephone;
 }

+ 6 - 1
src/main/java/com/izouma/wenlvju/web/SettingController.java

@@ -1,5 +1,6 @@
 package com.izouma.wenlvju.web;
 
+import cn.hutool.core.collection.CollUtil;
 import com.izouma.wenlvju.domain.Setting;
 import com.izouma.wenlvju.service.SettingService;
 import com.izouma.wenlvju.dto.PageQuery;
@@ -68,7 +69,11 @@ public class SettingController extends BaseController {
 
     @PostMapping("/byFlag")
     public List<Setting> byFlag(int flag) {
-        return settingService.getTree(settingRepo.findAllByFlag(flag));
+        List<Setting> tree = settingService.getTree(settingRepo.findAllByFlag(flag));
+        if (CollUtil.isEmpty(tree)){
+            return null;
+        }
+        return tree.get(0).getChildren();
     }
 }
 

+ 1 - 1
src/main/vue/src/components/DistrictSelect.vue

@@ -24,7 +24,7 @@ export default {
     },
     created() {
         this.$http
-            .get('/district/NJ')
+            .post('/setting/byFlag', { flag: 2 })
             .then(res => {
                 this.districts = res;
             })

+ 4 - 4
src/main/vue/src/views/user/ExpertEdit.vue

@@ -30,7 +30,7 @@
                 <el-input v-model="formData.phone"></el-input>
             </el-form-item>
             <el-form-item label="单位">
-                <el-input v-model="expert.work"></el-input>
+                <el-input v-model="formData.work"></el-input>
                 <!-- <el-select v-model="expert.work" style="width: 100%" placeholder="请选择单位" filterable>
                     <el-option
                         v-for="item in settings"
@@ -41,7 +41,7 @@
                 </el-select> -->
             </el-form-item>
             <el-form-item label="职称">
-                <el-input v-model="expert.position"></el-input>
+                <el-input v-model="formData.position"></el-input>
             </el-form-item>
             <el-form-item prop="artTypeId" label="专业">
                 <el-cascader
@@ -114,7 +114,7 @@ export default {
         this.$http
             .post('/setting/byFlag', { flag: 1 })
             .then(res => {
-                this.settings = res[0].children;
+                this.settings = res;
             })
             .catch(e => {
                 console.log(e);
@@ -185,7 +185,7 @@ export default {
         },
         submit() {
             this.formData.username = this.formData.phone;
-            this.formData.expert = this.expert;
+            // this.formData.expert = this.expert;
             this.$http
                 .post('/user/save', this.formData, { body: 'json' })
                 .then(res => {

+ 29 - 19
src/main/vue/src/views/user/UserEdit.vue

@@ -26,6 +26,26 @@
             <el-form-item prop="phone" label="手机">
                 <el-input v-model="formData.phone"></el-input>
             </el-form-item>
+            <el-form-item prop="telephone" label="座机">
+                <el-input v-model="formData.telephone"></el-input>
+            </el-form-item>
+            <!-- v-if="districtDisplay" -->
+            <el-form-item prop="district" label="地点">
+                <el-select v-model="formData.district" style="width:100%">
+                    <el-option
+                        v-for="item in districts"
+                        :key="item.id"
+                        :value="item.name"
+                        :label="item.name"
+                    ></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="单位" prop="work">
+                <el-input v-model="formData.work"></el-input>
+            </el-form-item>
+            <el-form-item label="职位" prop="position">
+                <el-input v-model="formData.position"></el-input>
+            </el-form-item>
             <el-form-item prop="authorities" label="角色">
                 <el-select
                     v-model="formData.authorities"
@@ -39,16 +59,6 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item prop="district" label="地点" v-if="districtDisplay">
-                <el-select v-model="formData.district" style="width:100%">
-                    <el-option
-                        v-for="item in districts"
-                        :key="item.id"
-                        :value="item.name"
-                        :label="item.name"
-                    ></el-option>
-                </el-select>
-            </el-form-item>
             <el-form-item>
                 <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
                 <el-button @click="del" :loading="$store.state.fetchingData" type="danger" v-if="formData.id"
@@ -83,7 +93,7 @@ export default {
                 console.log(e);
             });
         this.$http
-            .get('/district/NJ')
+            .post('/setting/byFlag', { flag: 2 })
             .then(res => {
                 this.districts = res;
             })
@@ -99,14 +109,14 @@ export default {
                 avatar: 'https://zhumj.oss-cn-hangzhou.aliyuncs.com/image/user.jpg'
             },
             rules: {
-                avatar: [
-                    {
-                        required: true,
-                        regexp: /^[_.@A-Za-z0-9-]*$/,
-                        message: '请上传头像',
-                        trigger: 'blur'
-                    }
-                ],
+                // avatar: [
+                //     {
+                //         required: true,
+                //         regexp: /^[_.@A-Za-z0-9-]*$/,
+                //         message: '请上传头像',
+                //         trigger: 'blur'
+                //     }
+                // ],
                 username: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
                 nickname: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
                 password: [{ required: true, message: '请输入密码', trigger: 'blur' }],

+ 5 - 2
src/main/vue/src/views/user/UserList.vue

@@ -27,7 +27,7 @@
             <el-table-column prop="id" label="ID" width="100"> </el-table-column>
             <el-table-column prop="username" label="用户名" min-width="100"> </el-table-column>
             <el-table-column prop="nickname" label="昵称" min-width="100"> </el-table-column>
-            <el-table-column label="头像" min-width="100">
+            <!-- <el-table-column label="头像" min-width="100">
                 <template slot-scope="{ row }">
                     <el-image
                         style="width: 30px; height: 30px;"
@@ -36,7 +36,10 @@
                         :preview-src-list="[row.avatar]"
                     ></el-image>
                 </template>
-            </el-table-column>
+            </el-table-column> -->
+            <el-table-column prop="phone" label="手机号" min-width="100"> </el-table-column>
+            <el-table-column prop="work" label="工作单位" min-width="100"> </el-table-column>
+            <el-table-column prop="position" label="职位" min-width="100"> </el-table-column>
             <el-table-column label="操作" align="center" fixed="right">
                 <template slot-scope="{ row }">
                     <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>

+ 10 - 0
src/test/java/com/izouma/wenlvju/repo/UserRepoTest.java

@@ -50,4 +50,14 @@ public class UserRepoTest {
     public void test() {
         System.out.println(userRepo.findAllByDistrictAndAuthoritiesContainsAndDelFalse("秦淮区", Authority.get(AuthorityName.ROLE_DISTRICT)));
     }
+
+    @Test
+    public void test1() {
+        List<User> users = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.get(AuthorityName.ROLE_EXPERT));
+        users.forEach(user -> {
+            user.setPosition(user.getExpert().getPosition());
+            user.setWork(user.getExpert().getWork());
+            userRepo.save(user);
+        });
+    }
 }