AuditFrom2.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <template>
  2. <a-modal
  3. title="报修审核"
  4. :width="800"
  5. :visible="visible"
  6. :confirmLoading="confirmLoading"
  7. class="ant-modal2"
  8. @cancel="handleCancel"
  9. >
  10. <a-form :form="form">
  11. <a-form-item v-show="false" >
  12. <a-input v-decorator="['id']" type="hidden"/>
  13. </a-form-item>
  14. <row-list :col="1">
  15. <row-item>
  16. <a-form-item
  17. label="审核"
  18. :labelCol="BaseTool.Constant.labelCol2"
  19. :wrapperCol="BaseTool.Constant.wrapperCol2"
  20. >
  21. <a-radio-group v-model="value" >
  22. <a-radio-button :value="1">
  23. 通过
  24. </a-radio-button>
  25. <a-radio-button :value="23">
  26. 拒绝
  27. </a-radio-button>
  28. </a-radio-group>
  29. </a-form-item>
  30. </row-item>
  31. <row-item>
  32. <a-form-item
  33. label="维修专业"
  34. :labelCol="BaseTool.Constant.labelCol2"
  35. :wrapperCol="BaseTool.Constant.wrapperCol2"
  36. >
  37. <a-tree-select
  38. tree-checkable
  39. :show-checked-strategy="SHOW_PARENT"
  40. v-decorator="['repairProfessor', { rules: [{required: true, message: '检修专业不能为空'}]}]"
  41. placeholder="请选择">
  42. <a-tree-select-node
  43. v-for="(label,value) in professorMap"
  44. :key="value"
  45. :title="label"
  46. :value="parseInt(value)">{{ label }}
  47. </a-tree-select-node>
  48. </a-tree-select>
  49. </a-form-item>
  50. </row-item>
  51. <row-item>
  52. <a-form-item
  53. label="车间具体位置"
  54. :labelCol="BaseTool.Constant.labelCol2"
  55. :wrapperCol="BaseTool.Constant.wrapperCol2"
  56. >
  57. <a-input
  58. placeholder="比如:甲七车间北侧"
  59. v-decorator="['sbCph']" />
  60. </a-form-item>
  61. </row-item>
  62. <row-item>
  63. <a-form-item
  64. label="工单类别"
  65. :labelCol="BaseTool.Constant.labelCol2"
  66. :wrapperCol="BaseTool.Constant.wrapperCol2"
  67. >
  68. <a-select @change="changePlanFlag" v-decorator="['category', {initialValue: 2, rules: [{required: true, message: '工单类别不能为空'}]}]" placeholder="请选择">
  69. <a-select-option
  70. v-for="(label,value) in categoryMap"
  71. :key="value"
  72. :label="label"
  73. :value="parseInt(value)">{{ label }}
  74. </a-select-option>
  75. </a-select>
  76. </a-form-item>
  77. </row-item>
  78. <row-item>
  79. <a-form-item
  80. label="维修部门"
  81. :labelCol="BaseTool.Constant.labelCol2"
  82. :wrapperCol="BaseTool.Constant.wrapperCol2"
  83. >
  84. <a-select v-decorator="['repairDeptId', {rules: [{required: true, message: '维修部门不能为空'}]}]" placeholder="请选择">
  85. <a-select-option
  86. v-for="(label,value) in repairDeptMap"
  87. :key="value"
  88. :label="label"
  89. :value="value">{{ label }}
  90. </a-select-option>
  91. </a-select>
  92. </a-form-item>
  93. </row-item>
  94. <row-item>
  95. <a-form-item
  96. label="委托内容描述"
  97. :labelCol="BaseTool.Constant.labelCol2"
  98. :wrapperCol="BaseTool.Constant.wrapperCol2"
  99. >
  100. <a-textarea
  101. :rows="4"
  102. v-decorator="['content', {rules: [{required: true, message: '委托内容描述不能为空'}]}]"/>
  103. </a-form-item>
  104. </row-item>
  105. <row-item>
  106. <a-form-item
  107. label="备注"
  108. :labelCol="BaseTool.Constant.labelCol2"
  109. :wrapperCol="BaseTool.Constant.wrapperCol2"
  110. >
  111. <a-textarea
  112. :rows="4"
  113. v-decorator="['verifyRepairRemark']"/>
  114. </a-form-item>
  115. </row-item>
  116. </row-list>
  117. </a-form>
  118. <template slot="footer">
  119. <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
  120. </template>
  121. </a-modal>
  122. </template>
  123. <script>
  124. import pick from 'lodash.pick'
  125. import { repairVerify } from '@/api/repair/application-form'
  126. export default {
  127. name: 'BaseRepairApplicationForm',
  128. data () {
  129. return {
  130. confirmLoading: false,
  131. modalTitle: null,
  132. form: this.$form.createForm(this),
  133. visible: false,
  134. // 下拉框map
  135. sourceMap: {},
  136. value: 1,
  137. levelMap: {},
  138. needStopMap: {},
  139. descripitionMap: {},
  140. statusMap: {},
  141. repairDeptMap: {},
  142. professorMap: {},
  143. categoryMap: {},
  144. model: null,
  145. userList: []
  146. }
  147. },
  148. components: {
  149. },
  150. props: {
  151. },
  152. created () {
  153. // 下拉框map
  154. this.sourceMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_SOURCE)
  155. this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_LEVEL)
  156. this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_STATUS)
  157. this.needStopMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
  158. this.repairDeptMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_DEPT_CATEGORY)
  159. this.professorMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_PROFESSOR)
  160. this.categoryMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REPAIR_APPLICATION_FORM_CATEGORY)
  161. },
  162. methods: {
  163. base (record) {
  164. this.visible = true
  165. this.model = record
  166. // 如果是空标识添加
  167. const { form: { setFieldsValue } } = this
  168. // 日期处理
  169. record.applyTime = this.BaseTool.Moment(record.applyTime, this.BaseTool.Date.PICKER_NORM_DATETIME_PATTERN)
  170. this.$nextTick(() => {
  171. setFieldsValue(Object.assign(pick(record, [
  172. 'id',
  173. 'category',
  174. 'sbCph',
  175. 'repairProfessor',
  176. 'repairDeptId',
  177. 'content'
  178. ])))
  179. })
  180. },
  181. save () {
  182. const { form: { validateFieldsAndScroll } } = this
  183. this.confirmLoading = true
  184. validateFieldsAndScroll((errors, values) => {
  185. if (errors) {
  186. this.confirmLoading = false
  187. return
  188. }
  189. // 日期处理
  190. values.status = this.value
  191. console.log(values)
  192. repairVerify(values)
  193. .then(() => {
  194. this.handleCancel(values)
  195. }).catch(() => {
  196. this.confirmLoading = false
  197. })
  198. })
  199. },
  200. handleCancel (values) {
  201. this.visible = false
  202. this.confirmLoading = false
  203. this.form.resetFields()
  204. if (this.BaseTool.Object.isNotBlank(values)) {
  205. this.$emit('ok')
  206. }
  207. }
  208. }
  209. }
  210. </script>