From ec3add985f600fe56a7232484bbe89a11b73c23b Mon Sep 17 00:00:00 2001
From: wanghong <309858992@qq.com>
Date: 星期四, 21 十二月 2023 12:25:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue |  209 ++++++++++++++++++++++++++--------------------------
 1 files changed, 104 insertions(+), 105 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
index 76e9e0c..f928c61 100644
--- a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
+++ b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
@@ -4,24 +4,29 @@
     3銆佺敤鎴疯緭鍏ョ殑鍊间細浠onditionMap[field]鐨勬牸寮忔嫾鎺ュソ杩涜鍥炰紶锛岀劧鍚庡氨闇�瑕佷娇鐢ㄧ殑鍦版柟鑷杩涜鏌ヨ鐨勮皟鐢紱
  -->
 <template>
-    <el-dialog 
+    <el-dialog
         title="楂樼骇鏌ヨ"
         append-to-body
-        width="55vw"
-        style="height: 115vh; margin-top: -10vh; overflow: hidden"
+        width="46vw"
+        style="height: 100vh;overflow: hidden"
+        v-dialogDrag
         :visible.sync="isShowDialog"
+        lock-scroll
+        class="avue-dialog avue-dialog--top"
+        top="-3%"
+        destroy-on-close
         @close="recoverPage">
         <div class="search-total">
             <!-- 澶撮儴鎸夐挳鍖哄煙 -->
-            <div slot="title" class="dialog-search-button"> 
-                <el-button 
-                    type="primary"  
+            <div slot="title" class="dialog-search-button">
+                <el-button
+                    type="primary"
                     size="small"
                     icon="el-icon-search"
                     @click="searchSubmit">
                     鏌ヨ
                 </el-button>
-                <el-button 
+                <el-button
                     type="warning"
                     size="small"
                     icon="el-icon-refresh"
@@ -31,11 +36,11 @@
             </div>
             <!-- 椤甸潰涓讳綋鍐呭鍖哄煙 -->
             <div class="search-content">
-                <el-row  
+                <el-row
                     v-for="(item,index) in initOptions"
                     :key="item.queryField"
                     :span="24">
-                    <el-col :span="5">
+                    <el-col :span="6">
                         <div class="grid-content">
                             <el-select disabled placeholder="璇烽�夋嫨" v-model="searchFormArrays[index].queryField">
                                 <el-option
@@ -65,9 +70,9 @@
                             <el-select v-else-if="item.fieldType==='combox'" v-model="searchFormArrays[index].fieldValue" placeholder="璇烽�夋嫨">
                                 <el-option
                                     v-for="option in item.data"
-                                    :key="option.itemValue"
-                                    :label="option.itemName"
-                                    :value="option.itemValue">
+                                    :key="option.itemValue || option.value"
+                                    :label="option.itemName || option.label"
+                                    :value="option.itemValue || option.value">
                                 </el-option>
                             </el-select>
                             <el-switch v-else-if="item.fieldType==='truefalse'" v-model="searchFormArrays[index].fieldValue"></el-switch>
@@ -86,7 +91,7 @@
                             </vci-web-refer>
                         </div>
                     </el-col>
-                    <el-col :span="2">
+                    <el-col :span="1">
                         <div class="grid-content">
                             <i class="el-icon-close" @click="removeInput(index)"></i>
                         </div>
@@ -99,6 +104,7 @@
 
 <script>
 import { getDictionary } from "@/api/omd/enum";
