1
0
suochencheng 7 лет назад
Родитель
Сommit
77cb117fd2
2 измененных файлов с 172 добавлено и 137 удалено
  1. 2 2
      src/main/java/com/izouma/awesomeadmin/dao/StoreInfoMapper.xml
  2. 170 135
      src/main/vue/src/pages/StoreInfo.vue

+ 2 - 2
src/main/java/com/izouma/awesomeadmin/dao/StoreInfoMapper.xml

@@ -530,7 +530,7 @@
             </trim>
             </trim>
             ,
             ,
         </if>
         </if>
-        id desc
+       rank desc , id desc
     </select>
     </select>
     <select id="queryAllStoreInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StoreInfo">
     <select id="queryAllStoreInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StoreInfo">
         select <include refid="Base_Column_List"/> from store_info
         select <include refid="Base_Column_List"/> from store_info
@@ -695,7 +695,7 @@
             ,
             ,
         </if>
         </if>
 
 
-        id desc
+        rank desc , id desc
     </select>
     </select>
     <select id="queryStoreInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StoreInfo">
     <select id="queryStoreInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.StoreInfo">
         select <include refid="Base_Column_List"/> from store_info
         select <include refid="Base_Column_List"/> from store_info

+ 170 - 135
src/main/vue/src/pages/StoreInfo.vue

@@ -1,107 +1,99 @@
 <template>
 <template>
     <div>
     <div>
-        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
-                 style="max-width: 500px;">
-                                                                                                                                                                                                                                    <el-form-item prop="userId" label="用户ID">
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small" style="max-width: 500px;">
+            <el-form-item prop="typeFlag" label="类型">
+                <template>
+                    <el-select v-model="formData.typeFlag" clearable placeholder="请选择" :disabled="'typeFlag'==subColumn">
+                        <el-option v-for="item in typeFlagOptions" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </template>
+            </el-form-item>
+            <el-form-item prop="serviceType" label="服务类型">
+                <el-select v-model="formData.serviceType" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in serviceTypes" :key="item.id" :label="item.shortName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </el-form-item>
+
+            <el-form-item prop="subclass" label="服务小类">
+                <el-select v-model="formData.subclass" filterable placeholder="请选择" size="small">
+                    <el-option v-for="item in serviceTypeDetails[formData.serviceType]" :key="item.id" :label="item.typeName" :value="item.id">
+                    </el-option>
+                </el-select>
+
+            </el-form-item>
+
+            <el-form-item prop="userId" label="用户ID">
                 <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
                 <el-input v-model="formData.userId" :disabled="'userId'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="userName" label="用户">
+            <el-form-item prop="userName" label="用户">
                 <el-input v-model="formData.userName" :disabled="'userName'==subColumn"></el-input>
                 <el-input v-model="formData.userName" :disabled="'userName'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="storeName" label="店铺名称">
+            <el-form-item prop="storeName" label="店铺名称">
                 <el-input v-model="formData.storeName" :disabled="'storeName'==subColumn"></el-input>
                 <el-input v-model="formData.storeName" :disabled="'storeName'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="serviceType" label="服务类型">
-                <el-input v-model="formData.serviceType" :disabled="'serviceType'==subColumn"></el-input>
-            </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="description" label="描述">
+
+            <el-form-item prop="description" label="描述">
                 <el-input v-model="formData.description" :disabled="'description'==subColumn"></el-input>
                 <el-input v-model="formData.description" :disabled="'description'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                         <el-form-item prop="icon" label="头像">
-                 <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
-             </el-form-item>
-                                                                                                                                                                                <el-form-item prop="province" label="省">
+            <el-form-item prop="icon" label="头像">
+                <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
+            </el-form-item>
+            <el-form-item prop="province" label="省">
                 <el-input v-model="formData.province" :disabled="'province'==subColumn"></el-input>
                 <el-input v-model="formData.province" :disabled="'province'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="citye" label="市">
+            <el-form-item prop="citye" label="市">
                 <el-input v-model="formData.citye" :disabled="'citye'==subColumn"></el-input>
                 <el-input v-model="formData.citye" :disabled="'citye'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="district" label="区">
+            <el-form-item prop="district" label="区">
                 <el-input v-model="formData.district" :disabled="'district'==subColumn"></el-input>
                 <el-input v-model="formData.district" :disabled="'district'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="addressDetail" label="详细地址">
+            <el-form-item prop="addressDetail" label="详细地址">
                 <el-input v-model="formData.addressDetail" :disabled="'addressDetail'==subColumn"></el-input>
                 <el-input v-model="formData.addressDetail" :disabled="'addressDetail'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bankCard" label="银行卡号">
+            <el-form-item prop="bankCard" label="银行卡号">
                 <el-input v-model="formData.bankCard" :disabled="'bankCard'==subColumn"></el-input>
                 <el-input v-model="formData.bankCard" :disabled="'bankCard'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="bankName" label="开户行">
