Browse Source

修改搜索

zs 6 tháng trước cách đây
mục cha
commit
0ac87c112d

+ 5 - 33
src/components/custom/custom-search-bar.vue

@@ -52,44 +52,16 @@
             </el-select>
           </template>
           <template v-else-if="item.type === `year` || item.type == 'month' || item.type == 'date' || item.type == 'daterange' || item.type == 'datetime' || item.type == 'datetimerange'">
-            <el-date-picker
-              v-model="form[item.model]"
-              :type="item.type"
-              :placeholder="getField('selectplaceholder', item)"
-              :format="getDateFormat(item.type)"
-              :value-format="getDateFormat(item.type)"
-              v-bind="item.options"
-              @change="dataChange(item.model)"
-              range-separator="至"
-              style="width: 100%"
-            >
-            </el-date-picker>
+            <el-date-picker v-model="form[item.model]" :type="item.type" :placeholder="getField('selectplaceholder', item)" :format="getDateFormat(item.type)" :value-format="getDateFormat(item.type)" v-bind="item.options" @change="dataChange(item.model)" range-separator="至" style="width: 100%"> </el-date-picker>
           </template>
           <template v-else-if="item.type === `time`">
-            <el-time-picker
-              v-model="form[item.model]"
-              :placeholder="getField('selectplaceholder', item)"
-              :format="getDateFormat(item.type)"
-              :value-format="getDateFormat(item.type)"
-              v-bind="item.options"
-              @change="dataChange(item.model)"
-              style="width: 100%"
-            >
-            </el-time-picker>
+            <el-time-picker v-model="form[item.model]" :placeholder="getField('selectplaceholder', item)" :format="getDateFormat(item.type)" :value-format="getDateFormat(item.type)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%"> </el-time-picker>
           </template>
           <template v-else-if="item.type === `inputnumber`">
             <el-input-number v-model="form[item.model]" :placeholder="getField('placeholder', item)" v-bind="item.options" @change="dataChange(item.model)" style="width: 100%"></el-input-number>
           </template>
           <template v-else>
-            <el-input
-              clearable
-              v-model="form[item.model]"
-              :type="getField('type', item)"
-              :placeholder="getField('placeholder', item)"
-              :show-password="getField('type', item) === 'password'"
-              v-bind="item.options"
-              @change="dataChange(item.model)"
-            ></el-input>
+            <el-input clearable v-model="form[item.model]" :type="getField('type', item)" :placeholder="getField('placeholder', item)" :show-password="getField('type', item) === 'password'" v-bind="item.options" @change="dataChange(item.model)"></el-input>
           </template>
         </template>
       </el-form-item>
@@ -102,7 +74,7 @@
 </template>
 
 <script setup>
-import { get } from 'lodash-es'
+import { get, omitBy, isNil } from 'lodash-es'
 const props = defineProps({
   modelValue: { type: Object },
   fields: { type: Array, default: () => [] }
@@ -114,11 +86,11 @@ const form = computed({
     return props.modelValue
   },
   set(value) {
-    console.log(value)
     emits('update:modelValue', value)
   }
 })
 const toClick = () => {
+  form.value = omitBy(form.value, isNil)
   emits('search')
 }
 const toReset = () => {

+ 2 - 1
src/views/exam/parts/contact.vue

@@ -62,9 +62,10 @@ const opera = [{ label: t('common.exam'), method: 'exam', type: 'warning', displ
 
 // #region 列表操作
 const dialog = ref({ show: false })
+// 重置
 const toReset = async () => {
   searchForm.value = {}
-  await search()
+  await search({ skip, limit })
 }
 const contactsForm = ref({})
 const contactsRules = ref({

+ 6 - 1
src/views/information/parts/match/sign/table-1.vue

@@ -48,7 +48,7 @@ const data = ref([])
 const searchForm = ref({})
 const fields = [
   { label: t('pages.sign.name'), model: 'name', isSearch: true },
-  { label: t('pages.sign.phone'), model: 'phone', isSearch: true },
+  { label: t('pages.sign.phone'), model: 'phone', isSearch: true, type: 'number' },
   { label: t('pages.sign.card'), model: 'card', isSearch: true },
   { label: t('pages.sign.communication'), model: 'communication' },
   { label: t('pages.sign.email'), model: 'email' },
@@ -143,6 +143,11 @@ const toClose = () => {
   examForm.value = {}
   dialog.value = { show: false }
 }
+// 重置
+const toReset = async () => {
+  searchForm.value = {}
+  await search({ skip, limit })
+}
 watch(
   match,
   async (item) => {

+ 6 - 1
src/views/information/parts/match/sign/table-2.vue

@@ -55,7 +55,7 @@ const data = ref([])
 const searchForm = ref({})
 const fields = [
   { label: t('pages.sign.name'), model: 'name', isSearch: true },
-  { label: t('pages.sign.phone'), model: 'phone', isSearch: true },
+  { label: t('pages.sign.phone'), model: 'phone', isSearch: true, type: 'number' },
   { label: t('pages.sign.company'), model: 'company', isSearch: true },
   { label: t('pages.match.type'), model: 'type', isSearch: true, type: 'select', format: (i) => getDict(i, 'type') },
   { label: t('pages.sign.time'), model: 'time' },
@@ -154,6 +154,11 @@ const toClose = () => {
   examForm.value = {}
   dialog.value = { show: false }
 }
+// 重置
+const toReset = async () => {
+  searchForm.value = {}
+  await search({ skip, limit })
+}
 watch(
   match,
   async (item) => {