Bladeren bron

20181213权限

suochencheng 7 jaren geleden
bovenliggende
commit
eba3562768

+ 11 - 0
src/main/java/com/izouma/awesomeadmin/dao/QueryConfigMapper.xml

@@ -13,6 +13,7 @@
         <result column="config_json" property="configJson" jdbcType="VARCHAR"/>
         <result column="config_json" property="configJson" jdbcType="VARCHAR"/>
         <result column="type_flag" property="typeFlag" jdbcType="VARCHAR"/>
         <result column="type_flag" property="typeFlag" jdbcType="VARCHAR"/>
         <result column="sub_json" property="subJson" jdbcType="VARCHAR"/>
         <result column="sub_json" property="subJson" jdbcType="VARCHAR"/>
+        <result column="query_json" property="queryJson" jdbcType="VARCHAR"/>
     </resultMap>
     </resultMap>
     <sql id="Base_Column_List">
     <sql id="Base_Column_List">
         <trim suffixOverrides=",">
         <trim suffixOverrides=",">
@@ -37,6 +38,7 @@
             type_flag,
             type_flag,
 
 
             sub_json,
             sub_json,
+            query_json,
 
 
         </trim>
         </trim>
     </sql>
     </sql>
@@ -87,6 +89,9 @@
             <if test="subJson!= null">
             <if test="subJson!= null">
                 sub_json,
                 sub_json,
             </if>
             </if>
+            <if test="queryJson!= null">
+                query_json,
+            </if>
         </trim>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">
             <if test="id != null">
@@ -122,6 +127,9 @@
             <if test="subJson != null">
             <if test="subJson != null">
                 #{subJson,jdbcType=VARCHAR},
                 #{subJson,jdbcType=VARCHAR},
             </if>
             </if>
+            <if test="queryJson != null">
+                #{queryJson,jdbcType=VARCHAR},
+            </if>
         </trim>
         </trim>
     </insert>
     </insert>
     <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig">
     <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig">
@@ -160,6 +168,9 @@
             <if test="subJson != null">
             <if test="subJson != null">
                 sub_json= #{subJson,jdbcType=VARCHAR},
                 sub_json= #{subJson,jdbcType=VARCHAR},
             </if>
             </if>
+            <if test="queryJson != null">
+                query_json= #{queryJson,jdbcType=VARCHAR},
+            </if>
         </set>
         </set>
         where id = #{id,jdbcType=INTEGER}
         where id = #{id,jdbcType=INTEGER}
     </update>
     </update>

+ 25 - 27
src/main/java/com/izouma/awesomeadmin/dao/TestAaaMapper.xml

@@ -16,33 +16,7 @@
                                 <result column="depart_id" property="departId" jdbcType="VARCHAR" />
                                 <result column="depart_id" property="departId" jdbcType="VARCHAR" />
             </resultMap>
             </resultMap>
     <sql id="Base_Column_List" >
     <sql id="Base_Column_List" >
-        <trim  suffixOverrides="," >
-            id,
-
-            del_flag,
-
-            image_url,
-
-            test_name,
-
-            remark,
-
-            multi_select,
-
-            test_time,
-
-            login_user,
-
-            testc_time,
-
-            testc_date,
-
-            work_number,
-
-            depart_id,
-
-            </trim>
-    </sql>
+        id, del_flag, image_url, test_name, remark, multi_select, test_time, login_user, testc_time, testc_date, work_number, depart_id    </sql>
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
         select
         select
         <include refid="Base_Column_List" />
         <include refid="Base_Column_List" />
@@ -251,6 +225,18 @@
 
 
                             </foreach>
                             </foreach>
                         </when>
                         </when>
+                        <when test="item.indexOf('in') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    (${itemDetail})
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
                         <otherwise>
                         <otherwise>
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                                 <if test="detailIndex == 3">
                                 <if test="detailIndex == 3">
@@ -357,6 +343,18 @@
 
 
                 </foreach>
                 </foreach>
             </when>
             </when>
+            <when test="item.indexOf('in') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        (${itemDetail})
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
             <otherwise>
             <otherwise>
                 <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                 <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                     <if test="detailIndex == 3">
                     <if test="detailIndex == 3">

+ 10 - 0
src/main/java/com/izouma/awesomeadmin/model/AdvancedQueryField.java

@@ -19,6 +19,8 @@ public class AdvancedQueryField {
 
 
     private Boolean noChange;
     private Boolean noChange;
 
 
+    private Boolean systemFlag;
+
     public String getLink() {
     public String getLink() {
         return link;
         return link;
     }
     }
@@ -58,5 +60,13 @@ public class AdvancedQueryField {
     public void setNoChange(Boolean noChange) {
     public void setNoChange(Boolean noChange) {
         this.noChange = noChange;
         this.noChange = noChange;
     }
     }
+
+    public Boolean getSystemFlag() {
+        return systemFlag;
+    }
+
+    public void setSystemFlag(Boolean systemFlag) {
+        this.systemFlag = systemFlag;
+    }
 }
 }
 
 

+ 21 - 0
src/main/java/com/izouma/awesomeadmin/model/QueryConfig.java