+import moment from 'moment';
 import vciWebRefer from '../refer/vciWebRefer.vue';
 export default {
   components: { vciWebRefer },
@@ -172,7 +178,7 @@
                     label: "涓嶇瓑浜�",
                 },{
                     value: "_ge", //澶т簬锛岄粯璁や负澶т簬绛変簬
-                    label: "澶т簬", 
+                    label: "澶т簬",
                 },{
                     value: "_le", //灏忎簬锛岄粯璁や负灏忎簬绛変簬
                     label: "灏忎簬",
@@ -199,66 +205,61 @@
             const data = JSON.stringify(this.options);
             this.initOptions = JSON.parse(data);
             //console.log(this.initOptions);
-                if(this.initOptions.length > 0){
-                    let array = [];
-                    this.initOptions.forEach((item,index) => {
-                        if(item.fieldType==='combox') {
-                            let enumCach = JSON.parse(localStorage.getItem(item.comboxKey));
-                            if(enumCach != null) {
-                                item.data = enumCach;
-                            }else {
-                                getDictionary({code: item.comboxKey}).then(res=>{
-                                    item.data = res.data.data;
-                                    localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
-                                })
-                            }
-                        }else if(item.fieldType==='refer'){
-                            this.$set(item,"referConfigData",{
-                                title: item.title,
-                                showField: item.showField || item.field,
-                                field: item.field,
-                                placeholder: item.inputTip || '',
-                                options: Object.assign(item.referConfig,{width:"80%"}),
-                            })
-                            //console.log(item.referConfigData.options);
-                            //console.log(item);   
-                        }
-                        // TODO: 杩欏効淇敼涓�涓嬪弬鐓х殑鏌ヨ鏉′欢
-                        let conditions = [];
-                        if(item.fieldType==='text'){
-                            conditions = this.searchConditions;
-                        }else if (item.fieldType==='combox'){
-                            conditions = this.dateConditions;
-                        }else if (item.fieldType==='datetime') {
-                            conditions = this.switchSearchConditions;
+            if(this.initOptions.length > 0){
+                let array = [];
+                this.initOptions.forEach((item,index) => {
+                    if(item.fieldType==='combox') {
+                        let enumCach = item.data || JSON.parse(localStorage.getItem(item.comboxKey));
+                        if(enumCach != null && enumCach.length > 0) {
+                            item.data = enumCach;
                         }else {
-                            conditions = this.referSearchConditions;
+                            getDictionary({code: item.comboxKey}).then(res=>{
+                                item.data = res.data.data;
+                                localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
+                            })
                         }
-                        // console.log(conditions);
-                        this.$set(item,"conditions",conditions)
-                        
-                        let add = {
-                            queryField: String(item.queryField),
-                            condition: item.fieldType==='text' ? String("_like"):String("_equal"),
-                            fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
-                        }
-                        array.push(add)
-                    });
-                    this.searchFormArrays = array;
+                    }else if(item.fieldType==='refer'){
+                        this.$set(item,"referConfigData",{
+                            title: item.title,
+                            showField: item.showField || item.field,
+                            field: item.field,
+                            placeholder: item.inputTip || '',
+                            options: Object.assign(item.referConfig,{width:"80%"}),
+                        })
+                        //console.log(item.referConfigData.options);
+                        //console.log(item);
+                    }
+                    let conditions = [];
+                    if(item.fieldType==='text'){
+                        conditions = this.searchConditions;
+                    }else if (item.fieldType==='combox'|| item.fieldType==='truefalse'){
+                        conditions = this.switchSearchConditions;
+                    }else if (item.fieldType==='datetime' || item.fieldType==='date') {
+                        conditions = this.dateConditions;
+                    }else {
+                        conditions = this.referSearchConditions;
+                    }
+                    // console.log(conditions);
+                    this.$set(item,"conditions",conditions)
+
+                    let add = {
+                        queryField: String(item.queryField),
+                        condition: item.fieldType==='text' ? String("_like"):String("_equal"),
+                        fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
+                    }
+                    array.push(add)
+                });
+                this.searchFormArrays = array;
             }
             //console.log(this.initOptions);
             //console.log(this.searchFormArrays);
         },
-
         /** 涓哄弬鐓х被鍨嬫椂鍊奸�夋嫨涔嬪悗鐨勫鐞� */
         setReferValue(data,index){
-            // console.log(index);
             if(data.field) {
                 this.searchFormArrays[index][data.fieldValue] = data.value || '';
                 this.initOptions[index][data.showField] = data.text || '';
             }
-            // console.log(this.initOptions[index][data.showField]);
-            // console.log(data);
         },
 
         // 灞炴�у垏鎹㈡椂鏌ヨ鏉′欢鍜屾煡璇㈠�间篃闇�瑕佸杈撳叆妗嗚繘琛屽垏鎹�
@@ -286,7 +287,7 @@
         // },
 
         // 绉婚櫎鎼滅储妗�
-        
+
         removeInput(index){
             //console.log(this.initOptions);
             this.$delete(this.initOptions,index);
@@ -311,43 +312,41 @@
                     // 瀛樺湪鐩稿悓鐨勬煡璇㈡潯浠�
                     if(condtionParam['conditionMap['+searchConditions[index].queryField+']']+'' != 'undefined' ) {
                         this.$message.warning("瀛樺湪閲嶅鏌ヨ鏉′欢锛岃浠旂粏鏍稿!");
-                        console.log(condtionParam['conditionMap['+searchConditions[index].queryField+']']);
+                        //console.log(condtionParam['conditionMap['+searchConditions[index].queryField+']']);
                         return false;
                     }
-                    //鎷兼帴鎴恗ap瀵硅薄锛屽皢鏌ヨ瀵硅薄鍜宑ondition鎷兼帴鍦ㄤ竴璧凤紝缁勬垚楂樼骇鏌ヨmap鐨刱ey
-                    condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
+                    let fieldType = this.initOptions[index].fieldType;
+                    // 褰撳嚭鐜版煡璇㈡棩鏈熺殑鏍煎紡鏃�,闇�瑕佸鏃ユ湡鏍煎紡杩涜澶勭悊
+                    if(fieldType==='datetime' || fieldType==='date'){
+                        // 灏嗘椂闂磋浆鎹负鏈湴鏃堕棿
+                        let localTime = moment.utc(searchConditions[index].fieldValue).local();
+                        // 鏍煎紡鍖栨椂闂翠负鎮ㄦ兂瑕佺殑鏍煎紡
+                        let formattedTime = localTime.format('YYYY-MM-DD HH:mm:ss');
+                        condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = formattedTime;
+                        //console.log(formattedTime);
+                    }else{
+                        //鎷兼帴鎴恗ap瀵硅薄锛屽皢鏌ヨ瀵硅薄鍜宑ondition鎷兼帴鍦ㄤ竴璧凤紝缁勬垚楂樼骇鏌ヨmap鐨刱ey
+                        condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
+                    }
                 }
+                
             }
             // 鏌ヨ鏉′欢娌℃湁鍑虹幇閲嶅灞炴�э紝骞朵笖杩囨护鎺変簡绌哄�硷紝灏变紶閫掔粰鐖剁粍浠�
-            console.log(condtionParam);
+            //console.log(condtionParam);
             this.$emit('echoContion',condtionParam)
             this.isShowDialog = false;
-        },    
+        },
     }
 }
 </script>
 
 <style lang="scss" scoped>
