work-search.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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
  16. clearable
  17. v-model="where.executeUserName"
  18. placeholder="请输入"
  19. />
  20. </el-form-item>
  21. </el-col>
  22. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  23. <el-form-item label="计划单号:">
  24. <el-input clearable v-model="where.planId" placeholder="请输入" />
  25. </el-form-item>
  26. <el-form-item label="状态:">
  27. <el-select
  28. style="width: 100%"
  29. clearable
  30. filterable
  31. v-model="where.orderStatus"
  32. >
  33. <el-option label="待接收" :value="0"></el-option>
  34. <el-option label="已接收" :value="1"></el-option>
  35. <el-option label="执行中" :value="2"></el-option>
  36. <el-option label="已完成" :value="3"></el-option>
  37. </el-select>
  38. </el-form-item>
  39. </el-col>
  40. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  41. <el-form-item label="巡点检名称:">
  42. <el-input clearable v-model="where.planName" placeholder="请输入" />
  43. </el-form-item>
  44. <el-form-item label="规则名称:">
  45. <!-- <el-input clearable v-model="where.ruleName" placeholder="请输入" /> -->
  46. <el-select
  47. v-model="where.ruleId"
  48. size="small"
  49. clearable
  50. style="width: 100%"
  51. filterable
  52. >
  53. <el-option
  54. v-for="item in ruleNameList"
  55. :key="item.id"
  56. :value="item.id"
  57. :label="item.name"
  58. ></el-option>
  59. </el-select>
  60. </el-form-item>
  61. <!-- <el-form-item label="设备分类:">
  62. <equipmentSelect v-model="where.categoryLevelId" />
  63. </el-form-item> -->
  64. </el-col>
  65. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  66. <el-form-item label="巡点检部门:">
  67. <deptSelect v-model="where.groupId" @changeGroup="changeGroup" />
  68. </el-form-item>
  69. <!-- <el-form-item label="规则名称:">
  70. <el-input clearable v-model="where.name" placeholder="请输入" />
  71. </el-form-item> -->
  72. <!-- <el-form-item label="组织机构:">
  73. <auth-selection v-model="where.deptIds" style="width: 100%"></auth-selection>
  74. </el-form-item> -->
  75. </el-col>
  76. </el-row>
  77. <el-row :gutter="15">
  78. <el-col class="ele-form-actions">
  79. <el-button
  80. type="primary"
  81. icon="el-icon-search"
  82. class="ele-btn-icon"
  83. @click="search"
  84. size="small"
  85. >
  86. 查询
  87. </el-button>
  88. <el-button
  89. @click="reset"
  90. icon="el-icon-refresh-left"
  91. size="small"
  92. type="primary"
  93. >重置</el-button
  94. >
  95. </el-col>
  96. </el-row>
  97. </el-form>
  98. </template>
  99. <script>
  100. import { getRule } from '@/api/ruleManagement/plan';
  101. import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
  102. import deptSelect from '@/components/CommomSelect/dept-select.vue';
  103. import personSelect from '@/components/CommomSelect/person-select.vue';
  104. export default {
  105. components: { equipmentSelect, deptSelect, personSelect },
  106. data() {
  107. // 默认表单数据
  108. const defaultWhere = {
  109. name: '',
  110. executeUserName: '',
  111. planCode: '',
  112. code: '',
  113. orderStatus: '',
  114. groupId: '',
  115. categoryLevelId: '',
  116. planName: ''
  117. };
  118. return {
  119. // 表单数据
  120. where: { ...defaultWhere },
  121. treeData: [],
  122. ruleNameList: []
  123. };
  124. },
  125. computed: {
  126. // 是否开启响应式布局
  127. styleResponsive() {
  128. return this.$store.state.theme.styleResponsive;
  129. }
  130. },
  131. created() {
  132. this.getRuleNameList();
  133. },
  134. methods: {
  135. /* 部门选择 */
  136. changeGroup(id, data) {
  137. if (id) {
  138. this.where.groupId = id;
  139. this.where.executeGroupName = data.name;
  140. } else {
  141. this.where.groupId = '';
  142. this.where.executeGroupName = '';
  143. }
  144. },
  145. /* 搜索 */
  146. search() {
  147. console.log(this.where);
  148. this.$emit('search', this.where);
  149. },
  150. /* 重置 */
  151. reset() {
  152. this.where = { ...this.defaultWhere };
  153. this.search();
  154. },
  155. // 获取规则名列表(设备保养)
  156. async getRuleNameList() {
  157. const res = await getRule({
  158. status: 1,
  159. type: 1,
  160. pageNum: 1,
  161. size: -1
  162. });
  163. if (res.list) {
  164. this.ruleNameList = res.list || [];
  165. }
  166. }
  167. }
  168. };
  169. </script>
  170. <style lang="scss" scoped>
  171. .ele-form-actions {
  172. display: flex;
  173. align-items: center;
  174. justify-content: flex-end;
  175. }
  176. </style>