@@ -40,6 +40,11 @@ public class QueryConfig {
      */
      */
     private String subJson;
     private String subJson;
 
 
+    private List<AdvancedQueryField> advancedQueryFields;
+
+    private String queryJson;
+
+
     public Integer getId() {
     public Integer getId() {
         return this.id;
         return this.id;
     }
     }
@@ -159,5 +164,21 @@ public class QueryConfig {
     public void setSubJson(String subJson) {
     public void setSubJson(String subJson) {
         this.subJson = subJson;
         this.subJson = subJson;
     }
     }
+
+    public List<AdvancedQueryField> getAdvancedQueryFields() {
+        return advancedQueryFields;
+    }
+
+    public void setAdvancedQueryFields(List<AdvancedQueryField> advancedQueryFields) {
+        this.advancedQueryFields = advancedQueryFields;
+    }
+
+    public String getQueryJson() {
+        return queryJson;
+    }
+
+    public void setQueryJson(String queryJson) {
+        this.queryJson = queryJson;
+    }
 }
 }
 
 

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

@@ -85,6 +85,7 @@ public class QueryConfigController {
         Gson gson = new Gson();
         Gson gson = new Gson();
         record.setConfigJson(gson.toJson(record.getFields()));
         record.setConfigJson(gson.toJson(record.getFields()));
         record.setSubJson(gson.toJson(record.getSubtables()));
         record.setSubJson(gson.toJson(record.getSubtables()));
+        record.setQueryJson(gson.toJson(record.getAdvancedQueryFields()));
 
 
         boolean num = queryConfigService.createQueryConfig(record);
         boolean num = queryConfigService.createQueryConfig(record);
         if (num) {
         if (num) {
@@ -103,6 +104,7 @@ public class QueryConfigController {
         Gson gson = new Gson();
         Gson gson = new Gson();
         record.setConfigJson(gson.toJson(record.getFields()));
         record.setConfigJson(gson.toJson(record.getFields()));
         record.setSubJson(gson.toJson(record.getSubtables()));
         record.setSubJson(gson.toJson(record.getSubtables()));
+        record.setQueryJson(gson.toJson(record.getAdvancedQueryFields()));
 
 
         boolean num = queryConfigService.updateQueryConfig(record);
         boolean num = queryConfigService.updateQueryConfig(record);
         if (num) {
         if (num) {

+ 75 - 9
src/main/resources/templates/ListTemplate.vm

@@ -53,7 +53,7 @@
                         label="操作"
                         label="操作"
                         align="center"
                         align="center"
                         fixed="left"
                         fixed="left"
-                        min-width="150"
+                        min-width="170"
                 >
                 >
                     <template slot-scope="scope">
                     <template slot-scope="scope">
 
 
@@ -97,7 +97,7 @@
                                 prop="${field.modelName}"
                                 prop="${field.modelName}"
                                 label="$display.alt(${field.remark},${field.modelName})"
                                 label="$display.alt(${field.remark},${field.modelName})"
                                 :formatter="DateTimeFormatter"
                                 :formatter="DateTimeFormatter"
-                                min-width="100">
+                                min-width="120">
                         </el-table-column>
                         </el-table-column>
                     #elseif(${field.formType}=="singleImage")
                     #elseif(${field.formType}=="singleImage")
                         <el-table-column
                         <el-table-column
@@ -105,7 +105,7 @@
                                 prop="${field.modelName}"
                                 prop="${field.modelName}"
                                 label="$display.alt(${field.remark},${field.modelName})"
                                 label="$display.alt(${field.remark},${field.modelName})"
                                 min-width="100">
                                 min-width="100">
-                            <template slot-scope="{row}">
+                            <template slot-scope="{row}" v-if="row.${field.modelName}">
                                 <img :src="row.${field.modelName}" @click="showImg(row.${field.modelName})" style="width: 100px;height: 100px;vertical-align: middle;" />
                                 <img :src="row.${field.modelName}" @click="showImg(row.${field.modelName})" style="width: 100px;height: 100px;vertical-align: middle;" />
                             </template>
                             </template>
 
 
@@ -174,11 +174,24 @@
                         </el-select>
                         </el-select>
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
+
+                <el-table-column prop="systemFlag" label="系统参数" width="50" align="center">
+                    <template slot-scope="{row}">
+                        <el-checkbox v-model="row.systemFlag" :disabled="row.noChange"></el-checkbox>
+                    </template>
+                </el-table-column>
+
                 <el-table-column prop="value" label="参数" align="center">
                 <el-table-column prop="value" label="参数" align="center">
-                    <template slot-scope="{row}" >
-                        <el-input v-model="row.value" :disabled="row.noChange"></el-input>
+                    <template slot-scope="{row}">
+                        <el-select v-model="row.value" v-if="row.systemFlag"  :disabled="row.noChange">
+                            <el-option v-for="item in systemParameters" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                        </el-select>
+                        <el-input v-model="row.value" v-else  :disabled="row.noChange"></el-input>
+
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
                 <el-table-column width="60" align="center">
                 <el-table-column width="60" align="center">
                     <template slot-scope="{ row, column, ${esc.d}index }">
                     <template slot-scope="{ row, column, ${esc.d}index }">
                         <el-button @click="removeField(${esc.d}index)" size="small" type="text" v-if="!row.noChange">删除</el-button>
                         <el-button @click="removeField(${esc.d}index)" size="small" type="text" v-if="!row.noChange">删除</el-button>
@@ -316,6 +329,9 @@
                             #if(${advancedQueryField.noChange})
                             #if(${advancedQueryField.noChange})
                                 noChange: true,
                                 noChange: true,
                             #end
                             #end
+                            #if(${advancedQueryField.systemFlag})
+                                systemFlag: true,
+                            #end
                         },
                         },
                     #end
                     #end
                 #end
                 #end
@@ -331,7 +347,20 @@
                     #end
                     #end
                 #end
                 #end
             ],
             ],
-                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+                searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like','in'],
+                systemParameters: [
+
+                { label: '登录名', value: 'loginName' },
+                { label: '工号', value: 'workNumber' },
+                { label: '部门', value: 'departId' },
+                { label: '当前时间', value: 'currentTime' },
+                { label: '当前日期', value: 'currentDate' },
+                { label: 'MIS代码', value: 'misCode' },
+                { label: 'MIS名称', value: 'misName' },
+                { label: '下辖MIS代码', value: 'misChildCode' },
+                { label: '下辖MIS名称', value: 'misChildName' },
+                { label: '下辖MIS代码和名称', value: 'misChildCodeAndName' },
+            ],
                 advancedQueryColumns: [
                 advancedQueryColumns: [
                     #foreach($field in $model.fields)
                     #foreach($field in $model.fields)
                         #if(${field.showInList})
                         #if(${field.showInList})
@@ -350,7 +379,7 @@
             }
             }
         },
         },
         computed: {
         computed: {
-            ...mapState(['tableHeight','userInfo']),
+            ...mapState(['tableHeight','userInfo','childDepartInfo','farmName','farmNO']),
             selection() {
             selection() {
                 return this.${esc.d}refs.table.selection.map(i => i.id);
                 return this.${esc.d}refs.table.selection.map(i => i.id);
             }
             }
@@ -380,8 +409,45 @@
 
 
                     this.advancedQueryFields.forEach(item => {
                     this.advancedQueryFields.forEach(item => {
                         if (item.link && item.name && item.searchMethod && item.value) {
                         if (item.link && item.name && item.searchMethod && item.value) {
-                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
-                        templist.push(tempItem);
+
+                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,';
+                        var fieldValue = item.value;
+                        if (item.systemFlag) {
+                            if (item.value == "currentTime") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD HH:mm', {locale: zh});
+                            }
+                            if (item.value == "currentDate") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD', {locale: zh});
+                            }
+                            if (item.value == "departId") {
+                                fieldValue = this.userInfo.departId;;
+                            }
+                            if (item.value == "loginName") {
+                                fieldValue = this.userInfo.username;
+                            }
+                            if (item.value == "workNumber") {
+                                fieldValue = this.userInfo.workNumber;
+                            }
+                            if (item.value == "misCode") {
+                                fieldValue = this.farmNO;
+                            }
+                            if (item.value == "misName") {
+                                fieldValue = this.farmName;
+                            }
+                            if (item.value == "misChildCode") {
+                                fieldValue = this.childDepartInfo.misCode;
+                            }
+                            if (item.value == "misChildName") {
+                                fieldValue = this.childDepartInfo.misName;
+                            }
+                            if (item.value == "misChildCodeAndName") {
+                                fieldValue = this.childDepartInfo.misCodeAndName;
+                            }
+                        }
+                        if(fieldValue){
+                            tempItem += fieldValue;
+                            templist.push(tempItem);
+                        }
                     }
                     }
                 })
                 })
 
 