+            <el-form-item prop="bankName" label="开户行">
                 <el-input v-model="formData.bankName" :disabled="'bankName'==subColumn"></el-input>
                 <el-input v-model="formData.bankName" :disabled="'bankName'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="openName" label="开户人">
+            <el-form-item prop="openName" label="开户人">
                 <el-input v-model="formData.openName" :disabled="'openName'==subColumn"></el-input>
                 <el-input v-model="formData.openName" :disabled="'openName'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                                                                                                                                <el-form-item prop="credit" label="信誉等级">
+            <el-form-item prop="credit" label="信誉等级">
                 <template>
                 <template>
-                    <el-select v-model="formData.credit" clearable  placeholder="请选择" :disabled="'credit'==subColumn">
-                        <el-option
-                                v-for="item in creditOptions"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
+                    <el-select v-model="formData.credit" clearable placeholder="请选择" :disabled="'credit'==subColumn">
+                        <el-option v-for="item in creditOptions" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                         </el-option>
                     </el-select>
                     </el-select>
                 </template>
                 </template>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                    <el-form-item prop="useFlag" label="可用">
-                <el-switch
-                        v-model="formData.useFlag"
-                        active-color="#13ce66"
-                        inactive-color="#ff4949"
-                        :disabled="'useFlag'==subColumn">
-                </el-switch>
-            </el-form-item>
-                                                                                                                                        <el-form-item prop="rank" label="排序">
+
+            <el-form-item prop="rank" label="排序">
                 <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
                 <el-input type="number" v-model="formData.rank" :disabled="'rank'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="responseTime" label="响应时间">
+            <el-form-item prop="responseTime" label="响应时间">
                 <el-input type="number" v-model="formData.responseTime" :disabled="'responseTime'==subColumn"></el-input>
                 <el-input type="number" v-model="formData.responseTime" :disabled="'responseTime'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="reworkRate" label="返片率">
+            <el-form-item prop="reworkRate" label="返片率">
                 <el-input type="number" v-model="formData.reworkRate" :disabled="'reworkRate'==subColumn"></el-input>
                 <el-input type="number" v-model="formData.reworkRate" :disabled="'reworkRate'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <el-form-item prop="hotFlag" label="热门">
-                <el-switch
-                        v-model="formData.hotFlag"
-                        active-color="#13ce66"
-                        inactive-color="#ff4949"
-                        :disabled="'hotFlag'==subColumn">
+            <el-form-item prop="hotFlag" label="热门">
+                <el-switch v-model="formData.hotFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'hotFlag'==subColumn">
                 </el-switch>
                 </el-switch>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                                                            <el-form-item prop="homeFlag" label="首页">
-                <el-switch
-                        v-model="formData.homeFlag"
-                        active-color="#13ce66"
-                        inactive-color="#ff4949"
-                        :disabled="'homeFlag'==subColumn">
+            <el-form-item prop="homeFlag" label="首页">
+                <el-switch v-model="formData.homeFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'homeFlag'==subColumn">
                 </el-switch>
                 </el-switch>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                    <el-form-item prop="typeFlag" label="类型">
-                <template>
-                    <el-select v-model="formData.typeFlag" clearable  placeholder="请选择" :disabled="'typeFlag'==subColumn">
-                        <el-option
-                                v-for="item in typeFlagOptions"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
-                        </el-option>
-                    </el-select>
-                </template>
-            </el-form-item>
-                                                                                                                                                                                                                        <el-form-item prop="subclass" label="服务小类">
-                <el-input v-model="formData.subclass" :disabled="'subclass'==subColumn"></el-input>
+            <el-form-item prop="useFlag" label="可用">
+                <el-switch v-model="formData.useFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'useFlag'==subColumn">
+                </el-switch>
             </el-form-item>
             </el-form-item>
-                                                                                                                                                                                                                                                                                        <el-form-item>
+
+            <el-form-item>
                 <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
                 <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
                 <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
                 <el-button @click="onDelete" v-if="formData.id" type="danger">删除</el-button>
                 <el-button @click="$router.go(-1)">取消</el-button>
                 <el-button @click="$router.go(-1)">取消</el-button>
@@ -110,94 +102,137 @@
     </div>
     </div>
 </template>
 </template>
 <script>
 <script>