-
     .search-total {
-        border-radius: 4px;
-        min-height: 70vh;
-        // margin-left: 35px;
-        margin-top: -8px;
-        overflow-y: auto; 
-        height: 70vh;
+      border-radius: 4px;
+      margin-top: -10px;
     }
     .dialog-search-button {
-        border-top: 1px solid #E9E7E7;
-        border-bottom: 1px solid #E9E7E7;
-        padding: 10px 10px 10px;
-        position: fixed;
-        display: block;
-        background-color: #fff;
-        // top: 10%;
-        margin-top: -30px;
-        width: 50%;
-        z-index: 1000;
+      margin-bottom: 15px;
     }
     // .search-total > .search-content > .el-row{
     //     margin-bottom: 5px;
@@ -356,39 +355,39 @@
     //     }
     // }
     .search-total > .search-content {
-        margin-top: 40px;
     }
     .search-total > .search-content > .el-row > .el-col {
-        border-radius: 4px;
+      border-radius: 4px;
     }
     .search-total > .search-content > .el-row > .el-col > .grid-content {
-        border-radius: 4px;
-        min-height: 36px;
+      border-radius: 4px;
+      min-height: 36px;
     }
     .search-total > .search-content > .el-row > .el-col {
-        margin-right: 6px;
-        &:last-child {
-            margin-right: 0;
-        }
+      margin-right: 6px;
+      &:last-child {
+        margin-right: 0;
+      }
     }
     .grid-content > .el-icon-close {
-        font-size: 35px;
-        cursor: pointer;
-        color: rgb(222, 130, 105);
+      font-size: 30px;
+      line-height: 40px;
+      cursor: pointer;
+      color: rgb(222, 130, 105);
     }
-    .grid-content > .el-icon-close:hover{
-        font-size: 38px;
-        color: rgb(219, 52, 6);
+    .grid-content > .el-icon-close:hover {
+      font-size: 30px;
+      color: rgb(219, 52, 6);
     }
     .grid-content > .el-select {
-        width: 100%;
+      width: 100%;
     }
     .grid-content > .el-switch {
-        line-height: 40px;
-        height: 40px;
+      line-height: 40px;
+      height: 40px;
     }
-    .grid-content > .el-date-editor.el-input, .el-date-editor.el-input__inner{
-        width: 100%;
+    .grid-content > .el-date-editor.el-input, .el-date-editor.el-input__inner {
+      width: 100%;
     }
 
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3