6ee769db48990590e65cc8e62eef9b10e771cb61.svn-base 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <template>
  2. <a-form-item v-if="item.view=='date'" :label="item.label">
  3. <template v-if="single_mode===item.mode">
  4. <j-date :placeholder=" '请选择'+item.label " v-model="queryParam[item.field]"></j-date>
  5. </template>
  6. <template v-else>
  7. <j-date placeholder="开始日期" v-model="queryParam[item.field+'_begin']" style="width:calc(50% - 15px);"></j-date>
  8. <span class="group-query-strig">~</span>
  9. <j-date placeholder="结束日期" v-model="queryParam[item.field+'_end']" style="width:calc(50% - 15px);"></j-date>
  10. </template>
  11. </a-form-item>
  12. <a-form-item v-else-if="item.view=='datetime'" :label="item.label">
  13. <template v-if="single_mode===item.mode">
  14. <j-date :placeholder=" '请选择'+item.label " :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" v-model="queryParam[item.field]"></j-date>
  15. </template>
  16. <template v-else>
  17. <j-date placeholder="请选择开始时间" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" v-model="queryParam[item.field+'_begin']" style="width:calc(50% - 15px);"></j-date>
  18. <span class="group-query-strig">~</span>
  19. <j-date placeholder="请选择开始时间" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" v-model="queryParam[item.field+'_end']" style="width:calc(50% - 15px);"></j-date>
  20. </template>
  21. </a-form-item>
  22. <a-form-item v-else-if=" item.view=='list' || item.view=='radio' " :label="item.label">
  23. <j-dict-select-tag
  24. v-if="item.config==='1'"
  25. :placeholder=" '请选择'+item.label "
  26. v-model="queryParam[item.field]"
  27. :dictCode="getDictCode(item)">
  28. </j-dict-select-tag>
  29. <a-select v-else :placeholder=" '请选择'+item.label " v-model="queryParam[item.field]">
  30. <a-select-option
  31. v-for="(op,opIndex) in dictOptions[item.field]"
  32. :key="opIndex"
  33. :value="op.value">
  34. {{ op.text }}
  35. </a-select-option>
  36. </a-select>
  37. </a-form-item>
  38. <a-form-item v-else-if=" item.view=='sel_tree' " :label="item.label">
  39. <j-tree-select
  40. :placeholder=" '请选择'+item.label "
  41. v-model="queryParam[item.field]"
  42. :dict="item.dict"
  43. :pidField="item.pidField"
  44. :pidValue="item.pidValue"
  45. :hasChildField="item.hasChildField"
  46. load-triggle-change>
  47. </j-tree-select>
  48. </a-form-item>
  49. <a-form-item v-else-if=" item.view=='cat_tree' " :label="item.label">
  50. <j-category-select :pcode="item.pcode" v-model="queryParam[item.field]" :placeholder=" '请选择'+item.label "/>
  51. </a-form-item>
  52. <a-form-item v-else-if=" item.view=='sel_search' " :label="item.label">
  53. <j-search-select-tag
  54. v-if="item.config==='1'"
  55. v-model="queryParam[item.field]"
  56. :placeholder=" '请选择'+item.label "
  57. :dict="getDictCode(item)">
  58. </j-search-select-tag>
  59. <j-search-select-tag
  60. v-else
  61. v-model="queryParam[item.field]"
  62. :placeholder=" '请选择'+item.label "
  63. :dictOptions="dictOptions[item.field]"/>
  64. </a-form-item>
  65. <a-form-item v-else-if=" item.view=='sel_user' " :label="item.label">
  66. <j-select-user-by-dep v-model="queryParam[item.field]" :placeholder=" '请选择'+item.label " trigger-change></j-select-user-by-dep>
  67. </a-form-item>
  68. <a-form-item v-else-if=" item.view=='sel_depart' " :label="item.label">
  69. <j-select-depart v-model="queryParam[item.field]" :placeholder=" '请选择'+item.label " :trigger-change="true"/>
  70. </a-form-item>
  71. <a-form-item v-else-if=" item.view=='popup' " :label="item.label">
  72. <j-popup
  73. :placeholder=" '请选择'+item.label "
  74. v-model="queryParam[item.field]"
  75. :code="item.dictTable"
  76. :org-fields="item.dictCode"
  77. :dest-fields="item.dictText"
  78. :field="getPopupField(item.dictText)"/>
  79. </a-form-item>
  80. <a-form-item v-else-if=" item.view=='pca' " :label="item.label">
  81. <j-area-linkage :placeholder=" '请选择'+item.label " v-model="queryParam[item.field]" type="cascader"/>
  82. </a-form-item>
  83. <a-form-item v-else-if=" item.view=='checkbox' || item.view=='list_multi'" :label="item.label">
  84. <j-select-multiple
  85. v-if="item.config==='1'"
  86. :placeholder=" '请选择'+item.label "
  87. v-model="queryParam[item.field]"
  88. :dictCode="getDictCode(item)">
  89. </j-select-multiple>
  90. <j-select-multiple
  91. v-else
  92. :placeholder=" '请选择'+item.label "
  93. :options="dictOptions[item.field]"
  94. v-model="queryParam[item.field]">
  95. </j-select-multiple>
  96. </a-form-item>
  97. <a-form-item v-else :label="item.label">
  98. <template v-if="single_mode===item.mode">
  99. <a-input :placeholder=" '请输入'+item.label " v-model="queryParam[item.field]"></a-input>
  100. </template>
  101. <template v-else>
  102. <a-input :placeholder=" '请输入开始'+item.label " v-model="queryParam[item.field+'_begin']" style="width:calc(50% - 15px);"></a-input>
  103. <span class="group-query-strig">~</span>
  104. <a-input :placeholder=" '请输入结束'+item.label " v-model="queryParam[item.field+'_end']" style="width:calc(50% - 15px);"></a-input>
  105. </template>
  106. </a-form-item>
  107. </template>
  108. <script>
  109. import JDate from '@/components/jeecg/JDate.vue'
  110. import JInput from '@/components/jeecg/JInput'
  111. import JSelectDepart from '@/components/jeecgbiz/JSelectDepart'
  112. import JSelectMultiple from '@/components/dict/JMultiSelectTag.vue'
  113. import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
  114. import JTreeSelect from '@/components/jeecg/JTreeSelect'
  115. import JCategorySelect from '@/components/jeecg/JCategorySelect'
  116. import JDictSelectTag from '@/components/dict/JDictSelectTag'
  117. import JAreaLinkage from '@comp/jeecg/JAreaLinkage'
  118. import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
  119. export default {
  120. name: 'OnlineQueryFormItem',
  121. props: {
  122. item: {
  123. type: Object,
  124. default: () => {},
  125. required: true
  126. },
  127. dictOptions: {
  128. type: Object,
  129. default: () => {},
  130. required: true
  131. },
  132. queryParam: {
  133. type: Object,
  134. default: () => {},
  135. required: true
  136. }
  137. },
  138. components: {
  139. JDate,
  140. JInput,
  141. JSelectDepart,
  142. JSelectMultiple,
  143. JSearchSelectTag,
  144. JTreeSelect,
  145. JCategorySelect,
  146. JDictSelectTag,
  147. JAreaLinkage,
  148. JSelectUserByDep
  149. },
  150. data() {
  151. return {
  152. single_mode: 'single'
  153. }
  154. },
  155. methods: {
  156. getDictCode(item) {
  157. if (item.dictTable && item.dictTable.length > 0) {
  158. return item.dictTable + ',' + item.dictText + ',' + item.dictCode
  159. } else {
  160. return item.dictCode
  161. }
  162. },
  163. getPopupField(fields) {
  164. return fields.split(',')[0]
  165. }
  166. }
  167. }
  168. </script>
  169. <style scoped>
  170. .group-query-strig{
  171. width:30px;text-align: center;display: inline-block;
  172. }
  173. </style>