patrol-search.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form
  4. label-width="100px"
  5. class="ele-form-search"
  6. @keyup.enter.native="search"
  7. @submit.native.prevent
  8. >
  9. <el-row :gutter="15">
  10. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  11. <el-form-item label="计划配置单号:">
  12. <el-input clearable v-model="where.code" placeholder="请输入" />
  13. </el-form-item>
  14. <el-form-item label="规则名称:">
  15. <el-input clearable v-model="where.ruleName" placeholder="请输入" />
  16. </el-form-item>
  17. </el-col>
  18. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  19. <el-form-item label="计划配置名称:">
  20. <el-input clearable v-model="where.name" placeholder="请输入" />
  21. </el-form-item>
  22. <el-form-item label="状态:">
  23. <DictSelection dictName="规则状态" clearable v-model="where.status">
  24. </DictSelection>
  25. </el-form-item>
  26. </el-col>
  27. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  28. <el-form-item label="量具送检部门:">
  29. <deptSelect v-model="where.groupId" />
  30. </el-form-item>
  31. <el-form-item label="创建时间:">
  32. <el-date-picker
  33. style="width: 100%"
  34. v-model="time"
  35. type="daterange"
  36. range-separator="至"
  37. start-placeholder="开始日期"
  38. end-placeholder="结束日期"
  39. value-format="yyyy-MM-dd HH:mm:ss"
  40. :default-time="['00:00:00', '23:59:59']"
  41. >
  42. </el-date-picker>
  43. </el-form-item>
  44. </el-col>
  45. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  46. <el-form-item label="设备分类:">
  47. <equipmentSelect v-model="where.categoryLevelId" />
  48. </el-form-item>
  49. <el-form-item label="组织机构:">
  50. <auth-selection v-model="where.deptIds" style="width: 100%"></auth-selection>
  51. </el-form-item>
  52. </el-col>
  53. </el-row>
  54. <el-row>
  55. <el-col v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }" style="display: flex;justify-content: flex-end">
  56. <div class="ele-form-actions">
  57. <el-button
  58. type="primary"
  59. icon="el-icon-search"
  60. class="ele-btn-icon"
  61. @click="search"
  62. size="small"
  63. >
  64. 查询
  65. </el-button>
  66. <el-button
  67. @click="reset"
  68. icon="el-icon-refresh-left"
  69. size="small"
  70. type="primary"
  71. >重置</el-button
  72. >
  73. </div>
  74. </el-col>
  75. </el-row>
  76. </el-form>
  77. </template>
  78. <script>
  79. import { login } from '@/api/login';
  80. // import { listOrganizations } from '@/api/system/organization';
  81. import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
  82. import deptSelect from '@/components/CommomSelect/dept-select.vue';
  83. export default {
  84. components: { equipmentSelect, deptSelect },
  85. data() {
  86. // 默认表单数据
  87. const defaultWhere = {
  88. name: '',
  89. code: '',
  90. groupId: '',
  91. status: '',
  92. ruleName: '',
  93. startTime: '',
  94. endTime: '',
  95. categoryLevelId: ''
  96. };
  97. return {
  98. // 表单数据
  99. where: { ...defaultWhere },
  100. // deptData:[], //部门树
  101. time: []
  102. };
  103. },
  104. computed: {
  105. // 是否开启响应式布局
  106. styleResponsive() {
  107. return this.$store.state.theme.styleResponsive;
  108. }
  109. },
  110. created() {
  111. // this.getDeptList()
  112. },
  113. methods: {
  114. /* 搜索 */
  115. search() {
  116. if (this.time != null && this.time.length) {
  117. this.where.startTime = this.time[0];
  118. this.where.endTime = this.time[1];
  119. }
  120. if (this.time == null) {
  121. this.where.startTime = '';
  122. this.where.endTime = '';
  123. }
  124. this.$emit('search', this.where);
  125. },
  126. /* 重置 */
  127. reset() {
  128. this.time = [];
  129. this.where = { ...this.defaultWhere };
  130. this.search();
  131. }
  132. // 获取部门列表数据
  133. // async getDeptList () {
  134. // try {
  135. // let list = await listOrganizations()
  136. // this.deptData = this.$util.toTreeData({
  137. // data: list,
  138. // idField: 'id',
  139. // parentIdField: 'parentId'
  140. // });
  141. // } catch (error) {}
  142. // },
  143. }
  144. };
  145. </script>
  146. <style lang="scss" scoped>
  147. .ele-form-actions {
  148. display: flex;
  149. align-items: center;
  150. justify-content: flex-end;
  151. }
  152. </style>