Bladeren bron

平台化

wangqifan 3 jaren geleden
bovenliggende
commit
de2ebada5c

+ 28 - 2
src/main/vue/src/views/StoreInfoEdit.vue

@@ -82,8 +82,22 @@
             <el-form-item prop="remark" label="备注">
             <el-form-item prop="remark" label="备注">
                 <el-input v-model="formData.remark"></el-input>
                 <el-input v-model="formData.remark"></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="companyId" label="公司ID">
-                <el-input v-model="formData.companyId"></el-input>
+            <el-form-item prop="companyId" label="授权公司">
+                <el-select
+                    v-model="formData.companyId"
+                    filterable
+                    placeholder="请选择"
+                    value-key="id"
+                    clearable
+                    style="width:100%"
+                >
+                    <el-option
+                        v-for="item in companys"
+                        :key="item.id"
+                        :label="item.companyName"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="enabled" label="有效">
             <el-form-item prop="enabled" label="有效">
                 <el-switch v-model="formData.enabled"></el-switch>
                 <el-switch v-model="formData.enabled"></el-switch>
@@ -109,6 +123,17 @@
 export default {
 export default {
     name: 'StoreInfoEdit',
     name: 'StoreInfoEdit',
     created() {
     created() {
+        this.$http
+            .get('/company/all', {
+                page: 0,
+                size: 1000
+            })
+            .then(res => {
+                this.companys = res.content;
+            })
+            .catch(e => {
+                console.log(e);
+            });
         if (this.$route.query.id) {
         if (this.$route.query.id) {
             this.$http
             this.$http
                 .get('storeInfo/get/' + this.$route.query.id)
                 .get('storeInfo/get/' + this.$route.query.id)
@@ -141,6 +166,7 @@ export default {
         return {
         return {
             saving: false,
             saving: false,
             formData: {},
             formData: {},
+            companys: [],
             rules: {
             rules: {
                 storeName: [
                 storeName: [
                     {
                     {

+ 30 - 1
src/main/vue/src/views/StoreInfoList.vue

@@ -2,6 +2,14 @@
     <div class="list-view">
     <div class="list-view">
         <div class="filters-container">
         <div class="filters-container">
             <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input>
             <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input>
+            <el-select v-model="companyId" filterable placeholder="请选择" value-key="id" clearable>
+                <el-option
+                    v-for="item in companys"
+                    :key="item.id"
+                    :label="item.companyName"
+                    :value="item.id"
+                ></el-option>
+            </el-select>
             <el-button @click="getData" type="primary" icon="el-icon-search" class="filter-btn">搜索 </el-button>
             <el-button @click="getData" type="primary" icon="el-icon-search" class="filter-btn">搜索 </el-button>
             <el-button @click="addRow" v-if="canEdit" type="primary" icon="el-icon-plus" class="filter-btn"
             <el-button @click="addRow" v-if="canEdit" type="primary" icon="el-icon-plus" class="filter-btn"
                 >添加
                 >添加
@@ -93,6 +101,17 @@ export default {
     name: 'StoreInfoList',
     name: 'StoreInfoList',
     mixins: [pageableTable],
     mixins: [pageableTable],
     created() {
     created() {
+        this.$http
+            .get('/company/all', {
+                page: 0,
+                size: 1000
+            })
+            .then(res => {
+                this.companys = res.content;
+            })
+            .catch(e => {
+                console.log(e);
+            });
         this.getData();
         this.getData();
         this.uploadUrl = resolveUrl(this.$baseUrl, 'storeInfo/upload');
         this.uploadUrl = resolveUrl(this.$baseUrl, 'storeInfo/upload');
     },
     },
@@ -102,6 +121,8 @@ export default {
             search: '',
             search: '',
             url: '/storeInfo/all',
             url: '/storeInfo/all',
             downloading: false,
             downloading: false,
+            companyId: null,
+            companys: [],
             uploadUrl: '',
             uploadUrl: '',
             Authorization: 'Bearer ' + localStorage.getItem('token'),
             Authorization: 'Bearer ' + localStorage.getItem('token'),
             uploadLoading: false,
             uploadLoading: false,
@@ -132,9 +153,17 @@ export default {
             });
             });
         },
         },
         beforeGetData() {
         beforeGetData() {
+            let data = {
+                query: {}
+            };
+
             if (this.search) {
             if (this.search) {
-                return { search: this.search };
+                data.search = this.search;
+            }
+            if (this.companyId) {
+                data.query.companyId = this.companyId;
             }
             }
+            return data;
         },
         },
         toggleMultipleMode(multipleMode) {
         toggleMultipleMode(multipleMode) {
             this.multipleMode = multipleMode;
             this.multipleMode = multipleMode;

+ 34 - 7
src/main/vue/src/views/UserEdit.vue

@@ -19,7 +19,7 @@
                 <el-input v-model="formData.nickname"></el-input>
                 <el-input v-model="formData.nickname"></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item v-if="formData.id" label="密码">
             <el-form-item v-if="formData.id" label="密码">
-                <el-button type="primary" plain @click="resetPassword">重置 </el-button>
+                <el-button type="primary" plain @click="resetPassword">重置</el-button>
             </el-form-item>
             </el-form-item>
             <el-form-item v-else prop="password" label="密码">
             <el-form-item v-else prop="password" label="密码">
                 <el-input v-model="formData.password"></el-input>
                 <el-input v-model="formData.password"></el-input>
@@ -48,8 +48,9 @@
                     placeholder="请选择"
                     placeholder="请选择"
                     value-key="id"
                     value-key="id"
                     style="width:100%"
                     style="width:100%"
+                    label="授权公司"
                 >
                 >
-                    <el-option v-for="item in stores" :key="item.id" :label="item.storeName" :value="item"> </el-option>
+                    <el-option v-for="item in stores" :key="item.id" :label="item.storeName" :value="item"></el-option>
                 </el-select>
                 </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="banned" label="禁止登录">
             <el-form-item prop="banned" label="禁止登录">
@@ -58,13 +59,27 @@
             <el-form-item prop="inBlackList" label="黑名单">
             <el-form-item prop="inBlackList" label="黑名单">
                 <el-switch v-model="formData.inBlackList"></el-switch>
                 <el-switch v-model="formData.inBlackList"></el-switch>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="companyId" label="公司ID">
-                <el-input v-model="formData.companyId"></el-input>
+            <el-form-item prop="companyId" label="授权公司">
+                <el-select
+                    v-model="formData.companyId"
+                    filterable
+                    placeholder="请选择"
+                    value-key="id"
+                    clearable
+                    style="width:100%"
+                >
+                    <el-option
+                        v-for="item in companys"
+                        :key="item.id"
+                        :label="item.companyName"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item>
             <el-form-item>
                 <el-button class="filter-btn" @click="onSave" :loading="$store.state.fetchingData" type="primary"
                 <el-button class="filter-btn" @click="onSave" :loading="$store.state.fetchingData" type="primary"
-                    >保存</el-button
-                >
+                    >保存
+                </el-button>
                 <el-button
                 <el-button
                     class="filter-btn btn2"
                     class="filter-btn btn2"
                     @click="del"
                     @click="del"
@@ -100,6 +115,17 @@ export default {
             .catch(e => {
             .catch(e => {
                 console.log(e);
                 console.log(e);
             });
             });
+        this.$http
+            .get('/company/all', {
+                page: 0,
+                size: 1000
+            })
+            .then(res => {
+                this.companys = res.content;
+            })
+            .catch(e => {
+                console.log(e);
+            });
         this.$http
         this.$http
             .get('/storeInfo/all', {
             .get('/storeInfo/all', {
                 page: 0,
                 page: 0,
@@ -141,7 +167,8 @@ export default {
                 authorities: [{ required: true, message: '请选择角色', trigger: 'blur' }]
                 authorities: [{ required: true, message: '请选择角色', trigger: 'blur' }]
             },
             },
             authorities: [],
             authorities: [],
-            stores: []
+            stores: [],
+            companys: []
         };
         };
     },
     },
     methods: {
     methods: {

+ 42 - 10
src/main/vue/src/views/UserList.vue

@@ -2,6 +2,14 @@
     <div class="list-view">
     <div class="list-view">
         <div class="filters-container">
         <div class="filters-container">
             <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input>
             <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input>
+            <el-select v-model="companyId" filterable placeholder="请选择" value-key="id" clearable>
+                <el-option
+                    v-for="item in companys"
+                    :key="item.id"
+                    :label="item.companyName"
+                    :value="item.id"
+                ></el-option>
+            </el-select>
             <el-button @click="(page = 1), getData()" type="primary" icon="el-icon-search" class="filter-btn"
             <el-button @click="(page = 1), getData()" type="primary" icon="el-icon-search" class="filter-btn"
                 >搜索
                 >搜索
             </el-button>
             </el-button>
@@ -28,17 +36,17 @@
             cell-class-name="table-cell"
             cell-class-name="table-cell"
             v-loading="tableLoading"
             v-loading="tableLoading"
         >
         >
-            <el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
+            <el-table-column v-if="multipleMode" align="center" type="selection" width="50"></el-table-column>
             <el-table-column prop="id" label="ID" width="100">
             <el-table-column prop="id" label="ID" width="100">
                 <template v-slot="{ row }">
                 <template v-slot="{ row }">
                     <span @click="clickId(row)">{{ row.id }}</span>
                     <span @click="clickId(row)">{{ row.id }}</span>
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column prop="username" label="用户名"> </el-table-column>
-            <el-table-column prop="nickname" label="昵称"> </el-table-column>
-            <el-table-column prop="realName" label="姓名"> </el-table-column>
-            <el-table-column prop="idNo" label="身份证"> </el-table-column>
-            <el-table-column prop="phone" label="手机" min-width="120"> </el-table-column>
+            <el-table-column prop="username" label="用户名"></el-table-column>
+            <el-table-column prop="nickname" label="昵称"></el-table-column>
+            <el-table-column prop="realName" label="姓名"></el-table-column>
+            <el-table-column prop="idNo" label="身份证"></el-table-column>
+            <el-table-column prop="phone" label="手机" min-width="120"></el-table-column>
             <el-table-column label="头像" min-width="60">
             <el-table-column label="头像" min-width="60">
                 <template v-slot="{ row }">
                 <template v-slot="{ row }">
                     <el-image
                     <el-image
@@ -52,8 +60,8 @@
             <el-table-column label="操作" align="center" fixed="right" v-if="canEdit">
             <el-table-column label="操作" align="center" fixed="right" v-if="canEdit">
                 <template v-slot="{ row }">
                 <template v-slot="{ row }">
                     <el-button @click="editRow(row)" type="primary" size="mini" class="filter-btn" plain
                     <el-button @click="editRow(row)" type="primary" size="mini" class="filter-btn" plain
-                        >编辑</el-button
-                    >
+                        >编辑
+                    </el-button>
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
         </el-table>
         </el-table>
@@ -77,16 +85,32 @@
 import { mapState } from 'vuex';
 import { mapState } from 'vuex';
 import ClipboardJS from 'clipboard';
 import ClipboardJS from 'clipboard';
 import pageableTable from '@/mixins/pageableTable';
 import pageableTable from '@/mixins/pageableTable';
+
 const clickData = {};
 const clickData = {};
 export default {
 export default {
     name: 'UserList',
     name: 'UserList',
     mixins: [pageableTable],
     mixins: [pageableTable],
+    created() {
+        this.$http
+            .get('/company/all', {
+                page: 0,
+                size: 1000
+            })
+            .then(res => {
+                this.companys = res.content;
+            })
+            .catch(e => {
+                console.log(e);
+            });
+    },
     data() {
     data() {
         return {
         return {
             multipleMode: false,
             multipleMode: false,
             search: '',
             search: '',
             url: '/user/all',
             url: '/user/all',
-            downloading: false
+            companyId: null,
+            downloading: false,
+            companys: []
         };
         };
     },
     },
     computed: {
     computed: {
@@ -123,9 +147,17 @@ export default {
             }
             }
         },
         },
         beforeGetData() {
         beforeGetData() {
+            let data = {
+                query: {}
+            };
+
             if (this.search) {
             if (this.search) {
-                return { search: this.search };
+                data.search = this.search;
+            }
+            if (this.companyId) {
+                data.query.companyId = this.companyId;
             }
             }
+            return data;
         },
         },
         toggleMultipleMode(multipleMode) {
         toggleMultipleMode(multipleMode) {
             this.multipleMode = multipleMode;
             this.multipleMode = multipleMode;