+ 24 - 0
src/main/resources/templates/MapperXmlSqlServerTemplate.vm

@@ -108,6 +108,18 @@
 
 
                             </foreach>
                             </foreach>
                         </when>
                         </when>
+                        <when test="item.indexOf('in') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    (${esc.d}{itemDetail})
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${esc.d}{itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
                         <otherwise>
                         <otherwise>
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                                 <if test="detailIndex == 3">
                                 <if test="detailIndex == 3">
@@ -186,6 +198,18 @@
 
 
                             </foreach>
                             </foreach>
                         </when>
                         </when>
+                        <when test="item.indexOf('in') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    (${esc.d}{itemDetail})
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${esc.d}{itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
                         <otherwise>
                         <otherwise>
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                                 <if test="detailIndex == 3">
                                 <if test="detailIndex == 3">

+ 24 - 0
src/main/resources/templates/MapperXmlTemplate.vm

@@ -98,6 +98,18 @@
 
 
                             </foreach>
                             </foreach>
                         </when>
                         </when>
+                        <when test="item.indexOf('in') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    (${esc.d}{itemDetail})
+                                </if>
+
+                                <if test="detailIndex &lt; 3">
+                                    ${esc.d}{itemDetail}
+                                </if>
+
+                            </foreach>
+                        </when>
                         <otherwise>
                         <otherwise>
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                             <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                                 <if test="detailIndex == 3">
                                 <if test="detailIndex == 3">
@@ -173,6 +185,18 @@
 
 
                 </foreach>
                 </foreach>
             </when>
             </when>
+            <when test="item.indexOf('in') != -1">
+                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                    <if test="detailIndex == 3">
+                        (${esc.d}{itemDetail})
+                    </if>
+
+                    <if test="detailIndex &lt; 3">
+                        ${esc.d}{itemDetail}
+                    </if>
+
+                </foreach>
+            </when>
             <otherwise>
             <otherwise>
                 <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                 <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
                     <if test="detailIndex == 3">
                     <if test="detailIndex == 3">

+ 100 - 24
src/main/vue/src/pages/CommonQuerys.vue

@@ -38,7 +38,7 @@
                 </el-table-column>
                 </el-table-column>
 
 
                 <el-table-column v-else-if="item.formType=='singleImage'" :prop="item.name" :label="item.remark" min-width="100">
                 <el-table-column v-else-if="item.formType=='singleImage'" :prop="item.name" :label="item.remark" min-width="100">
-                    <template slot-scope="{row}">
+                    <template slot-scope="{row}" v-if="row[item.name]">
                         <img :src="row[item.name]" @click="showImg(row[item.name])" style="width: 100px;height: 100px;vertical-align: middle;" />
                         <img :src="row[item.name]" @click="showImg(row[item.name])" style="width: 100px;height: 100px;vertical-align: middle;" />
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
@@ -81,7 +81,7 @@
 
 
                 <el-table-column prop="link" label="链接符" align="center">
                 <el-table-column prop="link" label="链接符" align="center">
                     <template slot-scope="{row}">
                     <template slot-scope="{row}">
-                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                        <el-select placeholder="链接" size="small" v-model="row.link" :disabled="row.noChange" class="filter-item">
                             <el-option label="AND" value="AND">
                             <el-option label="AND" value="AND">
                             </el-option>
                             </el-option>
                             <el-option label="OR" value="OR">
                             <el-option label="OR" value="OR">
@@ -91,7 +91,7 @@
                 </el-table-column>
                 </el-table-column>
                 <el-table-column prop="name" label="字段" align="center">
                 <el-table-column prop="name" label="字段" align="center">
                     <template slot-scope="{row}">
                     <template slot-scope="{row}">
-                        <el-select v-model="row.name">
+                        <el-select v-model="row.name" :disabled="row.noChange">
 
 
                             <el-option v-for="item in tableColumns" :label="item.remark" :value="item.name" :key="item.name"></el-option>
                             <el-option v-for="item in tableColumns" :label="item.remark" :value="item.name" :key="item.name"></el-option>
                         </el-select>
                         </el-select>
@@ -99,19 +99,36 @@
                 </el-table-column>
                 </el-table-column>
                 <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
                 <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
                     <template slot-scope="{row}">
                     <template slot-scope="{row}">
-                        <el-select v-model="row.searchMethod">
+                        <el-select v-model="row.searchMethod" :disabled="row.noChange">
                             <el-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
                             <el-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
                         </el-select>
                         </el-select>
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
+                <el-table-column prop="systemFlag" label="系统参数" width="50" align="center">
+                    <template slot-scope="{row}">
+                        <el-checkbox v-model="row.systemFlag" :disabled="row.noChange"></el-checkbox>
+                    </template>
+                </el-table-column>
+
                 <el-table-column prop="value" label="参数" align="center">
                 <el-table-column prop="value" label="参数" align="center">
                     <template slot-scope="{row}">
                     <template slot-scope="{row}">
-                        <el-input v-model="row.value"></el-input>
+                        <el-select v-model="row.value" v-if="row.systemFlag" :disabled="row.noChange">
+                            <el-option v-for="item in systemParameters" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                        </el-select>
+                        <el-input v-model="row.value" v-else :disabled="row.noChange"></el-input>
+
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
+                <!-- <el-table-column prop="value" label="参数" align="center">
+                    <template slot-scope="{row}">
+                        <el-input v-model="row.value"></el-input>
+                    </template>
+                </el-table-column> -->
                 <el-table-column width="60" align="center">
                 <el-table-column width="60" align="center">
                     <template slot-scope="{ row, column, $index }">
                     <template slot-scope="{ row, column, $index }">
-                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+                        <el-button @click="removeField($index)" size="small" type="text" v-if="!row.noChange">删除</el-button>
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
             </el-table>
             </el-table>
@@ -160,11 +177,24 @@ export default {
             dataSourceCode: 'dataSource',
             dataSourceCode: 'dataSource',
             subtables: [],
             subtables: [],
             loading: false,
             loading: false,
+            systemParameters: [
+
+                { label: '登录名', value: 'loginName' },
+                { label: '工号', value: 'workNumber' },
+                { label: '部门', value: 'departId' },
+                { label: '当前时间', value: 'currentTime' },
+                { label: '当前日期', value: 'currentDate' },
+                { label: 'MIS代码', value: 'misCode' },
+                { label: 'MIS名称', value: 'misName' },
+                { label: '下辖MIS代码', value: 'misChildCode' },
+                { label: '下辖MIS名称', value: 'misChildName' },
+                { label: '下辖MIS代码和名称', value: 'misChildCodeAndName' },
+            ],
 
 
         }
         }
     },
     },
     computed: {
     computed: {
-        ...mapState(['tableHeight']),
+        ...mapState(['tableHeight', 'userInfo', 'childDepartInfo', 'farmName', 'farmNO']),
         selection() {
         selection() {
             return this.$refs.table.selection.map(i => i.id);
             return this.$refs.table.selection.map(i => i.id);
         }
         }
@@ -257,6 +287,11 @@ export default {
                             this.subtables = JSON.parse(res.data.subJson)
                             this.subtables = JSON.parse(res.data.subJson)
                         }
                         }
 
 
+                        if (res.data.queryJson) {
+
+                            this.advancedQueryFields = JSON.parse(res.data.queryJson)
+                        }
+
 
 
 
 
                         this.getData();
                         this.getData();
@@ -276,6 +311,8 @@ export default {
         },
         },
         getData() {
         getData() {
 
 
+
+
             if (this.tableColumns.length > 0) {
             if (this.tableColumns.length > 0) {
 
 
                 var templist = [];
                 var templist = [];
@@ -294,6 +331,62 @@ export default {
             }
             }
 
 
 
 
+            this.advancedQuerySearchKey = '';
+
+            if (this.advancedQueryFields.length > 0) {
+
+                var templist = [];
+
+                this.advancedQueryFields.forEach(item => {
+                    if (item.link && item.name && item.searchMethod && item.value) {
+                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,';
+                        var fieldValue = item.value;
+                        if (item.systemFlag) {
+                            if (item.value == "currentTime") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD HH:mm', { locale: zh });
+                            }
+                            if (item.value == "currentDate") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD', { locale: zh });
+                            }
+                            if (item.value == "loginName") {
+                                fieldValue = this.userInfo.username;
+                            }
+                            if (item.value == "departId") {
+                                fieldValue = this.userInfo.departId;;
+                            }
+                            if (item.value == "workNumber") {
+                                fieldValue = this.userInfo.workNumber;
+                            }
+                            if (item.value == "misCode") {
+                                fieldValue = this.farmNO;
+                            }
+                            if (item.value == "misName") {
+                                fieldValue = this.farmName;
+                            }
+                            if (item.value == "misChildCode") {
+                                fieldValue = this.childDepartInfo.misCode;
+                            }
+                            if (item.value == "misChildName") {
+                                fieldValue = this.childDepartInfo.misName;
+                            }
+                            if (item.value == "misChildCodeAndName") {
+                                fieldValue = this.childDepartInfo.misCodeAndName;
+                            }
+                        }
+                        if (fieldValue) {
+                            tempItem += fieldValue;
+                            templist.push(tempItem);
+                        }
+                    }
+                })
+
+                if (templist.length > 0) {
+
+                    this.advancedQuerySearchKey = templist.join('_;');
+                }
+            }
+
+
             if (this.$route.query.column) {
             if (this.$route.query.column) {
                 var tempColumn = this.$route.query.column;
                 var tempColumn = this.$route.query.column;
                 var tempSearchKey = 'AND' + '_,' + tempColumn.split(',')[1] + '_,' + '=' + '_,' + tempColumn.split(',')[0];
                 var tempSearchKey = 'AND' + '_,' + tempColumn.split(',')[1] + '_,' + '=' + '_,' + tempColumn.split(',')[0];
@@ -371,24 +464,7 @@ export default {
         },
         },
         advancedQuery() {
         advancedQuery() {
 
 
-            this.advancedQuerySearchKey = '';
-
-            if (this.advancedQueryFields.length > 0) {
-
-                var templist = [];
 
 
-                this.advancedQueryFields.forEach(item => {
-                    if (item.link && item.name && item.searchMethod && item.value) {
-                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
-                        templist.push(tempItem);
-                    }
-                })
-
-                if (templist.length > 0) {
-
-                    this.advancedQuerySearchKey = templist.join('_;');
-                }
-            }
 
 
             this.getData();
             this.getData();
             this.showAdvancedQueryDialog = false;
             this.showAdvancedQueryDialog = false;

+ 29 - 3
src/main/vue/src/pages/GenCode.vue

@@ -360,9 +360,20 @@
                                     </el-select>
                                     </el-select>
                                 </template>
                                 </template>
                             </el-table-column>
                             </el-table-column>
+
+                            <el-table-column prop="systemFlag" label="系统参数" width="50" align="center">
+                                <template slot-scope="{row}">
+                                    <el-checkbox v-model="row.systemFlag"></el-checkbox>
+                                </template>
+                            </el-table-column>
+
                             <el-table-column prop="value" label="参数" align="center">
                             <el-table-column prop="value" label="参数" align="center">
                                 <template slot-scope="{row}">
                                 <template slot-scope="{row}">
-                                    <el-input v-model="row.value"></el-input>
+                                    <el-select v-model="row.value" v-if="row.systemFlag">
+                                        <el-option v-for="item in systemParameters" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                                    </el-select>
+                                    <el-input v-model="row.value" v-else></el-input>
+
                                 </template>
                                 </template>
                             </el-table-column>
                             </el-table-column>
                             <el-table-column prop="noChange" label="不可修改" width="50" align="center">
                             <el-table-column prop="noChange" label="不可修改" width="50" align="center">
@@ -540,6 +551,7 @@ export default {
                     this.formData.genRouter = false;
                     this.formData.genRouter = false;
                     this.subtables = this.formData.subtables;
                     this.subtables = this.formData.subtables;
                     this.tableSortFields = this.formData.tableSortFields;
                     this.tableSortFields = this.formData.tableSortFields;
+                    
                     this.advancedQueryFields = this.formData.advancedQueryFields;
                     this.advancedQueryFields = this.formData.advancedQueryFields;
 
 
                     this.getTableFields(this.formData.tableName, false);
                     this.getTableFields(this.formData.tableName, false);
@@ -607,7 +619,7 @@ export default {
         return {
         return {
             loading: false,
             loading: false,
             fieldTypes: ['char', 'varchar', 'int', 'text', 'timestamp', 'datetime', 'decimal', 'float', 'vue'],
             fieldTypes: ['char', 'varchar', 'int', 'text', 'timestamp', 'datetime', 'decimal', 'float', 'vue'],
-            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'between', 'like', 'left like', 'right like'],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'in', 'like', 'left like', 'right like'],
             formTypes: [
             formTypes: [
 
 
                 { label: '单行文本', value: 'singleLineText' },
                 { label: '单行文本', value: 'singleLineText' },
@@ -629,6 +641,19 @@ export default {
                 { label: '多行文本', value: 'textarea' },
                 { label: '多行文本', value: 'textarea' },
                 { label: '富文本', value: 'richText' },
                 { label: '富文本', value: 'richText' },
             ],
             ],
+            systemParameters: [
+
+                { label: '登录名', value: 'loginName' },
+                { label: '工号', value: 'workNumber' },
+                { label: '部门', value: 'departId' },
+                { label: '当前时间', value: 'currentTime' },
+                { label: '当前日期', value: 'currentDate' },
+                { label: 'MIS代码', value: 'misCode' },
+                { label: 'MIS名称', value: 'misName' },
+                { label: '下辖MIS代码', value: 'misChildCode' },
+                { label: '下辖MIS名称', value: 'misChildName' },
+                { label: '下辖MIS代码和名称', value: 'misChildCodeAndName' },
+            ],
             validatorTypes: [
             validatorTypes: [
                 { label: '英文', value: 'english' },
                 { label: '英文', value: 'english' },
                 { label: '数字', value: 'number' },
                 { label: '数字', value: 'number' },
@@ -1060,7 +1085,7 @@ export default {
                 value = row.optionsValue;
                 value = row.optionsValue;
             } else if (row.apiFlag == '2') {
             } else if (row.apiFlag == '2') {
 
 
-                value = row.optionsMethod?row.optionsMethod:'' + ',' + row.optionsLabel + ',' + row.optionsValue;
+                value = row.optionsMethod ? row.optionsMethod : '' + ',' + row.optionsLabel + ',' + row.optionsValue;
             } else if (row.apiFlag == '3') {
             } else if (row.apiFlag == '3') {
                 value = row.optionsMethod + ',' + row.optionsLabel + ',' + row.optionsValue;
                 value = row.optionsMethod + ',' + row.optionsLabel + ',' + row.optionsValue;
             }
             }
@@ -1094,6 +1119,7 @@ export default {
                 name: '',
                 name: '',
                 searchMethod: '=',
                 searchMethod: '=',
                 value: '',
                 value: '',
+                systemFlag: false,
             });
             });
         },
         },
         removeQueryField(i) {
         removeQueryField(i) {

+ 94 - 0
src/main/vue/src/pages/QueryConfig.vue

@@ -214,6 +214,65 @@
                             </el-table-column>
                             </el-table-column>
                         </el-table>
                         </el-table>
                     </el-tab-pane>
                     </el-tab-pane>
+                    <el-tab-pane label="默认条件" name="5">
+                        <el-table :data="advancedQueryFields" border>
+
+                            <el-table-column prop="link" label="链接符" align="center">
+                                <template slot-scope="{row}">
+                                    <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+                                        <el-option label="AND" value="AND">
+                                        </el-option>
+                                        <el-option label="OR" value="OR">
+                                        </el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="name" label="字段" align="center">
+                                <template slot-scope="{row}">
+                                    <el-select v-model="row.name">
+
+                                        <el-option v-for="item in tablecolumnsFields" :label="item.name" :value="item.name" :key="item.name"></el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+                                <template slot-scope="{row}">
+                                    <el-select v-model="row.searchMethod">
+                                        <el-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
+                                    </el-select>
+                                </template>
+                            </el-table-column>
+
+                            <el-table-column prop="systemFlag" label="系统参数" width="50" align="center">
+                                <template slot-scope="{row}">
+                                    <el-checkbox v-model="row.systemFlag"></el-checkbox>
+                                </template>
+                            </el-table-column>
+
+                            <el-table-column prop="value" label="参数" align="center">
+                                <template slot-scope="{row}">
+                                    <el-select v-model="row.value" v-if="row.systemFlag">
+                                        <el-option v-for="item in systemParameters" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                                    </el-select>
+                                    <el-input v-model="row.value" v-else></el-input>
+
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="noChange" label="不可修改" width="50" align="center">
+                                <template slot-scope="{row}">
+                                    <el-checkbox v-model="row.noChange"></el-checkbox>
+                                </template>
+                            </el-table-column>
+
+                            <el-table-column width="60" align="center">
+                                <template slot-scope="{ row, column, $index }">
+                                    <el-button @click="removeQueryField($index)" size="small" type="text">删除</el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+
+                        <el-button @click="addQueryField" type="text" icon="el-icon-plus">添加</el-button>
+                    </el-tab-pane>
                 </el-tabs>
                 </el-tabs>
             </el-form-item>
             </el-form-item>
 
 
@@ -343,6 +402,11 @@ export default {
                         this.subtables = JSON.parse(res.data.subJson);
                         this.subtables = JSON.parse(res.data.subJson);
                     }
                     }
 
 
+                    this.advancedQueryFields = [];
+                    if (res.data.queryJson) {
+                        this.advancedQueryFields = JSON.parse(res.data.queryJson);
+                    }
+
                 }
                 }
             })
             })
         }
         }