-    import formValidator from '../formValidator'
+import formValidator from '../formValidator'
 
 
-    export default {
-        created() {
-            if (this.$route.query.column) {
-                this.subColumn = this.$route.query.column.split(',')[1];
-                this.subValue = this.$route.query.column.split(',')[0];
-            }
+export default {
+    created() {
+        if (this.$route.query.column) {
+            this.subColumn = this.$route.query.column.split(',')[1];
+            this.subValue = this.$route.query.column.split(',')[0];
+        }
+
+        if (this.$route.query.id) {
+            this.$http.get({
+                url: '/storeInfo/getOne',
+                data: {
+                    id: this.$route.query.id
+                }
+            }).then(res => {
+                if (res.success) {
 
 
-            if (this.$route.query.id) {
-                this.$http.get({
-                    url: '/storeInfo/getOne',
-                    data: {
-                        id: this.$route.query.id
-                    }
-                }).then(res => {
-                    if (res.success) {
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
-                        this.formData = res.data;
+                    this.formData = res.data;
+                    if (this.formData.serviceType) {
+
+                        this.formData.serviceType = Number(this.formData.serviceType);
+                    }
+                    if (this.formData.subclass) {
+                        this.formData.subclass = Number(this.formData.subclass);
+                    }
+                    this.formData.hotFlag = this.formData.hotFlag == 1 ? true : false;
+                    this.formData.homeFlag = this.formData.homeFlag == 1 ? true : false;
+                    this.formData.useFlag = this.formData.useFlag == 'Y' ? true : false;
 
 
                     if (this.$route.query.column) {
                     if (this.$route.query.column) {
                         this.formData[this.subColumn] = this.subValue;
                         this.formData[this.subColumn] = this.subValue;
                     }
                     }
-                    }
-                })
-            }else {
-                if (this.$route.query.column) {
-                    this.formData[this.subColumn] = this.subValue;
                 }
                 }
+            })
+        } else {
+            if (this.$route.query.column) {
+                this.formData[this.subColumn] = this.subValue;
             }
             }
-
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
-        data() {
-            return {
-                saving: false,
-                formData: {},
-                rules: {
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    },
-                                                                                                                                                                                creditOptions:[{ label: 'A', value: 'A' }, { label: 'B', value: 'B' },{ label: 'C', value: 'C' },{ label: 'D', value: 'D' },{ label: 'E', value: 'E' }],
-                                                                                            typeFlagOptions:[{ label: '官方', value:0}, { label: '企业', value: 1 },{ label: '个人', value: 2}],
-                                        subColumn: '',
-            subValue: '',
         }
         }
-        },
-        methods: {
-            onSave() {
-                this.$refs.form.validate((valid) => {
-                    if (valid) {
-                        this.submit();
-                    } else {
-                        return false;
-                    }
+
+        this.$http.get({
+            url: '/serviceType/all'
+        }).then(res => {
+            if (res.success) {
+                this.serviceTypes = res.data;
+
+                this.serviceTypes.forEach(element => {
+
+                    this.serviceTypeDetails[element.id] = element.serviceTypeDetailList
+
                 });
                 });
+            }
+        });
+
+
+    },
+    data() {
+        return {
+            saving: false,
+            formData: {
+                credit: 'A',
+                typeFlag: 0,
+                rank: 0,
+                responseTime: 0,
+                reworkRate: 0,
+                useFlag: true,
+                serviceType: 1,
             },
             },
-            submit() {
-                var data = JSON.parse(JSON.stringify(this.formData));
-                this.$http.post({
-                    url: this.formData.id ? '/storeInfo/update' : '/storeInfo/save',
-                    data: data
-                }).then(res => {
-                    if (res.success) {
-                        this.$message.success('成功');
-                        this.$router.go(-1);
-                    } else {
-                        this.$message.warning('失败')
-                    }
-                });
+            rules: {
             },
             },
-            onDelete() {
-                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
-                    return this.$http.post({
+            creditOptions: [{ label: 'A', value: 'A' }, { label: 'B', value: 'B' }, { label: 'C', value: 'C' }, { label: 'D', value: 'D' }, { label: 'E', value: 'E' }],
+            typeFlagOptions: [{ label: '官方', value: 0 }, { label: '企业', value: 1 }, { label: '个人', value: 2 }],
+            subColumn: '',
+            subValue: '',
+            serviceTypes: [],
+            serviceTypeDetails: {},
+        }
+    },
+    methods: {
+        onSave() {
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+
+
+
+            var data = JSON.parse(JSON.stringify(this.formData));
+
+            data.hotFlag = this.formData.hotFlag ? 1 : 0;
+            data.homeFlag = this.formData.homeFlag ? 1 : 0;
+            data.useFlag = this.formData.useFlag ? 'Y' : 'N';
+
+            this.$http.post({
+                url: this.formData.id ? '/storeInfo/update' : '/storeInfo/save',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.$message.success('成功');
+                    this.$router.go(-1);
+                } else {
+                    this.$message.warning('失败')
+                }
+            });
+        },
+        onDelete() {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                return this.$http.post({
                     url: '/storeInfo/del',
                     url: '/storeInfo/del',
                     data: { id: this.formData.id }
                     data: { id: this.formData.id }
-                    })
-                }).then(() => {
-                    this.$message.success('删除成功');
-                    this.$router.go(-1);
-                }).catch(action => {
-                    if (action === 'cancel') {
-                        this.$message.info('删除取消');
-                    } else {
-                        this.$message.error('删除失败');
-                    }
                 })
                 })
-            },
-        }
+            }).then(() => {
+                this.$message.success('删除成功');
+                this.$router.go(-1);
+            }).catch(action => {
+                if (action === 'cancel') {
+                    this.$message.info('删除取消');
+                } else {
+                    this.$message.error('删除失败');
+                }
+            })
+        },
     }
     }
+}
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
 </style>
 </style>