huzhiz 1 год назад
Родитель
Сommit
0b26b1097f

+ 126 - 173
src/BIZComponents/seekPage.vue

@@ -2,62 +2,38 @@
   <div class="index_box">
     <el-form label-width="90px" :inline="true">
       <el-form-item v-for="(item, i) in seekList" :key="i">
-        <el-form-item
-          :label="item.label"
-          :label-width="item.labelWidth + 'px'"
-          v-if="i <= formLength - 1"
-        >
+        <el-form-item :label="item.label" :label-width="item.labelWidth + 'px'" v-if="i <= formLength - 1">
           <!-- input 输入 -->
           <div>
             <div v-if="item.type == 'input'">
-              <el-input
-                clearable
-                v-model="defaultWhere[item.value]"
-                :placeholder="item.placeholder || '请输入内容'"
-                :style="{ width: item.width ? item.width + 'px' : '220px' }"
-              />
+              <el-input clearable v-model="defaultWhere[item.value]" :placeholder="item.placeholder || '请输入内容'"
+                :style="{ width: item.width ? item.width + 'px' : '220px' }" />
             </div>
             <div v-if="item.type == 'select'">
-              <el-select
-                clearable
-                v-model="defaultWhere[item.value]"
-                :placeholder="item.placeholder || '请输入内容'"
-                :multiple="item.multiple ? item.multiple : false"
-                :filterable="item.filterable ? item.filterable : true"
-                :style="{ width: item.width ? item.width + 'px' : '220px' }"
-              >
-                <el-option
-                  v-for="(op, i) in item.planList"
-                  :label="op.label"
-                  :value="op.value"
-                  :key="i"
-                ></el-option>
+              <el-select clearable v-model="defaultWhere[item.value]" :placeholder="item.placeholder || '请输入内容'"
+                :multiple="item.multiple ? item.multiple : false" :filterable="item.filterable ? item.filterable : true"
+                :style="{ width: item.width ? item.width + 'px' : '220px' }">
+                <el-option v-for="(op, i) in item.planList" :label="op.label" :value="op.value" :key="i"></el-option>
               </el-select>
             </div>
             <div v-if="item.type == 'date'">
-              <el-date-picker
-                v-model="defaultWhere[item.value]"
-                @visible-change="change"
-                :type="item.dateType || 'daterange'"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                :style="{ width: item.width ? item.width + 'px' : '220px' }"
-              >
+              <el-date-picker v-model="defaultWhere[item.value]" @visible-change="change"
+                :type="item.dateType || 'daterange'" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
+                value-format="yyyy-MM-dd HH:mm:ss" :style="{ width: item.width ? item.width + 'px' : '220px' }">
               </el-date-picker>
             </div>
+            <div v-if="item.type == 'DictSelection'">
+              <DictSelection v-model="defaultWhere[item.value]" :placeholder="item.placeholder || '请选择内容'"
+                :multiple="item.multiple ? item.multiple : false"
+                :style="{ width: item.width ? item.width + 'px' : '220px' }" :dictName="item.dictName" />
+
+            </div>
           </div>
         </el-form-item>
       </el-form-item>
 
       <el-form-item>
-        <el-dropdown
-          ref="dropdownref"
-          trigger="click"
-          :hide-on-click="false"
-          v-model="dropdownVisible"
-        >
+        <el-dropdown ref="dropdownref" trigger="click" :hide-on-click="false" v-model="dropdownVisible">
           <div v-if="seekList.length > formLength">
             <span class="el-dropdown-link">
               更多选项<i class="el-icon-arrow-down el-icon--right"></i>
@@ -65,64 +41,46 @@
             <el-dropdown-menu slot="dropdown">
               <div class="padding">
                 <el-form label-position="left">
-                  <el-form-item
-                    v-for="(item, i) in deboListRow"
-                    :key="i"
-                    :inline="true"
-                    label-position="left"
-                  >
-                    <el-form-item
-                      :label-width="
-                        item.labelWidth ? item.labelWidth : '90' + 'px'
-                      "
-                      :inline="true"
-                      :label="item.label"
-                    >
+                  <el-form-item v-for="(item, i) in deboListRow" :key="i" :inline="true" label-position="left">
+                    <el-form-item :label-width="item.labelWidth ? item.labelWidth : '90' + 'px'
+                      " :inline="true" :label="item.label">
                       <div v-if="item.type == 'input'">
-                        <el-input
-                          clearable
-                          v-model="defaultWhere[item.value]"
-                          :placeholder="item.placeholder || '请输入内容'"
-                          :style="{
+                        <el-input clearable v-model="defaultWhere[item.value]"
+                          :placeholder="item.placeholder || '请输入内容'" :style="{
                             width: item.width ? item.width + 'px' : '220px'
-                          }"
-                        />
+                          }" />
                       </div>
                       <div v-if="item.type == 'select'">
-                        <el-select
-                          clearable
-                          v-model="defaultWhere[item.value]"
+                        <el-select clearable v-model="defaultWhere[item.value]"
                           :multiple="item.multiple ? item.multiple : false"
                           :filterable="item.filterable ? item.filterable : true"
-                          :placeholder="item.placeholder || '请输入内容'"
-                          :style="{
+                          :placeholder="item.placeholder || '请输入内容'" :style="{
                             width: item.width ? item.width + 'px' : '220px'
-                          }"
-                          @visible-change="change"
-                          @change="handerChange"
-                        >
-                          <el-option
-                            v-for="(op, i) in item.planList"
-                            :label="op.label"
-                            :value="op.value"
-                            :key="i"
-                          ></el-option>
+                          }" @visible-change="change" @change="handerChange">
+                          <el-option v-for="(op, i) in item.planList" :label="op.label" :value="op.value"
+                            :key="i"></el-option>
                         </el-select>
                       </div>
 
                       <div v-if="item.type == 'date'">
-                        <el-date-picker
-                          v-model="defaultWhere[item.value]"
-                          @blur="change"
-                          :type="item.dateType || 'daterange'"
-                          range-separator="至"
-                          start-placeholder="开始日期"
-                          end-placeholder="结束日期"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          :style="{
+                        <el-date-picker v-model="defaultWhere[item.value]" @blur="change"
+                          :type="item.dateType || 'daterange'" range-separator="至" start-placeholder="开始日期"
+                          end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss" :style="{
+                            width: item.width ? item.width + 'px' : '220px'
+                          }">
+                        </el-date-picker>
+                      </div>
+                      <div v-if="item.type == 'DictSelection'">
+                        <DictSelection v-model="defaultWhere[item.value]" :placeholder="item.placeholder || '请选择内容'"
+                          :multiple="item.multiple ? item.multiple : false"
+                          :style="{ width: item.width ? item.width + 'px' : '220px' }" :dictName="item.dictName" />
+
+                      </div>
+                      <div v-if="item.type == 'picker'">
+                        <el-date-picker v-model="defaultWhere[item.value]" @blur="change"
+                          value-format="yyyy-MM-dd" :style="{
                             width: item.width ? item.width + 'px' : '220px'