@@ -472,6 +536,21 @@ export default {
             optionsDatasourceInfoList: [],
             optionsDatasourceInfoList: [],
             optionsTableList: [],
             optionsTableList: [],
             optionsFields: [],
             optionsFields: [],
+            advancedQueryFields: [],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'in', 'like'],
+            systemParameters: [
+
+                { label: '登录名', value: 'loginName' },
+                { label: '工号', value: 'workNumber' },
+                { label: '部门', value: 'departId' },
+                { label: '当前时间', value: 'currentTime' },
+                { label: '当前日期', value: 'currentDate' },
+                { label: 'MIS代码', value: 'misCode' },
+                { label: 'MIS名称', value: 'misName' },
+                { label: '下辖MIS代码', value: 'misChildCode' },
+                { label: '下辖MIS名称', value: 'misChildName' },
+                { label: '下辖MIS代码和名称', value: 'misChildCodeAndName' },
+            ],
 
 
         }
         }
     },
     },
@@ -492,6 +571,7 @@ export default {
             if (this.tablecolumnsFields.length > 0) {
             if (this.tablecolumnsFields.length > 0) {
 
 
                 this.formData.subtables = this.subtables;
                 this.formData.subtables = this.subtables;
+                this.formData.advancedQueryFields = this.advancedQueryFields;
                 this.formData.fields = this.tablecolumnsFields;
                 this.formData.fields = this.tablecolumnsFields;
                 this.formData.configJson = '';
                 this.formData.configJson = '';
                 var data = JSON.parse(JSON.stringify(this.formData));;
                 var data = JSON.parse(JSON.stringify(this.formData));;
@@ -688,6 +768,20 @@ export default {
                 }
                 }
             })
             })
         },
         },
