Browse Source

table组件 查询条件空的隐藏

lxf 1 year ago
parent
commit
9c3b757a41
2 changed files with 72 additions and 67 deletions
  1. 63 61
      src/components/byTable/index.vue
  2. 9 6
      src/views/group/order/management/index.vue

+ 63 - 61
src/components/byTable/index.vue

@@ -1,68 +1,70 @@
 <template>
   <el-form :inline="true" :model="pagination" v-if="searchConfig && searchConfig.length > 0" @submit.native.prevent>
-    <el-form-item v-for="(item, index) in searchConfig" :key="index" :label="item.label + ':'" :prop="item.prop">
-      <el-input v-if="item.type === 'input'" v-model="pagination[item.prop]" :placeholder="'请输入' + item.label" @keyup.enter.native="searchFn" />
-      <el-select
-        v-else-if="item.type === 'select'"
-        v-model="pagination[item.prop]"
-        :placeholder="'请选择' + item.label"
-        :multiple="item.multiple"
-        clearable
-        @change="searchFn">
-        <template v-if="item.dictKey">
-          <el-option v-for="itemDict in useUserStore().allDict[item.dictKey]" :key="itemDict.dictKey" :label="itemDict.dictValue" :value="itemDict.dictKey" />
+    <template v-for="item in searchConfig">
+      <el-form-item v-if="item.type" :label="item.label + ':'" :prop="item.prop">
+        <el-input v-if="item.type === 'input'" v-model="pagination[item.prop]" :placeholder="'请输入' + item.label" @keyup.enter.native="searchFn" />
+        <el-select
+          v-else-if="item.type === 'select'"
+          v-model="pagination[item.prop]"
+          :placeholder="'请选择' + item.label"
+          :multiple="item.multiple"
+          clearable
+          @change="searchFn">
+          <template v-if="item.dictKey">
+            <el-option v-for="itemDict in useUserStore().allDict[item.dictKey]" :key="itemDict.dictKey" :label="itemDict.dictValue" :value="itemDict.dictKey" />
+          </template>
+          <template v-else-if="item.data && item.data.length > 0">
+            <el-option v-for="itemDict in item.data" :key="itemDict.dictKey" :label="itemDict.dictValue" :value="itemDict.dictKey" />
+          </template>
+        </el-select>
+        <template v-else-if="item.type === 'datetime'">
+          <el-row>
+            <el-col :span="11">
+              <el-date-picker
+                v-model="pagination[item.propList[0]]"
+                type="datetime"
+                placeholder="请选择起始时间"
+                value-format="YYYY-MM-DD HH:mm:ss"
+                style="width: 100%"
+                @change="searchFn" />
+            </el-col>
+            <el-col :span="2" style="text-align: center">-</el-col>
+            <el-col :span="11">
+              <el-date-picker
+                v-model="pagination[item.propList[1]]"
+                type="datetime"
+                placeholder="请选择结束时间"
+                value-format="YYYY-MM-DD HH:mm:ss"
+                style="width: 100%"
+                @change="searchFn" />
+            </el-col>
+          </el-row>
         </template>
-        <template v-else-if="item.data && item.data.length > 0">
-          <el-option v-for="itemDict in item.data" :key="itemDict.dictKey" :label="itemDict.dictValue" :value="itemDict.dictKey" />
+        <template v-else-if="item.type === 'date'">
+          <el-row>
+            <el-col :span="11">
+              <el-date-picker
+                v-model="pagination[item.propList[0]]"
+                type="date"
+                placeholder="请选择起始日期"
+                value-format="YYYY-MM-DD"
+                style="width: 100%"
+                @change="searchFn" />
+            </el-col>
+            <el-col :span="2" style="text-align: center">-</el-col>
+            <el-col :span="11">
+              <el-date-picker
+                v-model="pagination[item.propList[1]]"
+                type="date"
+                placeholder="请选择结束日期"
+                value-format="YYYY-MM-DD"
+                style="width: 100%"
+                @change="searchFn" />
+            </el-col>
+          </el-row>
         </template>
-      </el-select>
-      <template v-else-if="item.type === 'datetime'">
-        <el-row>
-          <el-col :span="11">
-            <el-date-picker
-              v-model="pagination[item.propList[0]]"
-              type="datetime"
-              placeholder="请选择起始时间"
-              value-format="YYYY-MM-DD HH:mm:ss"
-              style="width: 100%"
-              @change="searchFn" />
-          </el-col>
-          <el-col :span="2" style="text-align: center">-</el-col>
-          <el-col :span="11">
-            <el-date-picker
-              v-model="pagination[item.propList[1]]"
-              type="datetime"
-              placeholder="请选择结束时间"
-              value-format="YYYY-MM-DD HH:mm:ss"
-              style="width: 100%"
-              @change="searchFn" />
-          </el-col>
-        </el-row>
-      </template>
-      <template v-else-if="item.type === 'date'">
-        <el-row>
-          <el-col :span="11">
-            <el-date-picker
-              v-model="pagination[item.propList[0]]"
-              type="date"
-              placeholder="请选择起始日期"
-              value-format="YYYY-MM-DD"
-              style="width: 100%"
-              @change="searchFn" />
-          </el-col>
-          <el-col :span="2" style="text-align: center">-</el-col>
-          <el-col :span="11">
-            <el-date-picker
-              v-model="pagination[item.propList[1]]"
-              type="date"
-              placeholder="请选择结束日期"
-              value-format="YYYY-MM-DD"
-              style="width: 100%"
-              @change="searchFn" />
-          </el-col>
-        </el-row>
-      </template>
-    </el-form-item>
+      </el-form-item>
+    </template>
     <el-form-item>
       <el-button @click="searchFn" class="searchBtn">搜索</el-button>
       <el-button @click="clickReset">重置</el-button>

+ 9 - 6
src/views/group/order/management/index.vue

@@ -112,12 +112,15 @@ const searchConfig = computed(() => {
           data: departmentList.value,
           label: "事业部",
         },
-    {
-      type: "select",
-      prop: "status",
-      dictKey: "order_status",
-      label: "订单状态",
-    },
+
+    props.departmentId
+      ? {}
+      : {
+          type: "select",
+          prop: "status",
+          dictKey: "order_status",
+          label: "订单状态",
+        },
     {
       type: "select",
       prop: "settlementStatus",