ItdmWeituoYangpinForm.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <template>
  2. <a-spin :spinning="confirmLoading">
  3. <j-form-container :disabled="formDisabled">
  4. <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
  5. <a-row>
  6. <a-col :span="24">
  7. <a-form-model-item label="委托单id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoId">
  8. <a-input v-model="model.weituoId" placeholder="请输入委托单id" ></a-input>
  9. </a-form-model-item>
  10. </a-col>
  11. <a-col :span="24">
  12. <a-form-model-item label="样品名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleName">
  13. <a-input v-model="model.sampleName" placeholder="请输入样品名称" ></a-input>
  14. </a-form-model-item>
  15. </a-col>
  16. <a-col :span="24">
  17. <a-form-model-item label="样品规格/型号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleModelSpecification">
  18. <a-input v-model="model.sampleModelSpecification" placeholder="请输入样品规格/型号" ></a-input>
  19. </a-form-model-item>
  20. </a-col>
  21. <a-col :span="24">
  22. <a-form-model-item label="样品数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleQuantities">
  23. <a-input v-model="model.sampleQuantities" placeholder="请输入样品数量" ></a-input>
  24. </a-form-model-item>
  25. </a-col>
  26. <a-col :span="24">
  27. <a-form-model-item label="生产厂家" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleManufacturer">
  28. <a-input v-model="model.sampleManufacturer" placeholder="请输入生产厂家" ></a-input>
  29. </a-form-model-item>
  30. </a-col>
  31. <a-col :span="24">
  32. <a-form-model-item label="创建人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createBy">
  33. <a-input v-model="model.createBy" placeholder="请输入创建人" ></a-input>
  34. </a-form-model-item>
  35. </a-col>
  36. <a-col :span="24">
  37. <a-form-model-item label="创建日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createTime">
  38. <a-input v-model="model.createTime" placeholder="请输入创建日期" ></a-input>
  39. </a-form-model-item>
  40. </a-col>
  41. <a-col :span="24">
  42. <a-form-model-item label="更新人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="updateBy">
  43. <a-input v-model="model.updateBy" placeholder="请输入更新人" ></a-input>
  44. </a-form-model-item>
  45. </a-col>
  46. <a-col :span="24">
  47. <a-form-model-item label="更新日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="updateTime">
  48. <a-input v-model="model.updateTime" placeholder="请输入更新日期" ></a-input>
  49. </a-form-model-item>
  50. </a-col>
  51. <a-col :span="24">
  52. <a-form-model-item label="所属部门" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sysOrgCode">
  53. <a-input v-model="model.sysOrgCode" placeholder="请输入所属部门" ></a-input>
  54. </a-form-model-item>
  55. </a-col>
  56. <a-col :span="24">
  57. <a-form-model-item label="委托编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoNo">
  58. <a-input v-model="model.weituoNo" placeholder="请输入委托编号" ></a-input>
  59. </a-form-model-item>
  60. </a-col>
  61. <a-col :span="24">
  62. <a-form-model-item label="委托单位名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoClient">
  63. <a-input v-model="model.weituoClient" placeholder="请输入委托单位名称" ></a-input>
  64. </a-form-model-item>
  65. </a-col>
  66. <a-col :span="24">
  67. <a-form-model-item label="委托单位地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoAddress">
  68. <a-input v-model="model.weituoAddress" placeholder="请输入委托单位地址" ></a-input>
  69. </a-form-model-item>
  70. </a-col>
  71. <a-col :span="24">
  72. <a-form-model-item label="委托联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoLxr">
  73. <a-input v-model="model.weituoLxr" placeholder="请输入委托联系人" ></a-input>
  74. </a-form-model-item>
  75. </a-col>
  76. <a-col :span="24">
  77. <a-form-model-item label="委托电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoPhone">
  78. <a-input v-model="model.weituoPhone" placeholder="请输入委托电话" ></a-input>
  79. </a-form-model-item>
  80. </a-col>
  81. <a-col :span="24">
  82. <a-form-model-item label="委托邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoEmail">
  83. <a-input v-model="model.weituoEmail" placeholder="请输入委托邮箱" ></a-input>
  84. </a-form-model-item>
  85. </a-col>
  86. <a-col :span="24">
  87. <a-form-model-item label="报告用章" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bgyz">
  88. <a-input v-model="model.bgyz" placeholder="请输入报告用章" ></a-input>
  89. </a-form-model-item>
  90. </a-col>
  91. <a-col :span="24">
  92. <a-form-model-item label="报告形式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bgxs">
  93. <a-input v-model="model.bgxs" placeholder="请输入报告形式" ></a-input>
  94. </a-form-model-item>
  95. </a-col>
  96. <a-col :span="24">
  97. <a-form-model-item label="特殊要求" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teshuyaoqiu">
  98. <a-input v-model="model.teshuyaoqiu" placeholder="请输入特殊要求" ></a-input>
  99. </a-form-model-item>
  100. </a-col>
  101. <a-col :span="24">
  102. <a-form-model-item label="审核状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shenheStatus">
  103. <a-input v-model="model.shenheStatus" placeholder="请输入审核状态" ></a-input>
  104. </a-form-model-item>
  105. </a-col>
  106. <a-col :span="24">
  107. <a-form-model-item label="审核错误原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shenheMsg">
  108. <a-input v-model="model.shenheMsg" placeholder="请输入审核错误原因" ></a-input>
  109. </a-form-model-item>
  110. </a-col>
  111. <a-col :span="24">
  112. <a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shenheTime">
  113. <a-input v-model="model.shenheTime" placeholder="请输入审核时间" ></a-input>
  114. </a-form-model-item>
  115. </a-col>
  116. <a-col :span="24">
  117. <a-form-model-item label="试验条件文件地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tiaojianFile">
  118. <a-input v-model="model.tiaojianFile" placeholder="请输入试验条件文件地址" ></a-input>
  119. </a-form-model-item>
  120. </a-col>
  121. <a-col :span="24">
  122. <a-form-model-item label="样品id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleCode">
  123. <a-input v-model="model.sampleCode" placeholder="请输入样品id" ></a-input>
  124. </a-form-model-item>
  125. </a-col>
  126. <a-col :span="24">
  127. <a-form-model-item label="样品编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yangpinId">
  128. <a-input v-model="model.yangpinId" placeholder="请输入样品编号" ></a-input>
  129. </a-form-model-item>
  130. </a-col>
  131. <a-col :span="24">
  132. <a-form-model-item label="检测项目" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="testItems">
  133. <a-input v-model="model.testItems" placeholder="请输入检测项目" ></a-input>
  134. </a-form-model-item>
  135. </a-col>
  136. <a-col :span="24">
  137. <a-form-model-item label="检测依据" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardRequirement">
  138. <a-input v-model="model.standardRequirement" placeholder="请输入检测依据" ></a-input>
  139. </a-form-model-item>
  140. </a-col>
  141. <a-col :span="24">
  142. <a-form-model-item label="判定依据" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="judgementBasis">
  143. <a-input v-model="model.judgementBasis" placeholder="请输入判定依据" ></a-input>
  144. </a-form-model-item>
  145. </a-col>
  146. <a-col :span="24">
  147. <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="judgementBasis">
  148. <a-input v-model="model.judgementBasis" placeholder="请输入beizhu" ></a-input>
  149. </a-form-model-item>
  150. </a-col>
  151. </a-row>
  152. </a-form-model>
  153. </j-form-container>
  154. </a-spin>
  155. </template>
  156. <script>
  157. import { httpAction, getAction } from '@/api/manage'
  158. import { validateDuplicateValue } from '@/utils/util'
  159. export default {
  160. name: 'ItdmWeituoYangpinForm',
  161. components: {
  162. },
  163. props: {
  164. //表单禁用
  165. disabled: {
  166. type: Boolean,
  167. default: false,
  168. required: false
  169. }
  170. },
  171. data () {
  172. return {
  173. model:{
  174. },
  175. labelCol: {
  176. xs: { span: 24 },
  177. sm: { span: 5 },
  178. },
  179. wrapperCol: {
  180. xs: { span: 24 },
  181. sm: { span: 16 },
  182. },
  183. confirmLoading: false,
  184. validatorRules: {
  185. sampleName: [
  186. { required: true, message: '请输入样品名称!'},
  187. ],
  188. sampleModelSpecification: [
  189. { required: true, message: '请输入样品规格/型号!'},
  190. ],
  191. sampleQuantities: [
  192. { required: true, message: '请输入样品数量!'},
  193. ],
  194. sampleManufacturer: [
  195. { required: true, message: '请输入生产厂家!'},
  196. ],
  197. },
  198. url: {
  199. add: "/itdmWeituoChaXun/itdmWeituoYangpin/add",
  200. edit: "/itdmWeituoChaXun/itdmWeituoYangpin/edit",
  201. queryById: "/itdmWeituoChaXun/itdmWeituoYangpin/queryById"
  202. }
  203. }
  204. },
  205. computed: {
  206. formDisabled(){
  207. return this.disabled
  208. },
  209. },
  210. created () {
  211. //备份model原始值
  212. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  213. },
  214. methods: {
  215. add () {
  216. this.edit(this.modelDefault);
  217. },
  218. edit (record) {
  219. this.model = Object.assign({}, record);
  220. this.visible = true;
  221. },
  222. submitForm () {
  223. const that = this;
  224. // 触发表单验证
  225. this.$refs.form.validate(valid => {
  226. if (valid) {
  227. that.confirmLoading = true;
  228. let httpurl = '';
  229. let method = '';
  230. if(!this.model.id){
  231. httpurl+=this.url.add;
  232. method = 'post';
  233. }else{
  234. httpurl+=this.url.edit;
  235. method = 'put';
  236. }
  237. httpAction(httpurl,this.model,method).then((res)=>{
  238. if(res.success){
  239. that.$message.success(res.message);
  240. that.$emit('ok');
  241. }else{
  242. that.$message.warning(res.message);
  243. }
  244. }).finally(() => {
  245. that.confirmLoading = false;
  246. })
  247. }
  248. })
  249. },
  250. }
  251. }
  252. </script>