+        addQueryField() {
+            this.advancedQueryFields.push({
+                link: 'AND',
+                name: '',
+                searchMethod: '=',
+                value: '',
+                systemFlag: false,
+            });
+        },
+        removeQueryField(i) {
+            if (this.advancedQueryFields.length > 0) {
+                this.advancedQueryFields.splice(i, 1);
+            }
+        },
     }
     }
 }
 }
 </script>
 </script>

+ 74 - 9
src/main/vue/src/pages/TestAaas.vue

@@ -30,7 +30,7 @@
             <el-table-column label="test_aaa" align="center">
             <el-table-column label="test_aaa" align="center">
                 <el-table-column v-if="multipleMode" align="center" type="selection" width="50">
                 <el-table-column v-if="multipleMode" align="center" type="selection" width="50">
                 </el-table-column>
                 </el-table-column>
-                <el-table-column label="操作" align="center" fixed="left" min-width="150">
+                <el-table-column label="操作" align="center" fixed="left" min-width="170">
                     <template slot-scope="scope">
                     <template slot-scope="scope">
 
 
                         <el-button v-if="isModulesShow('edit')" @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
                         <el-button v-if="isModulesShow('edit')" @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
@@ -54,7 +54,7 @@
                 </el-table-column>
                 </el-table-column>
 
 
                 <el-table-column v-if="isColumnShow('imageUrl')" prop="imageUrl" label="图片" min-width="100">
                 <el-table-column v-if="isColumnShow('imageUrl')" prop="imageUrl" label="图片" min-width="100">