-                          }"
-                        >
+                          }">
                         </el-date-picker>
                       </div>
                     </el-form-item>
@@ -135,113 +93,108 @@
       </el-form-item>
 
       <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          class="ele-btn-icon"
-          @click="search"
-        >
+        <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
           查询
         </el-button>
-        <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
-          >重置</el-button
-        >
+        <el-button @click="reset" icon="el-icon-refresh-left" type="primary">重置</el-button>
       </el-form-item>
     </el-form>
   </div>
 </template>
 
 <script>
-  let defaultWhere = {};
-  export default {
-    props: {
-      seekList: {
-        type: Array,
-        default: () => []
-      },
-      formLength: {
-        type: [Number],
-        default: 3
-      }
+let defaultWhere = {};
+export default {
+  props: {
+    seekList: {
+      type: Array,
+      default: () => []
     },
-
-    components: {},
-    watch: {
-      seekList: {
-        handler(val) {
-          val.forEach((item) => {
-            defaultWhere[item.value] = null;
-          });
-
-          this.$nextTick(() => {
-            if (Array.isArray(val) && val.length <= this.formLength) {
-              this.seekListRow = val;
-            } else if (Array.isArray(val) && val.length >= this.formLength) {
-              this.seekListRow = val.slice(0, this.formLength);
-              this.deboListRow = val.slice(this.formLength);
-            }
-          });
-        },
-        deep: true,
-        immediate: true
-      }
+    formLength: {
+      type: [Number],
+      default: 3
     },
 
-    data() {
-      return {
-        defaultWhere: {},
-        dropdownVisible: true,
-        deboListRow: [],
-        seekListRow: []
-      };
-    },
 
-    computed: {
-      info() {
-        return this.$store.state.user.info;
-      }
-    },
+  },
 
-    created() {},
-    methods: {
-      change(visible) {
-        this.dropdownVisible = visible;
-        this.$refs.dropdownref.show();
-      },
-      handerChange() {
-        this.$refs.dropdownref.show();
-      },
+  components: {},
+  watch: {
+    seekList: {
+      handler(val) {
+        val.forEach((item) => {
+          defaultWhere[item.value] = null;
+        });
 
-      search() {
-        let valueAr = this.seekList.filter((item) => item.valueAr);
-        valueAr.forEach((item) => {
-          let data = this.defaultWhere[item.value];
-          if (data) {
-            this.defaultWhere[item.valueAr[0]] = data[0];
-            this.defaultWhere[item.valueAr[1]] = data[1];
+        this.$nextTick(() => {
+          if (Array.isArray(val) && val.length <= this.formLength) {
+            this.seekListRow = val;
+          } else if (Array.isArray(val) && val.length >= this.formLength) {
+            this.seekListRow = val.slice(0, this.formLength);
+            this.deboListRow = val.slice(this.formLength);
           }
-          delete this.defaultWhere[item.value];
         });
-
-        this.$emit('search', this.defaultWhere);
       },
-      // 重置
-      reset() {
-        this.defaultWhere = {};
-        this.search();
-      }
+      deep: true,
+      immediate: true
+    }
+  },
+
+  data() {
+    return {
+      defaultWhere: {},
+      dropdownVisible: true,
+      deboListRow: [],
+      seekListRow: []
+    };
+  },
 
-      //  折叠悬浮中样式调整
+  computed: {
+    info() {
+      return this.$store.state.user.info;
     }
-  };
+  },
+
+  created() { },
+  methods: {
+    change(visible) {
+      this.dropdownVisible = visible;
+      this.$refs.dropdownref.show();
+    },
+    handerChange() {
+      this.$refs.dropdownref.show();
+    },
+
+    search() {
+      let valueAr = this.seekList.filter((item) => item.valueAr);
+      valueAr.forEach((item) => {
+        let data = this.defaultWhere[item.value];
+        if (data) {
+          this.defaultWhere[item.valueAr[0]] = data[0];
+          this.defaultWhere[item.valueAr[1]] = data[1];
+        }
+        delete this.defaultWhere[item.value];
+      });
+
+      this.$emit('search', this.defaultWhere);
+    },
+    // 重置
+    reset() {
+      this.defaultWhere = {};
+      this.search();
+    }
+
+    //  折叠悬浮中样式调整
+  }
+};
 </script>
 
 <style scoped>
-  .index_box {
-    display: flex;
-  }
+.index_box {
+  display: flex;
+}
 
-  .padding {
-    padding: 20px;
-  }
+.padding {
+  padding: 20px;
+}
 </style>

+ 79 - 93
src/views/marketManagem/components/searchTable.vue

@@ -1,100 +1,86 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="关键字:" prop="searchName">
-          <el-input
-            clearable
-            placeholder="编码/主题/来访单位/发起人"
-            v-model="params.searchName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
-        <el-form-item label="类型" prop="type">
-          <DictSelection
-            dictName="市场活动类型"
-            clearable
-            v-model="params.type"
-          >
-          </DictSelection>
-        </el-form-item>
-      </el-col>
-
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
-        <el-form-item label="来访时间" prop="targetTime">
-          <el-date-picker
-            v-model="params.targetTime"
-            type="datetime"
-            value-format="yyyy-MM-dd HH:mm:ss"
-          >
-          </el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col
-        style="display: flex; justify-content: end"
-        v-bind="styleResponsive ? { lg: 4, md: 6 } : { span: 4 }"
-      >
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import dictMixins from '@/mixins/dictMixins';
-
-export default {
-  mixins: [dictMixins],
-
-  data() {
-    // 默认表单数据
-    const defaultParams = {
-      // code: '',
-      // name: '',
-      targetTime:'',
-      type:'',
-      searchName:""
-    };
-    return {
-      defaultParams,
-      // 表单数据
-      params: { ...defaultParams }
-    };
-  },
-  computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
-    }
-  },
-  methods: {
-    search() {
-      this.$emit('search', {
-        ...this.params
-      });
+  import { reviewStatusSelect,saleOrderProgressStatusEnum,activity_type } from '@/enum/dict';
+  export default {
+    data() {
+      return {};
+    },
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+          {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '编码/主题/来访单位/发起人'
+          },
+          {
+            label: '类型:',
+            value: 'type',
+            width: 380,
+            type: 'DictSelection',
+            dictName:"市场活动类型",
+          },
+          {
+            label: '负责人:',
+            value: 'commanderName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '来访时间:',
+            value: 'targetTime',
+            width: 380,
+            type: 'input',
+            placeholder: '请选择来访时间'
+          },
+          {
+            label: '主题:',
+            value: 'name',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '来访单位:',
+            value: 'visitingUnitsName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '审核状态:',
+            value: 'orderStatus',
+            width: 380,
+            type: 'select',
+            planList: reviewStatusSelect,
+            placeholder: '请选择审核状态'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          },
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.createTime = [];
-      this.params = Object.assign({}, { ...this.defaultParams });
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>

+ 0 - 1
src/views/marketManagem/index.vue

@@ -164,7 +164,6 @@ export default {
           align: 'center',
           showOverflowTooltip: true
         },
-
         {
           minWidth: 200,
           prop: 'name',

+ 97 - 117
src/views/saleManage/businessOpportunity/components/opportunitySearch.vue

@@ -1,125 +1,105 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.contactName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="商机名称:" prop="name">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.name"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="创建时间:" prop="createTimeStart">
-          <el-date-picker
-            style="width: 100%"
-            v-model="createTime"
-            @change="changeDate"
-            type="datetimerange"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            :default-time="['00:00:00', '23:59:59']">
-          </el-date-picker>
-        </el-form-item>
-      </el-col>
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="组织机构:">-->
-<!--          <auth-selection v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-    </el-row>
-    <el-row :gutter="15">
-
-      <el-col style="display: flex;justify-content: end"  v-bind="styleResponsive ? { lg:24, md: 24 } : { span:24 }">
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-export default {
-  data() {
-    // 默认表单数据
-    const defaultParams = {
-      type: 1,
-      name: '',
-      productName: '',
-      codeOrSerialNo: '',
-      status: '',
-      deptIds:''
-    };
-    return {
-      createTime: [],
-      where: {createTimeStart: '', createTimeEnd: ''},
-      defaultParams,
-      // 表单数据
-      params: {...defaultParams},
-      // 状态数据源
-      statusList: [
-        {value: 1, label: "有效"},
-        {value: 2, label: "失效"}
-      ],
-    };
-  },
-  computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
-    }
-  },
-  methods: {
-    changeDate(e) {
-      this.createTime = e
+  import { reviewStatusSelect, saleOrderProgressStatusEnum } from '@/enum/dict';
+  export default {
+    data() {
+      return {};
     },
-    /* 搜索 */
-    search() {
-      const [createTimeStart, createTimeEnd] = this.createTime
-      this.params = Object.assign({}, this.params, {createTimeStart, createTimeEnd})
-      this.$emit('search', {
-        ...this.params
-      });
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+          {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '商机编码/商机名称/产品名称'
+          },
+          {
+            label: '商机编码:',
+            value: 'code',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '客户名称:',
+            value: 'contactName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '商机名称:',
+            value: 'name',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '产品名称:',
+            value: 'productNames',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '负责人名称:',
+            value: 'responsibleName',
+            labelWidth: 130,
+            width: 370,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '启用状态:',
+            value: 'status',
+            width: 380,
+            type: 'select',
+            placeholder: '请选择启用状态',
+            planList: [
+              { label: '启用', value: 1 },
+              { label: '禁用', value: 2 }
+            ]
+          },
+          {
+            label: '创建人:',
+            value: 'createUserName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          },
+          {
+            label: '审核状态:',
+            value: 'reviewStatus',
+            width: 380,
+            type: 'select',
+            planList: reviewStatusSelect,
+            placeholder: '请选择审核状态'
+          }
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.params = {...this.defaultParams};
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>

+ 92 - 82
src/views/saleManage/contact/components/contactSearch.vue

@@ -1,98 +1,108 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="编码/代号:" prop="codeOrSerialNo">
-          <el-input
-            clearable
-            v-model="params.codeOrSerialNo"
-            placeholder="请输入"
-            maxlength="50"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="客户名称:" prop="name">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.name"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="是否启用:" prop="codeOrSerialNo">-->
-<!--          <el-select v-model="params.status" placeholder="请选择" class="w100" clearable>-->
-<!--            <el-option-->
-<!--              v-for="item in statusList"-->
-<!--              :key="item.value"-->
-<!--              :label="item.label"-->
-<!--              :value="item.value"-->
-<!--            ></el-option>-->
-<!--          </el-select>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
+  import { reviewStatusSelect,saleOrderProgressStatusEnum } from '@/enum/dict';
   export default {
-    data () {
-      // 默认表单数据
-      const defaultParams = {
-        type: 1,
-        name: '',
-        codeOrSerialNo: '',
-        status: ''
-      };
-      return {
-        defaultParams,
-        // 表单数据
-        params: { ...defaultParams },
-        // 状态数据源
-        statusList: [
-          {value: 1, label: "启用"},
-          {value: 2, label: "禁用"}
-        ],
-      };
+    data() {
+      return {};
     },
     computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
+      // 表格列配置
+      seekList() {
+        return [
+        {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '编码/代号/客户名称/电话'
+          },
+          {
+            label: '编码/代号:',
+            value: 'codeOrSerialNo',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '客户名称:',
+            value: 'name',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入',
+          },
+          {
+            label: '电话:',
+            value: 'phone',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '注册地址:',
+            value: 'addressName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '联系地址:',
+            value: 'otherAddressName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '联系人:',
+            value: 'linkName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '状态',
+            value: 'targetTime',
+            width: 380,
+            type: 'select',
+            placeholder: '请选择状态',
+            planList:[
+
+            ]
+          },
+          {
+            label: '部门:',
+            value: 'assessmentObject',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入',
+          },
+          {
+            label: '创建人:',
+            value: 'createUsername',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入姓名'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          },
+        ];
       }
     },
     methods: {
       /* 搜索 */
-      search () {
-        console.log(this.current);
+      search(e) {
         this.$emit('search', {
-          ...this.params
+          ...e
         });
-      },
-      /*  重置 */
-      reset () {
-        this.params = { ...this.defaultParams };
-        this.search();
       }
     }
   };

+ 135 - 127
src/views/saleManage/quotation/components/searchQuotation.vue

@@ -1,133 +1,141 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="询价方名称:" prop="contactName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.contactName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="总金额最小:" prop="totalPriceMin">
-          <el-input
-          placeholder="请输入"
-          type="number"
-           v-model.trim="params.totalPriceMin" controls-position="right" :min="0" ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="总金额最大:" prop="totalPriceMax">
-          <el-input
-          type="number"
-
-          placeholder="请输入"
-           v-model.trim="params.totalPriceMax" controls-position="right" :min="0" ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="创建时间:" prop="createTimeStart">
-          <el-date-picker
-            style="width: 100%"
-            v-model="createTime"
-            @change="changeDate"
-            type="datetimerange"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            :default-time="['00:00:00', '23:59:59']">
-          </el-date-picker>
-        </el-form-item>
-      </el-col>
-
-
-    </el-row>
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="组织机构:">-->
-<!--          <auth-selection v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col style="display: flex;justify-content: end"  v-bind="styleResponsive ? { lg:18, md: 18 } : { span:18 }">
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-
-
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-  export default {
-    data () {
-      // 默认表单数据
-      const defaultParams = {
-        contactName: '',
-        productName: '',
-        createTimeStart: '',
-        createTimeEnd:'',
-        totalPriceMax: null,
-        totalPriceMin: null
-      };
-      return {
-        createTime:[],
-        defaultParams,
-        // 表单数据
-        params: { ...defaultParams }
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      //选择时间
-      changeDate(e){
-       this.createTime=e
-      },
-      /* 搜索 */
-      search () {
-        const [createTimeStart,createTimeEnd]=this.createTime
-        this.params=Object.assign({},this.params,{createTimeStart,createTimeEnd})
-        this.$emit('search', {
-          ...this.params
-        });
-      },
-      /*  重置 */
-      reset () {
-        this.createTime=[]
-        this.params = { ...this.defaultParams };
-        this.search();
-      }
+import {
+  reviewStatusSelect,
+  saleOrderProgressStatusEnum,
+  activity_type
+} from '@/enum/dict';
+export default {
+  data() {
+    return {};
+  },
+  computed: {
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '编码/产品名称/创建人'
+        },
+        {
+          label: '编码:',
+          value: 'code',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '产品名称:',
+          value: 'productNames',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '总金额最小:',
+          value: 'totalPriceMin',
+          labelWidth: 130,
+          width: 370,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '总金额最大:',
+          value: 'totalPriceMax',
+          labelWidth: 130,
+          width: 370,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '询价方名称:',
+          value: 'contactName',
+          labelWidth: 130,
+          width: 370,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '询价方联系人:',
+          value: 'contactLinkName',
+          labelWidth: 130,
+          width: 360,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '询价方联系电话:',
+          value: 'contactTel',
+          labelWidth: 130,
+          width: 345,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '报价方名称:',
+          value: 'quoteName',
+          labelWidth: 130,
+          width: 370,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '报价方联系人:',
+          value: 'quoteLinkName',
+          labelWidth: 130,
+          width: 360,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '交货日期:',
+          value: 'deliveryDate',
+          width: 360,
+          type: 'date',
+          labelWidth: 120,
+          dateType: 'datetimerange',
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+        {
+          label: '审核状态:',
+          value: 'orderStatus',
+          width: 380,
+          type: 'select',
+          planList: reviewStatusSelect,
+          placeholder: '请选择审核状态'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        }
+      ];
     }
-  };
+  },
+  methods: {
+    /* 搜索 */
+    search(e) {
+      this.$emit('search', {
+        ...e
+      });
+    }
+  }
+};
 </script>

+ 117 - 107
src/views/saleManage/saleOrder/accountstatement/components/searchTable.vue

@@ -1,124 +1,134 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="对账单编码:" prop="statementNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.statementNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-
-<!--      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">-->
-
-<!--        <el-form-item label="创建时间:" prop="createTimeStart">-->
-<!--          <el-date-picker-->
-<!--            v-model="createTime"-->
-<!--            @change="changeDate"-->
-<!--            type="daterange"-->
-<!--            style="width:292px"-->
-<!--            value-format="yyyy-MM-dd"-->
-<!--            start-placeholder="开始时间"-->
-<!--            end-placeholder="结束时间"-->
-<!--            :default-time="['00:00:00', '23:59:59']">-->
-<!--          </el-date-picker>-->
-<!--        </el-form-item>-->
-
-<!--      </el-col>-->
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            placeholder="请输入"
-            style="max-width:320px"
-            v-model.trim="params.contactName" controls-position="right">
-          </el-input>
-
-        </el-form-item>
-      </el-col>
-
-<!--        <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--          <el-form-item label="组织机构:">-->
-<!--            <auth-selection data-type="Array" v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg:12, md: 12 } : { span:12 }">
-
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import {reviewStatusEnum} from '@/enum/dict';
-
-const repliedOptions = [
-  {value: 0, label: '否'},
-  {value: 1, label: '是'},
-]
+import { reviewStatusSelect, saleOrderProgressStatusEnum, activity_type } from '@/enum/dict';
 export default {
   data() {
-    // 默认表单数据
-    const defaultParams = {
-      contactName: '',
-      statementNo: '',
-      projectId: '',
-      projectName: '',
-      createTimeEnd: '',
-      createTimeStart: ''
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      createTime: [],
-      // 表单数据
-      params: {...defaultParams}
-    };
+    return {};
   },
   computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '对账单编码/客户名称/总金额'
+        },
+        {
+          label: '对账单编码:',
+          value: 'statementNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '客户名称:',
+          value: 'contactName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '对账方式:',
+          value: 'dateType',
+          width: 380,
+          type: 'select',
+          planList: [
+            { label: '按年度', value: 1 },
+            { label: '按季度', value: 2 },
+            { label: '按月度', value: 3 },
+            { label: '按时间段', value: 4 },
+          ],
+          placeholder: '请选择'
+        },
+        {
+          label: '对账开始日期:',
+          value: 'startDate',
+          width: 360,
+          type: 'date',
+          labelWidth: 120,
+          dateType: 'datetimerange',
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+        {
+          label: '对账结束日期:',
+          value: 'endDate',
+          width: 360,
+          type: 'date',
+          labelWidth: 120,
+          dateType: 'datetimerange',
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+        {
+          label: '总金额:',
+          value: 'amountTotalPrice',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '应收金额:',
+          value: 'amountReceivablePrice',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '应付金额:',
+          value: 'amountPayablePrice',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '状态:',
+          value: 'reviewStatus',
+          width: 380,
+          type: 'select',
+          planList: [],
+          placeholder: '请选择'
+        },
+        {
+          label: '是否回执:',
+          value: 'replied',
+          width: 380,
+          type: 'select',
+          planList: [
+            { label: '是', value: 1 },
+            { label: '否', value: 2 }
+          ],
+          placeholder: '请选择'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+      ];
     }
   },
   methods: {
-    //选择时间
-    changeDate(e) {
-      this.createTime = e
-    },
     /* 搜索 */
-    search() {
-      let [createTimeStart, createTimeEnd] = this.createTime
-      this.params = Object.assign({}, this.params, {createTimeStart, createTimeEnd})
+    search(e) {
       this.$emit('search', {
-        ...this.params
+        ...e
       });
-    },
-    /*  重置 */
-    reset() {
-      this.createTime = []
-      this.params = Object.assign({}, {...this.defaultParams});
-      this.search();
     }
   }
 };

+ 113 - 93
src/views/saleManage/saleOrder/components/searchTable.vue

@@ -1,100 +1,120 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-  import { reviewStatusSelect,saleOrderProgressStatusEnum } from '@/enum/dict';
-  export default {
-    data() {
-      return {};
-    },
-    computed: {
-      // 表格列配置
-      seekList() {
-        return [
-          {
-            label: '订单编码:',
-            value: 'orderNo',
-            type: 'input',
-            placeholder: ''
-          },
-          {
-            label: '客户名称:',
-            value: 'partaName',
-            type: 'input',
-            placeholder: ''
-          },
-          {
-            label: '合同编号:',
-            value: 'contractNumber',
-            type: 'input',
-            placeholder: ''
-          },
-          {
-            label: '产品名称:',
-            value: 'productName',
-            type: 'input',
-            placeholder: ''
-          },
+import { reviewStatusSelect, saleOrderProgressStatusEnum } from '@/enum/dict';
+export default {
+  data() {
+    return {};
+  },
+  computed: {
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '订单编码/客户名称/合同编号/产品名称'
+        },
+        {
+          label: '订单编码:',
+          value: 'orderNo',
+          width: 380,
+          type: 'input',
+          placeholder: ''
+        },
+        {
+          label: '客户名称:',
+          value: 'partaName',
+          width: 380,
+          type: 'input',
+          placeholder: ''
+        },
+        {
+          label: '合同编号:',
+          value: 'contractNumber',
+          width: 380,
+          type: 'input',
+          placeholder: ''
+        },
+        {
+          label: '产品名称:',
+          value: 'productName',
+          width: 380,
+          type: 'input',
+          placeholder: ''
+        },
 
-          {
-            label: '项目名称:',
-            value: 'productCode',
-            type: 'input',
-            width: 380,
-            placeholder: ''
-          },
-          {
-            label: '订单类型',
-            value: 'needProduce',
-            type: 'select',
-            planList: [
-              {
-                label: '生产性订单',
-                value: '1'
-              },
-              { label: '无客户生产性订单', value: '2' },
-              { label: '库存式订单', value: '0' },
-              { label: '不定向订单', value: '4' }
-            ],
-            width: 380,
-            placeholder: ''
-          },
-          {
-            label: '审核状态',
-            value: 'orderStatus',
-            type: 'select',
-            planList: reviewStatusSelect,
-            width: 380,
-            placeholder: ''
-          },
-          {
-            label: '订单进度',
-            value: 'progress',
-            type: 'select',
-            planList:saleOrderProgressStatusEnum,
-            width: 380,
-            placeholder: ''
-          },
-          {
-            label: '创建时间:',
-            value: 'createTime',
-            type: 'date',
-            dateType: 'datetimerange',
-            placeholder: '',
-            width: 380,
-            valueAr: ['createTimeStart', 'createTimeEnd']
-          }
-        ];
-      }
-    },
-    methods: {
-      /* 搜索 */
-      search(e) {
-        this.$emit('search', {
-          ...e
-        });
-      }
+        {
+          label: '项目名称:',
+          value: 'productCode',
+          width: 380,
+          type: 'input',
+          width: 380,
+          placeholder: ''
+        },
+        {
+          label: '订单类型',
+          value: 'needProduce',
+          width: 380,
+          type: 'select',
+          planList: [
+            {
+              label: '生产性订单',
+              value: '1'
+            },
+            { label: '无客户生产性订单', value: '2' },
+            { label: '库存式订单', value: '0' },
+            { label: '不定向订单', value: '4' }
+          ],
+          width: 380,
+          placeholder: ''
+        },
+        {
+          label: '审核状态',
+          value: 'orderStatus',
+          type: 'select',
+          planList: reviewStatusSelect,
+          width: 380,
+          placeholder: ''
+        },
+        {
+          label: '订单进度',
+          value: 'progress',
+          type: 'select',
+          planList: saleOrderProgressStatusEnum,
+          width: 380,
+          placeholder: ''
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        }
+      ];
     }
-  };
+  },
+  methods: {
+    /* 搜索 */
+    search(e) {
+      this.$emit('search', {
+        ...e
+      });
+    }
+  }
+};
 </script>

+ 92 - 135
src/views/saleManage/saleOrder/customerReturnOrder/searchTable-page.vue

@@ -1,151 +1,108 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="处理单编码:" prop="returnHandleNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.returnHandleNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="退货单编码:" prop="returnNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.returnNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-<!--        <el-form-item label="发货单编码:" prop="sendNo">-->
-<!--          <el-input-->
-<!--            clearable-->
-<!--            placeholder="请输入"-->
-<!--            v-model.trim="params.sendNo"-->
-<!--          ></el-input>-->
-<!--        </el-form-item>-->
-        <el-form-item label="审核状态:" prop="reviewStatus">
-          <el-select v-model="params.reviewStatus" placeholder="请选择" class="w100" clearable>
-            <el-option
-              v-for="item in reviewStatusEnum"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-<!--        <el-form-item label="订单编码:" prop="orderNo">-->
-<!--          <el-input-->
-<!--            clearable-->
-<!--            placeholder="请输入"-->
-<!--            v-model.trim="params.orderNo"-->
-<!--          ></el-input>-->
-<!--        </el-form-item>-->
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            placeholder="请输入"
-            style="max-width:320px"
-            v-model.trim="params.contactName" controls-position="right" >
-          </el-input>
-
-        </el-form-item>
-
-      </el-col>
-
-    </el-row>
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="组织机构:">-->
-<!--          <auth-selection v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg:18, md: 24 } : { span:18 }">
-
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import {reviewStatusEnum} from '@/enum/dict';
-const repliedOptions=[
-  {value:0,label:'否'},
-  {value:1,label:'是'},
-]
+import { reviewStatusSelect, saleOrderProgressStatusEnum, activity_type } from '@/enum/dict';
 export default {
-  data () {
-    // 默认表单数据
-    const defaultParams = {
-      contractName: '',
-      contractId:'',
-      docNo:'',
-      orderId:'',
-      returnHandleNo:'',
-      replied:null,
-      reviewStatus:null
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      // 表单数据
-      params: { ...defaultParams }
-    };
+  data() {
+    return {};
   },
   computed: {
-    // 是否开启响应式布局
-    styleResponsive () {
-      return this.$store.state.theme.styleResponsive;
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '退货处理单编码/退货单编码/客户名称/产品名称'
+        },
+        {
+          label: '退货处理单编码:',
+          value: 'returnHandleNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '退货单编码:',
+          value: 'returnNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '客户名称:',
+          value: 'contactName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '销售订单编码:',
+          value: 'orderNo',
+          width: 360,
+          labelWidth: 120,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '发货订单编码:',
+          value: 'sendNo',
+          width: 360,
+          labelWidth: 120,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '产品名称:',
+          value: 'productNames',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '批次号:',
+          value: 'batchNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '状态:',
+          value: 'totalAmount',
+          width: 380,
+          planList: [],
+          type: 'select',
+          placeholder: '请选择'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+      ];
     }
   },
   methods: {
-    //选择时间
-    changeDate(e){
-      this.createTime=e
-    },
     /* 搜索 */
-    search () {
+    search(e) {
       this.$emit('search', {
-        ...this.params
+        ...e
       });
-    },
-    /*  重置 */
-    reset () {
-      this.createTime=[]
-      this.params = Object.assign({},{ ...this.defaultParams });
-      this.search();
     }
   }
 };

+ 80 - 115
src/views/saleManage/saleOrder/entrustedReceive/components/searchTable.vue

@@ -1,121 +1,86 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="收货单编码:" prop="code">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.code"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="订单编码:" prop="orderNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.orderNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-          placeholder="请输入"
-           v-model.trim="params.contactName" controls-position="right" >
-          </el-input>
-
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-
-
-    </el-row>
-    <el-row :gutter="15">
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="组织机构:" >-->
-<!--          <auth-selection v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg:24, md: 24 } : { span:24 }">
-
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import {reviewStatusEnum} from '@/enum/dict';
-const repliedOptions=[
-  {value:0,label:'否'},
-  {value:1,label:'是'},
-]
-  export default {
-    data () {
-      // 默认表单数据
-      const defaultParams = {
-        contactName: '',
-        code:'',
-        orderId:''
-      };
-      return {
-        reviewStatusEnum,
-        defaultParams,
-        repliedOptions,
-        // 表单数据
-        params: { ...defaultParams }
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      //选择时间
-      changeDate(e){
-       this.createTime=e
-      },
-      /* 搜索 */
-      search () {
-        this.$emit('search', {
-          ...this.params
-        });
-      },
-      /*  重置 */
-      reset () {
-        this.createTime=[]
-        this.params = Object.assign({},{ ...this.defaultParams });
-        this.search();
-      }
+import { reviewStatusSelect, saleOrderProgressStatusEnum, activity_type } from '@/enum/dict';
+export default {
+  data() {
+    return {};
+  },
+  computed: {
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '收货单编码/订单编码/客户名称/产品名称'
+        },
+        {
+          label: '收货单编码:',
+          value: 'code',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '订单编码:',
+          value: 'orderNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '客户名称:',
+          value: 'contactName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '产品名称:',
+          value: 'productName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '状态',
+          value: 'reviewStatus',
+          width: 380,
+          type: 'select',
+          planList: [],
+          placeholder: '请选择'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        },
+      ];
     }
-  };
+  },
+  methods: {
+    /* 搜索 */
+    search(e) {
+      this.$emit('search', {
+        ...e
+      });
+    }
+  }
+};
 </script>

+ 105 - 110
src/views/saleManage/saleOrder/exceptionManagement/components/order-search.vue

@@ -1,117 +1,112 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="90px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="编码:">
-          <el-input
-            clearable
-            v-model="where.code"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="名称:">
-          <el-input
-            clearable
-            v-model="where.name"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
- 
-
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="创建人:">
-          <el-input
-            clearable
-            v-model="where.createUserName"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-
-
-      <el-col v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }">
-        <el-form-item>
-          <div style="display:flex;justify-content: end;">
-            <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
-            >重置</el-button
-          >
-          </div>
-         
-        </el-form-item>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
-
 <script>
-export default {
-  props: [],
-  data() {
-    // 默认表单数据
-    const defaultWhere = {
-      name:'',
-      code:'',
-
-      createUserName:"",
-
-    };
-    return {
-      // 表单数据
-      where: { ...defaultWhere },
-  
-      options: [
-      { label: '草稿', value: 0 },
-        { label: '审核中', value: 1 },
-        { label: '审核通过', value: 2 },
-        { label: '已处置', value: 4 },
-      ],
-    };
-  },
-  computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
-    }
-  },
-  watch: {},
-  created() {},
-  methods: {
-    /* 搜索 */
-    search() {
-      const where = { ...this.where };
-
-      this.$emit('search', where);
+  import {
+    reviewStatusSelect,
+    saleOrderProgressStatusEnum,
+    activity_type
+  } from '@/enum/dict';
+  export default {
+    data() {
+      return {};
+    },
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+        {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '编码/名称/来源编码/创建人'
+          },
+          {
+            label: '编码:',
+            value: 'code',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '名称:',
+            value: 'name',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '进度:',
+            value: 'progress',
+            width: 380,
+            planList: [
+              { label: '处置中', value: 1 },
+              { label: '处置完毕', value: 2 },
+              { label: '暂时搁置', value: 3 },
+              { label: '关闭', value: 4 },
+              { label: '未开始', value: 5 }
+            ],
+            type: 'select',
+            placeholder: '请选择'
+          },
+          {
+            label: '来源类型:',
+            value: 'relationType',
+            width: 380,
+            planList: [],
+            type: 'select',
+            placeholder: '请选择'
+          },
+          {
+            label: '来源编码:',
+            value: 'relationCode',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '来源名称:',
+            value: 'relationName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '审批状态:',
+            value: 'approvalStatus',
+            width: 380,
+            planList: [],
+            type: 'select',
+            placeholder: '请选择'
+          },
+          {
+            label: '创建人:',
+            value: 'createUserName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          }
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.where = { ...this.defaultWhere };
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>
-<style lang="scss" scoped>
-.ele-form-actions {
-  display: flex;
-  align-items: center;
-  justify-content: flex-end;
-}
-</style>

+ 93 - 141
src/views/saleManage/saleOrder/invoice/components/searchTable.vue

@@ -1,158 +1,110 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="编码:" prop="docNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.docNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }" v-if="!saleOrderId">
-        <el-form-item label="订单编码:" prop="orderNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.orderNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="是否回执:" prop="replied">
-          <el-select
-            v-model="params.replied"
-            placeholder="请选择"
-            class="w100"
-            clearable
-          >
-            <el-option
-              v-for="item in repliedOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <!--        <el-form-item label="审核状态:" prop="reviewStatus">-->
-        <!--          <el-select v-model="params.reviewStatus" placeholder="请选择" class="w100" clearable>-->
-        <!--            <el-option-->
-        <!--              v-for="item in reviewStatusEnum"-->
-        <!--              :key="item.value"-->
-        <!--              :label="item.label"-->
-        <!--              :value="item.value"-->
-        <!--            ></el-option>-->
-        <!--          </el-select>-->
-        <!--        </el-form-item>-->
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            placeholder="请输入"
-            style="max-width: 320px"
-            v-model.trim="params.contactName"
-            controls-position="right"
-          >
-          </el-input>
-        </el-form-item>
-      </el-col>
-    </el-row>
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="项目名称:">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.projectName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col
-        style="display: flex; justify-content: end"
-        v-bind="styleResponsive ? { lg: 12, md: 18 } : { span: 12 }"
-      >
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import { reviewStatusEnum } from '@/enum/dict';
-const repliedOptions = [
-  { value: 0, label: '否' },
-  { value: 1, label: '是' }
-];
+import { reviewStatusSelect, saleOrderProgressStatusEnum, activity_type } from '@/enum/dict';
 export default {
   data() {
-    // 默认表单数据
-    const defaultParams = {
-      contractName: '',
-      contractId: '',
-      docNo: '',
-      orderId: '',
-      replied: null,
-      reviewStatus: null,
-      projectName:''
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      // 表单数据
-      params: { ...defaultParams }
-    };
-  },
-  props: {
-    saleOrderId: ''
+    return {};
   },
   computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '发货编码/销售订单编码/产品名称/客户名称'
+        },
+        {
+          label: '发货单编码:',
+          value: 'docNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '销售订单编码:',
+          value: 'orderNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '产品名称',
+          value: 'productNames',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '批次号',
+          value: 'batchNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '项目名称',
+          value: 'projectName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '客户名称:',
+          value: 'contactName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '是否回执:',
+          value: 'replied',
+          width: 380,
+          type: 'select',
+          planList: [
+            { label: '是', value: 1 },
+            { label: '否', value: 2 },
+          ],
+          placeholder: '请选择'
+        },
+        {
+          label: '状态:',
+          value: 'reviewStatus',
+          width: 380,
+          type: 'select',
+          planList: [],
+          placeholder: '请选择'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        }
+      ];
     }
   },
   methods: {
-    //选择时间
-    changeDate(e) {
-      this.createTime = e;
-    },
     /* 搜索 */
-    search() {
+    search(e) {
       this.$emit('search', {
-        ...this.params
+        ...e
       });
-    },
-    /*  重置 */
-    reset() {
-      this.createTime = [];
-      this.params = Object.assign({}, { ...this.defaultParams });
-      this.search();
     }
   }
 };

+ 79 - 121
src/views/saleManage/saleOrder/invoiceConfirm/components/searchTable.vue

@@ -1,138 +1,96 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="130px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="收货确认单编码:" prop="docNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.docNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }" v-if="!saleOrderId">
-        <el-form-item label="发货单编码:" prop="sendNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.sendNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="是否回执:" prop="replied">
-          <el-select
-            v-model="params.replied"
-            placeholder="请选择"
-            class="w100"
-            clearable
-          >
-            <el-option
-              v-for="item in repliedOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <!--        <el-form-item label="审核状态:" prop="reviewStatus">-->
-        <!--          <el-select v-model="params.reviewStatus" placeholder="请选择" class="w100" clearable>-->
-        <!--            <el-option-->
-        <!--              v-for="item in reviewStatusEnum"-->
-        <!--              :key="item.value"-->
-        <!--              :label="item.label"-->
-        <!--              :value="item.value"-->
-        <!--            ></el-option>-->
-        <!--          </el-select>-->
-        <!--        </el-form-item>-->
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            placeholder="请输入"
-            style="max-width: 320px"
-            v-model.trim="params.contactName"
-            controls-position="right"
-          >
-          </el-input>
-        </el-form-item>
-      </el-col>
-    </el-row>
-    <el-row :gutter="15">
-
-      <el-col
-        style="display: flex; justify-content: end"
-        v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }"
-      >
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import { reviewStatusEnum } from '@/enum/dict';
-const repliedOptions = [
-  { value: 0, label: '否' },
-  { value: 1, label: '是' }
-];
+import { reviewStatusSelect } from '@/enum/dict';
 export default {
   data() {
-    // 默认表单数据
-    const defaultParams = {
-      docNo: '',
-      sendNo: '',
-      replied: null,
-      reviewStatus: null,
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      // 表单数据
-      params: { ...defaultParams }
-    };
-  },
-  props: {
-    saleOrderId: ''
+    return {};
   },
   computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
+    // 表格列配置
+    seekList() {
+      return [
+        {
+          label: '关键字:',
+          value: 'searchName',
+          width: 380,
+          type: 'input',
+          placeholder: '收货确认单编码/发货单编码/客户名称/批次号'
+        },
+        {
+          label: '确认单编码:',
+          value: 'docNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '发货单编码:',
+          value: 'sendNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '批次号:',
+          value: 'batchNo',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '客户名称:',
+          value: 'contactName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '是否回执:',
+          value: 'replied',
+          width: 380,
+          type: 'select',
+          planList: [
+            { label: '是', value: 1 },
+            { label: '否', value: 2 },
+          ],
+          placeholder: '请选择'
+        },
+        {
+          label: '状态:',
+          value: 'reviewStatus',
+          width: 380,
+          type: 'select',
+          planList: [],
+          placeholder: '请选择'
+        },
+        {
+          label: '创建人:',
+          value: 'createUserName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
+        {
+          label: '创建时间:',
+          value: 'createTime',
+          type: 'date',
+          dateType: 'datetimerange',
+          placeholder: '',
+          width: 380,
+          valueAr: ['createTimeStart', 'createTimeEnd']
+        }
+      ];
     }
   },
   methods: {
-    //选择时间
-    changeDate(e) {
-      this.createTime = e;
-    },
     /* 搜索 */
-    search() {
+    search(e) {
       this.$emit('search', {
-        ...this.params
+        ...e
       });
-    },
-    /*  重置 */
-    reset() {
-      this.createTime = [];
-      this.params = Object.assign({}, { ...this.defaultParams });
-      this.search();
     }
   }
 };

+ 70 - 90
src/views/saleManage/saleOrder/palletManagement/components/searchTable.vue

@@ -1,98 +1,78 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }" v-if="!saleOrderId">
-        <el-form-item label="订单编码:" prop="orderNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.orderNo"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="项目名称:">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.projectName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col
-        style="display: flex; justify-content: end"
-        v-bind="styleResponsive ? { lg: 12, md: 18 } : { span: 12 }"
-      >
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import { reviewStatusEnum } from '@/enum/dict';
-const repliedOptions = [
-  { value: 0, label: '否' },
-  { value: 1, label: '是' }
-];
-export default {
-  data() {
-    // 默认表单数据
-    const defaultParams = {
-      orderNo:'',
-      projectName:''
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      // 表单数据
-      params: { ...defaultParams }
-    };
-  },
-  props: {
-    saleOrderId: ''
-  },
-  computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
-    }
-  },
-  methods: {
-    //选择时间
-    changeDate(e) {
-      this.createTime = e;
+  import { reviewStatusSelect,saleOrderProgressStatusEnum,activity_type } from '@/enum/dict';
+  export default {
+    data() {
+      return {};
     },
-    /* 搜索 */
-    search() {
-      this.$emit('search', {
-        ...this.params
-      });
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+        {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '项目名称/销售订单编码/托盘名称/'
+          },
+        {
+            label: '项目名称:',
+            value: 'projectName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '销售订单编码:',
+            value: 'orderNo',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '托盘名称:',
+            value: 'productName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '托盘数量:',
+            value: 'totalCount',
+            width: 380,
+             type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '已回收数量:',
+            value: 'resviceNum',
+            width: 370,
+            labelWidth: 130,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '未回收数量:',
+            value: 'noResviceNum',
+            width: 370,
+            labelWidth: 130,
+            type: 'input',
+            placeholder: '请输入'
+          },
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.createTime = [];
-      this.params = Object.assign({}, { ...this.defaultParams });
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>

+ 113 - 141
src/views/saleManage/saleOrder/returnGoods/components/searchTable.vue

@@ -1,149 +1,121 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="退货单编码:" prop="returnNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.returnNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="订单编码:" prop="orderNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.orderNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="发货单编码:" prop="sendNo">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.sendNo"
-          ></el-input>
-        </el-form-item>
-
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="审核状态:" prop="reviewStatus">
-          <el-select v-model="params.reviewStatus" placeholder="请选择" class="w100" clearable>
-            <el-option
-              v-for="item in reviewStatusEnum"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-
-      </el-col>
-    </el-row>
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-        <el-form-item label="产品名称:" prop="productName">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.productName"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
-
-        <el-form-item label="客户名称:" prop="contactName">
-          <el-input
-            placeholder="请输入"
-            style="max-width:320px"
-            v-model.trim="params.contactName" controls-position="right">
-          </el-input>
-
-        </el-form-item>
-
-      </el-col>
-<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
-<!--        <el-form-item label="组织机构:">-->
-<!--          <auth-selection v-model="params.deptIds" style="width: 100%"></auth-selection>-->
-<!--        </el-form-item>-->
-<!--      </el-col>-->
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg:12, md: 18 } : { span:12 }">
-
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-import {reviewStatusEnum} from '@/enum/dict';
-
-const repliedOptions = [
-  {value: 0, label: '否'},
-  {value: 1, label: '是'},
-]
-export default {
-  data() {
-    // 默认表单数据
-    const defaultParams = {
-      contractName: '',
-      contractId: '',
-      docNo: '',
-      orderId: '',
-      replied: null,
-      reviewStatus: null
-    };
-    return {
-      reviewStatusEnum,
-      defaultParams,
-      repliedOptions,
-      // 表单数据
-      params: {...defaultParams}
-    };
-  },
-  computed: {
-    // 是否开启响应式布局
-    styleResponsive() {
-      return this.$store.state.theme.styleResponsive;
-    }
-  },
-  methods: {
-    //选择时间
-    changeDate(e) {
-      this.createTime = e
+  import { reviewStatusSelect,saleOrderProgressStatusEnum,activity_type } from '@/enum/dict';
+  export default {
+    data() {
+      return {};
     },
-    /* 搜索 */
-    search() {
-      this.$emit('search', {
-        ...this.params
-      });
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+        {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '退货单编码/订单编码/发货单编码/产品名称'
+          },
+          {
+            label: '退货单编码:',
+            value: 'returnNo',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '销售订单编码:',
+            value: 'orderNo',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '发货单编码:',
+            value: 'sendNo',
+            width: 370,
+            labelWidth:130,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '审核状态:',
+            value: 'reviewStatus',
+            width: 380,
+            type: 'select',
+            planList: reviewStatusSelect,
+            placeholder: '请选择审核状态'
+          },
+          {
+            label: '产品名称:',
+            value: 'productName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '客户名称:',
+            value: 'contactName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '总金额:',
+            value: 'totalAmount',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '退货类型:',
+            value: 'returnSourceType',
+            width: 380,
+            type: 'select',
+            planList:[
+              {label:'售后退货',value:1},
+              {label:'销售发货退货',value:3},
+              {label:'受托收货退货',value:2},
+              {label:'销售订单退货',value:4},
+            ],
+            placeholder: '请选择'
+          },
+          {
+            label: '批次号:',
+            value: 'batchNo',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '创建人:',
+            value: 'createUserName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          },
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.createTime = []
-      this.params = Object.assign({}, {...this.defaultParams});
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>

+ 81 - 75
src/views/targetManage/salesTarget/components/searchTable.vue

@@ -1,90 +1,96 @@
 <!-- 搜索表单 -->
 <template>
-  <el-form
-    label-width="100px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <!-- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="编码:" prop="code">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.code"
-          ></el-input>
-        </el-form-item>
-      </el-col> -->
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="编码:" prop="code">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.code"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="名称" prop="name">
-          <el-input
-            clearable
-            placeholder="请输入"
-            v-model.trim="params.name"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-
-      <el-col style="display: flex;justify-content: end" v-bind="styleResponsive ? { lg:6, md: 6 } : { span:6 }">
-
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
-
+  import { reviewStatusSelect,saleOrderProgressStatusEnum } from '@/enum/dict';
   export default {
-    data () {
-      // 默认表单数据
-      const defaultParams = {
-        code:'',
-        name:'',
-      };
-      return {
-        defaultParams,
-        // 表单数据
-        params: { ...defaultParams }
-      };
+    data() {
+      return {};
     },
     computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
+      // 表格列配置
+      seekList() {
+        return [
+          {
+            label: '关键字:',
+            value: 'searchName',
+            width: 380,
+            type: 'input',
+            placeholder: '编码/名称/类型/部门/姓名'
+          },
+          {
+            label: '编码:',
+            value: 'code',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入',
+          },
+          {
+            label: '名称:',
+            value: 'name',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '类型:',
+            value: 'targetTime',
+            width: 380,
+            type: 'DictSelection',
+            dictName:"市场活动类型",
+            placeholder: '请选择类型',
+          },
+          {
+            label: '部门:',
+            value: 'assessmentObject',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入',
+          },
+          {
+            label: '姓名:',
+            value: 'userName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
+          {
+            label: '创建时间:',
+            value: 'createTime',
+            type: 'date',
+            dateType: 'datetimerange',
+            placeholder: '',
+            width: 380,
+            valueAr: ['createTimeStart', 'createTimeEnd']
+          },
+          {
+            label: '状态:',
+            value: 'status',
+            width: 380,
+            type: 'select',
+            placeholder: '请选择状态',
+            planList:[
+
+            ]
+          },
+          {
+            label: '审核状态:',
+            value: 'reviewStatus',
+            width: 380,
+            type: 'select',
+            planList: reviewStatusSelect,
+            placeholder: '请选择审核状态'
+          },
+        ];
       }
     },
     methods: {
-      
-      search () {
+      /* 搜索 */
+      search(e) {
         this.$emit('search', {
-          ...this.params
+          ...e
         });
-      },
-      /*  重置 */
-      reset () {
-        this.createTime=[]
-        this.params = Object.assign({},{ ...this.defaultParams });
-        this.search();
       }
     }
   };