| <template> | 
|   <div class="search-list"> | 
|     <div class="search-top"> | 
|       <div class="left"> | 
|         <el-button v-if="showAdd" type="primary" size="mini" @click="addBtn"> | 
|           <div style="display: flex"> | 
|             <!-- <img | 
|               v-if="ishumanResource" | 
|               src="../../../assets/DingDing/index.png" | 
|               style="width: 15px; height: 15px; margin-right: 5px; background-color: #ffffff; border-radius: 50%" | 
|               alt="" | 
|             /> --> | 
|             <slot name="buttonIcon" /> | 
|             <p style="margin-top: 1px; line-height: 15px">{{ addTitle }}</p> | 
|           </div> | 
|         </el-button> | 
|         <slot name="leftButton" /> | 
|         <div class="download" @click="downloadClick" :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }"> | 
|           <img src="@/assets/img/xiazai.png" style="width: 13px" /> | 
|         </div> | 
|       </div> | 
|       <div v-if="amountView" class="amount"> | 
|         <div v-if="twoTotalAmount" class="top_left" style="width: 8%; border: 0px"> | 
|           <dl> | 
|             <dd class="font_weight">{{ twoObject.value }}</dd> | 
|             <dd class="top_right_bottom">{{ twoObject.label }}</dd> | 
|           </dl> | 
|         </div> | 
|         <div class="top_left" style="width: 10%"> | 
|           <dl> | 
|             <dd class="font_weight">{{ totalObject.value }}</dd> | 
|             <dd class="top_right_bottom">{{ totalObject.label }}</dd> | 
|           </dl> | 
|         </div> | 
|         <div class="top_right" style="width: 50%; margin-right: 15px"> | 
|           <dl v-for="item in otherOptions" :key="item.value"> | 
|             <dd class="font_weight"> | 
|               {{ item.value }} | 
|             </dd> | 
|             <dd class="top_right_bottom"> | 
|               <span v-if="item.status" class="Badge" :class="item.status"></span> | 
|               <span>{{ item.label }}</span> | 
|             </dd> | 
|           </dl> | 
|         </div> | 
|       </div> | 
|       <div v-else class="amount"></div> | 
|       <div class="search"> | 
|         <template v-if="isSearchForm"> | 
|           <el-input | 
|             :placeholder="placeholder" | 
|             v-model.trim="searchInput" | 
|             class="input-with-select" | 
|             style="width: 410px" | 
|             clearable | 
|             @change="searchClick" | 
|             @clear="clearClick" | 
|           > | 
|             <i slot="suffix" class="el-icon-search" style="cursor: pointer" @click="searchClick"></i> | 
|           </el-input> | 
|         </template> | 
|         <div class="search-Btn"> | 
|           <div class="common"> | 
|             <img src="@/assets/img/shaixuan.png" style="width: 10px" /> | 
|             <span>筛选</span> | 
|           </div> | 
|           <div class="common"> | 
|             <i class="el-icon-s-fold"></i> | 
|             <span>分组</span> | 
|           </div> | 
|           <div class="common"> | 
|             <i class="el-icon-star-on"></i> | 
|             <span>收藏</span> | 
|           </div> | 
|         </div> | 
|       </div> | 
|       <div v-if="showSet"> | 
|         <i class="el-icon-setting cursor_pointer font_size_30" style="color: gray" @click="inspectionConfigClick"></i> | 
|       </div> | 
|     </div> | 
|   </div> | 
| </template> | 
|   | 
| <script> | 
| export default { | 
|   name: "CommonSearch", | 
|   components: {}, | 
|   props: { | 
|     showAdd: { | 
|       type: Boolean, | 
|       default: true | 
|     }, | 
|     showDownload: { | 
|       type: Boolean, | 
|       default: false | 
|     }, | 
|     showActionBtn: { | 
|       type: Boolean, | 
|       default: true | 
|     }, | 
|     placeholder: { | 
|       type: String, | 
|       default: "请输入内容" | 
|     }, | 
|     addTitle: { | 
|       type: String, | 
|       default: "添加" | 
|     }, | 
|     totalObject: { | 
|       type: Object, | 
|       default: () => { | 
|         return { | 
|           value: 0, | 
|           label: "全部物料" | 
|         } | 
|       } | 
|     }, | 
|     otherOptions: { | 
|       type: Array, | 
|       default: () => [ | 
|         { | 
|           value: 2, | 
|           label: "安全库存", | 
|           status: "success" | 
|         }, | 
|         { | 
|           value: 12, | 
|           label: "欠料", | 
|           status: "error" | 
|         }, | 
|         { | 
|           value: 2, | 
|           label: "安全库存", | 
|           status: "success" | 
|         }, | 
|         { | 
|           value: 12, | 
|           label: "欠料", | 
|           status: "error" | 
|         } | 
|       ] | 
|     }, | 
|     searchSel: { | 
|       type: Object, | 
|       default: () => { | 
|         return { | 
|           value: "name", | 
|           label: "" | 
|         } | 
|       } | 
|     }, | 
|     twoTotalAmount: { | 
|       type: Boolean, | 
|       default: false | 
|     }, | 
|     twoObject: { | 
|       type: Object, | 
|       default: () => { | 
|         return { | 
|           value: 0, | 
|           label: "车间总量" | 
|         } | 
|       } | 
|     }, | 
|     amountView: { | 
|       type: Boolean, | 
|       default: true | 
|     }, | 
|     isSearchForm: { | 
|       type: Boolean, | 
|       default: true | 
|     }, | 
|     showSet: { | 
|       type: Boolean, | 
|       default: false | 
|     }, | 
|     inputName: { | 
|       type: String, | 
|       default: "" | 
|     } | 
|   }, | 
|   watch: { | 
|     inputName(val) { | 
|       this.searchInput = val | 
|     } | 
|   }, | 
|   data() { | 
|     return { | 
|       searchInput: "", | 
|       searchSelValue: this.searchSel | 
|     } | 
|   }, | 
|   methods: { | 
|     // 搜索 | 
|     searchClick() { | 
|       this.$emit("searchClick", this.searchInput) | 
|     }, | 
|     // 清除 | 
|     clearClick() { | 
|       this.$emit("clearClick", 1) | 
|     }, | 
|     // 添加 | 
|     addBtn() { | 
|       this.$emit("addCommonClick") | 
|     }, | 
|     // 下载 | 
|     downloadClick() { | 
|       this.$emit("downloadClick") | 
|     }, | 
|     // 模具-检查配置 | 
|     inspectionConfigClick() { | 
|       this.$emit("inspectionConfigClick") | 
|     } | 
|   } | 
| } | 
| </script> | 
|   | 
| <!-- Add "scoped" attribute to limit CSS to this component only --> | 
| <style lang="scss" scoped> | 
| .search-list { | 
|   font-size: 13px; | 
|   color: #333; | 
|   width: 100%; | 
|   .search-top { | 
|     width: 100%; | 
|     display: flex; | 
|     align-items: center; | 
|     .left { | 
|       display: flex; | 
|       width: 150px; | 
|       .download { | 
|         width: 30px; | 
|         height: 30px; | 
|         line-height: 35px; | 
|         text-align: center; | 
|         border: 1px solid #b1b1b1; | 
|         border-radius: 4px; | 
|         cursor: pointer; | 
|       } | 
|     } | 
|     .amount { | 
|       flex: 1; | 
|       display: flex; | 
|       justify-content: right; | 
|       .top_left { | 
|         width: 10%; | 
|         border-right: 1px solid #ccc; | 
|         display: flex; | 
|         padding-right: 2%; | 
|         flex-wrap: nowrap; | 
|         flex-direction: row; | 
|         align-content: center; | 
|         justify-content: center; | 
|         align-items: center; | 
|         text-align: center; | 
|         .font_weight { | 
|           font-weight: 500; | 
|           font-size: 18px; | 
|           font-family: "DIN Alternate", serif; | 
|         } | 
|         .top_right_bottom { | 
|           font-size: 12px; | 
|         } | 
|       } | 
|       .top_right { | 
|         display: flex; | 
|         flex-direction: row; | 
|         flex-wrap: nowrap; | 
|         align-content: center; | 
|         align-items: center; | 
|         justify-content: space-around; | 
|         width: calc(90% - 197px); | 
|         text-align: center; | 
|         color: #666; | 
|         margin-left: 10px; | 
|         .font_weight { | 
|           font-weight: 500; | 
|           font-size: 18px; | 
|           font-family: "DIN Alternate", serif; | 
|         } | 
|         .top_right_bottom { | 
|           font-size: 12px; | 
|         } | 
|       } | 
|     } | 
|     .search { | 
|       display: flex; | 
|       align-items: center; | 
|       width: auto; | 
|       height: 60px; | 
|       line-height: 60px; | 
|       margin-right: 20px; | 
|       margin-left: 20px; | 
|       .el-icon-search { | 
|         margin-top: 22px; | 
|       } | 
|       .search-Btn { | 
|         display: flex; | 
|         margin-left: 40px; | 
|         background: #f3f3f3; | 
|         height: 30px; | 
|         border-radius: 4px; | 
|         align-items: center; | 
|         .common { | 
|           width: 50px; | 
|           text-align: center; | 
|           cursor: no-drop; | 
|         } | 
|       } | 
|     } | 
|   } | 
|   .success { | 
|     background: #06c062; | 
|   } | 
|   .yellow { | 
|     background: #e6a23c; | 
|   } | 
| } | 
|   | 
| ::v-deep { | 
|   .el-input__inner { | 
|     height: 30px; | 
|     //color: #2765e1; | 
|   } | 
|   .el-input__prefix, | 
|   .el-input__suffix { | 
|     height: 30px; | 
|   } | 
|   .el-input__icon { | 
|     line-height: 30px; | 
|   } | 
|   .search { | 
|     .el-select .el-input { | 
|       width: 130px; | 
|     } | 
|     .input-with-select .el-input-group__prepend { | 
|       background-color: #da2323; | 
|     } | 
|     // .el-input__suffix { | 
|     //   // 处理前缀图标不垂直居中的问题 | 
|     //   height: auto; | 
|     //   font-size: 15px; | 
|     //   &-inner { | 
|     //     flex-direction: row-reverse; | 
|     //     -webkit-flex-direction: row-reverse; | 
|     //     display: flex; | 
|     //   } | 
|     // } | 
|     .el-input--suffix .el-input__inner { | 
|       padding-right: 45px; | 
|     } | 
|     .search-sel .el-input--suffix .el-input__inner { | 
|       padding-left: 5px; | 
|       padding-right: 20px; | 
|     } | 
|   } | 
| } | 
| </style> |