-                    <template slot-scope="{row}">
+                    <template slot-scope="{row}" v-if="row.imageUrl">
                         <img :src="row.imageUrl" @click="showImg(row.imageUrl)" style="width: 100px;height: 100px;vertical-align: middle;" />
                         <img :src="row.imageUrl" @click="showImg(row.imageUrl)" style="width: 100px;height: 100px;vertical-align: middle;" />
                     </template>
                     </template>
 
 
@@ -75,7 +75,7 @@
                 <el-table-column v-if="isColumnShow('loginUser')" prop="loginUser" label="登录名" min-width="100">
                 <el-table-column v-if="isColumnShow('loginUser')" prop="loginUser" label="登录名" min-width="100">
                 </el-table-column>
                 </el-table-column>
 
 
-                <el-table-column v-if="isColumnShow('testcTime')" prop="testcTime" label="当前时间" :formatter="DateTimeFormatter" min-width="100">
+                <el-table-column v-if="isColumnShow('testcTime')" prop="testcTime" label="当前时间" :formatter="DateTimeFormatter" min-width="120">
                 </el-table-column>
                 </el-table-column>
 
 
                 <el-table-column v-if="isColumnShow('testcDate')" prop="testcDate" label="当前日期" :formatter="DateFormatter" min-width="100">
                 <el-table-column v-if="isColumnShow('testcDate')" prop="testcDate" label="当前日期" :formatter="DateFormatter" min-width="100">
