Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

panhui 7 vuotta sitten
vanhempi
commit
f27627aabf

+ 22 - 0
src/main/java/com/izouma/awesomeadmin/web/QueryConfigController.java

@@ -166,5 +166,27 @@ public class QueryConfigController {
 
 
     }
+
+
+    @RequestMapping(value = "/check", method = RequestMethod.GET)
+    @ResponseBody
+    public Result check(QueryConfig record) {
+
+        QueryConfig queryConfig = new QueryConfig();
+        queryConfig.setCode(record.getCode());
+
+        QueryConfig data = queryConfigService.getQueryConfig(queryConfig);
+        if (data != null) {
+            if (record.getId() != null) {
+                if (!record.getId().equals(data.getId())) {
+                    return new Result(false, "CODE冲突");
+                }
+            } else {
+                return new Result(false, "CODE冲突");
+            }
+        }
+
+        return new Result(true, "1");
+    }
 }
 

+ 5 - 5
src/main/vue/src/pages/CommonQuery.vue

@@ -24,7 +24,7 @@
                         <template v-else-if="item.formType=='select'">
 
                             <el-select v-model="formData[item.name]" clearable placeholder="请选择">
-                                <el-option v-for="optionItem in selectOptions[item.name]" :key="optionItem.value" :label="optionItem.label" :value="optionItem.value">
+                                <el-option v-for="(optionItem,index) in selectOptions[item.name]" :key="index" :label="optionItem.label" :value="optionItem.value">
                                 </el-option>
                             </el-select>
 
@@ -32,7 +32,7 @@
 
                         <template v-else-if="item.formType=='multiSelect'">
                             <el-select v-model="formData[item.name]" multiple clearable placeholder="请选择">
-                                <el-option v-for="optionItem in selectOptions[item.name]" :key="optionItem.value" :label="optionItem.label" :value="optionItem.value">
+                                <el-option v-for="(optionItem,index) in selectOptions[item.name]" :key="index" :label="optionItem.label" :value="optionItem.value">
                                 </el-option>
                             </el-select>
                         </template>
@@ -349,7 +349,7 @@ export default {
                                             var tempOptions = [];
                                             res.data.forEach(item => {
                                                 var val = {
-                                                    lable: item[element.optionsLabel],
+                                                    label: item[element.optionsLabel],
                                                     value: item[element.optionsValue],
                                                 }
                                                 tempOptions.push(val)
@@ -377,7 +377,7 @@ export default {
                                             if (res.data.length > 0) {
                                                 res.data.forEach(item => {
                                                     var val = {
-                                                        lable: item[element.optionsLabel],
+                                                        label: item[element.optionsLabel],
                                                         value: item[element.optionsValue],
                                                     }
                                                     tempOptions.push(val)
@@ -396,7 +396,7 @@ export default {
 
                                     element.optionsValue.split(',').forEach(item => {
                                         var val = {
-                                            lable: item,
+                                            label: item,
                                             value: item,
                                         }
                                         tempOptions.push(val)

+ 19 - 5
src/main/vue/src/pages/CommonQuerys.vue

@@ -48,7 +48,7 @@
             <el-table-column label="操作" align="center" fixed="right" v-if="isModulesShow('edit')" min-width="240">
                 <template slot-scope="scope">
 
-                    <el-dropdown>
+                    <el-dropdown v-if="subtables.length>0">
                         <el-button type="primary" size="mini" plain>
                             更多
                             <i class="el-icon-arrow-down el-icon--right"></i>
@@ -311,8 +311,6 @@ export default {
         },
         getData() {
 
-
-
             if (this.tableColumns.length > 0) {
 
                 var templist = [];
@@ -374,8 +372,8 @@ export default {
                             }
                         }
                         // if (fieldValue) {
-                            tempItem += fieldValue;
-                            templist.push(tempItem);
+                        tempItem += fieldValue;
+                        templist.push(tempItem);
                         // }
                     }
                 })
@@ -397,6 +395,22 @@ export default {
                 }
             }
 
+            if (this.orderByStr) {
+
+                var orderTemp = this.orderByStr.split('_;');
+
+                var orderList = [];
+
+                orderTemp.forEach(item => {
+                    if (orderList.indexOf(item) == -1) {
+                        orderList.push(item);
+                    }
+                })
+
+                this.orderByStr = orderList.join('_;')
+
+            }
+
 
             this.loading = true;
             this.$http.get({

+ 23 - 1
src/main/vue/src/pages/QueryConfig.vue

@@ -558,12 +558,34 @@ export default {
         onSave() {
             this.$refs.form.validate((valid) => {
                 if (valid) {
-                    this.submit();
+                    this.checkCodeName();
                 } else {
                     return false;
                 }
             });
         },
+
+        checkCodeName() {
+
+            this.$http.get({
+                url: '/queryConfig/check',
+                data: {
+                    id: this.formData.id,
+                    code: this.formData.code,
+                }
+            }).then(res => {
+                if (res.success) {
+
+                    this.submit();
+
+                } else {
+                    this.$msgbox({ title: '提示', type: 'error', message: 'CODE以存在' });
+                }
+            })
+
+
+        },
+
         submit() {
 
             this.tablecolumnsStr = '';