@@ -130,11 +130,23 @@
                         </el-select>
                         </el-select>
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
+                <el-table-column prop="systemFlag" label="系统参数" width="50" align="center">
+                    <template slot-scope="{row}">
+                        <el-checkbox v-model="row.systemFlag" :disabled="row.noChange"></el-checkbox>
+                    </template>
+                </el-table-column>
+
                 <el-table-column prop="value" label="参数" align="center">
                 <el-table-column prop="value" label="参数" align="center">
                     <template slot-scope="{row}">
                     <template slot-scope="{row}">
-                        <el-input v-model="row.value" :disabled="row.noChange"></el-input>
+                        <el-select v-model="row.value" v-if="row.systemFlag" :disabled="row.noChange">
+                            <el-option v-for="item in systemParameters" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                        </el-select>
+                        <el-input v-model="row.value" v-else :disabled="row.noChange"></el-input>
+
                     </template>
                     </template>
                 </el-table-column>
                 </el-table-column>
+
                 <el-table-column width="60" align="center">
                 <el-table-column width="60" align="center">
                     <template slot-scope="{ row, column, $index }">
                     <template slot-scope="{ row, column, $index }">
                         <el-button @click="removeField($index)" size="small" type="text" v-if="!row.noChange">删除</el-button>
                         <el-button @click="removeField($index)" size="small" type="text" v-if="!row.noChange">删除</el-button>
@@ -302,6 +314,13 @@ export default {
                     searchMethod: '=',
                     searchMethod: '=',
                     value: 'N',
                     value: 'N',
                 },
                 },
+                {
+                    link: 'OR',
+                    name: 'depart_id',
+                    searchMethod: '=',
+                    value: 'misChildCode',
+                    systemFlag: true,
+                },
             ],
             ],
             showTableSortDialog: false,
             showTableSortDialog: false,
             tableSortFields: [
             tableSortFields: [
@@ -314,7 +333,20 @@ export default {
                     order: 'desc'
                     order: 'desc'
                 },
                 },
             ],
             ],
-            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like', 'in'],
+            systemParameters: [
+
+                { label: '登录名', value: 'loginName' },
+                { label: '工号', value: 'workNumber' },
+                { label: '部门', value: 'departId' },
+                { label: '当前时间', value: 'currentTime' },
+                { label: '当前日期', value: 'currentDate' },
+                { label: 'MIS代码', value: 'misCode' },
+                { label: 'MIS名称', value: 'misName' },
+                { label: '下辖MIS代码', value: 'misChildCode' },
+                { label: '下辖MIS名称', value: 'misChildName' },
+                { label: '下辖MIS代码和名称', value: 'misChildCodeAndName' },
+            ],
             advancedQueryColumns: [
             advancedQueryColumns: [
                 {
                 {
                     label: 'id',
                     label: 'id',
@@ -369,7 +401,7 @@ export default {
         }
         }
     },
     },
     computed: {
     computed: {
-        ...mapState(['tableHeight', 'userInfo','childDepartInfo']),
+        ...mapState(['tableHeight', 'userInfo', 'childDepartInfo', 'farmName', 'farmNO']),
         selection() {
         selection() {
             return this.$refs.table.selection.map(i => i.id);
             return this.$refs.table.selection.map(i => i.id);
         }
         }
@@ -399,8 +431,42 @@ export default {
 
 
                 this.advancedQueryFields.forEach(item => {
                 this.advancedQueryFields.forEach(item => {
                     if (item.link && item.name && item.searchMethod && item.value) {
                     if (item.link && item.name && item.searchMethod && item.value) {
-                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
-                        templist.push(tempItem);
+
+                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,';
+                        var fieldValue = item.value;
+                        if (item.systemFlag) {
+                            if (item.value == "currentTime") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD HH:mm', { locale: zh });
+                            }
+                            if (item.value == "currentDate") {
+                                fieldValue = format(new Date(), 'YYYY/MM/DD', { locale: zh });
+                            }
+                            if (item.value == "loginName") {
+                                fieldValue = this.userInfo.username;
+                            }
+                            if (item.value == "workNumber") {
+                                fieldValue = this.userInfo.workNumber;
+                            }
+                            if (item.value == "misCode") {
+                                fieldValue = this.farmNO;
+                            }
+                            if (item.value == "misName") {
+                                fieldValue = this.farmName;
+                            }
+                            if (item.value == "misChildCode") {
+                                fieldValue = this.childDepartInfo.misCode;
+                            }
+                            if (item.value == "misChildName") {
+                                fieldValue = this.childDepartInfo.misName;
+                            }
+                            if (item.value == "misChildCodeAndName") {
+                                fieldValue = this.childDepartInfo.misCodeAndName;
+                            }
+                        }
+                        if (fieldValue) {
+                            tempItem += fieldValue;
+                            templist.push(tempItem);
+                        }
                     }
                     }
                 })
                 })
 
 
@@ -452,7 +518,6 @@ export default {
                     this.totalNumber = res.data.page.totalNumber;
                     this.totalNumber = res.data.page.totalNumber;
                     this.tableData = res.data.pp;
                     this.tableData = res.data.pp;
                 }
                 }
-
                 this.loading = false;
                 this.loading = false;
             })
             })
         },
         },