ItdmShiyanxiangmuForm.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  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="是否新客户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newkehu">
  8. <a-input v-model="model.newkehu" placeholder="请输入是否新客户" ></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="kehuHangye">
  13. <a-input v-model="model.kehuHangye" 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="kehuMingcheng">
  18. <a-input v-model="model.kehuMingcheng" 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="shuruLeixing">
  23. <a-input v-model="model.shuruLeixing" 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="shiyanXinxi">
  28. <a-input v-model="model.shiyanXinxi" 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="fanganSheji">
  33. <j-dict-select-tag type="radio" v-model="model.fanganSheji" dictCode="fangan_sheji" placeholder="请选择方案设计" />
  34. </a-form-model-item>
  35. </a-col>
  36. <a-col :span="24">
  37. <a-form-model-item label="试验评审" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shiyanPingshen">
  38. <j-dict-select-tag type="radio" v-model="model.shiyanPingshen" dictCode="shiyan_pingshen" placeholder="请选择试验评审" />
  39. </a-form-model-item>
  40. </a-col>
  41. <a-col :span="24">
  42. <a-form-model-item label="用车安排" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yongcheAnpai">
  43. <j-dict-select-tag type="radio" v-model="model.yongcheAnpai" dictCode="yongche_anpai" placeholder="请选择用车安排" />
  44. </a-form-model-item>
  45. </a-col>
  46. <a-col :span="24">
  47. <a-form-model-item label="工装设计" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gongzhuangSheji">
  48. <j-dict-select-tag type="radio" v-model="model.gongzhuangSheji" dictCode="gongzhuang_sheji" placeholder="请选择工装设计" />
  49. </a-form-model-item>
  50. </a-col>
  51. <a-col :span="24">
  52. <a-form-model-item label="用餐安排" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yongcanAnpai">
  53. <j-dict-select-tag type="radio" v-model="model.yongcanAnpai" dictCode="yongcan_anpai" placeholder="请选择用餐安排" />
  54. </a-form-model-item>
  55. </a-col>
  56. <a-col :span="24">
  57. <a-form-model-item label="住宿安排" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zhusuAnpai">
  58. <j-dict-select-tag type="radio" v-model="model.zhusuAnpai" dictCode="zhusu_anpai" placeholder="请选择住宿安排" />
  59. </a-form-model-item>
  60. </a-col>
  61. <a-col :span="24">
  62. <a-form-model-item label="报告确认" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="baogaoQueren">
  63. <j-dict-select-tag type="radio" v-model="model.baogaoQueren" dictCode="baogao_queren" placeholder="请选择报告确认" />
  64. </a-form-model-item>
  65. </a-col>
  66. <a-col :span="24">
  67. <a-form-model-item label="客户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="kehuName">
  68. <a-input v-model="model.kehuName" 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="kehuPhone">
  73. <a-input v-model="model.kehuPhone" 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="hetongBianhao">
  78. <a-input v-model="model.hetongBianhao" 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="shiyanYaoqiu">
  83. <a-input v-model="model.shiyanYaoqiu" 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="baogaoTixi">
  88. <j-dict-select-tag type="radio" v-model="model.baogaoTixi" dictCode="baogao_tixi" placeholder="请选择报告体系" />
  89. </a-form-model-item>
  90. </a-col>
  91. <a-col :span="24">
  92. <a-form-model-item label="资质要求" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zizhiYaoqiu">
  93. <j-dict-select-tag type="radio" v-model="model.zizhiYaoqiu" dictCode="zizhi_yaoqiu" placeholder="请选择资质要求" />
  94. </a-form-model-item>
  95. </a-col>
  96. <a-col :span="24">
  97. <a-form-model-item label="预计报价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yujiBaojia">
  98. <a-input v-model="model.yujiBaojia" 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="pingshenJielun">
  103. <a-input v-model="model.pingshenJielun" 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="zhushenRen">
  108. <a-input v-model="model.zhushenRen" 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="zhushenShijian">
  113. <a-input v-model="model.zhushenShijian" placeholder="请输入主审时间" ></a-input>
  114. </a-form-model-item>
  115. </a-col>
  116. </a-row>
  117. </a-form-model>
  118. </j-form-container>
  119. </a-spin>
  120. </template>
  121. <script>
  122. import { httpAction, getAction } from '@/api/manage'
  123. import { validateDuplicateValue } from '@/utils/util'
  124. export default {
  125. name: 'ItdmShiyanxiangmuForm',
  126. components: {
  127. },
  128. props: {
  129. //表单禁用
  130. disabled: {
  131. type: Boolean,
  132. default: false,
  133. required: false
  134. }
  135. },
  136. data () {
  137. return {
  138. model:{
  139. fanganSheji:"1",
  140. shiyanPingshen:"1",
  141. yongcheAnpai:"1",
  142. gongzhuangSheji:"1",
  143. yongcanAnpai:"1",
  144. zhusuAnpai:"1",
  145. baogaoQueren:"1",
  146. baogaoTixi:"0",
  147. zizhiYaoqiu:"0",
  148. },
  149. labelCol: {
  150. xs: { span: 24 },
  151. sm: { span: 5 },
  152. },
  153. wrapperCol: {
  154. xs: { span: 24 },
  155. sm: { span: 16 },
  156. },
  157. confirmLoading: false,
  158. validatorRules: {
  159. },
  160. url: {
  161. add: "/itdmShiYanXiangMu/itdmShiyanxiangmu/add",
  162. edit: "/itdmShiYanXiangMu/itdmShiyanxiangmu/edit",
  163. queryById: "/itdmShiYanXiangMu/itdmShiyanxiangmu/queryById"
  164. }
  165. }
  166. },
  167. computed: {
  168. formDisabled(){
  169. return this.disabled
  170. },
  171. },
  172. created () {
  173. //备份model原始值
  174. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  175. },
  176. methods: {
  177. add () {
  178. this.edit(this.modelDefault);
  179. },
  180. edit (record) {
  181. this.model = Object.assign({}, record);
  182. this.visible = true;
  183. },
  184. submitForm () {
  185. const that = this;
  186. // 触发表单验证
  187. this.$refs.form.validate(valid => {
  188. if (valid) {
  189. that.confirmLoading = true;
  190. let httpurl = '';
  191. let method = '';
  192. if(!this.model.id){
  193. httpurl+=this.url.add;
  194. method = 'post';
  195. }else{
  196. httpurl+=this.url.edit;
  197. method = 'put';
  198. }
  199. httpAction(httpurl,this.model,method).then((res)=>{
  200. if(res.success){
  201. that.$message.success(res.message);
  202. that.$emit('ok');
  203. }else{
  204. that.$message.warning(res.message);
  205. }
  206. }).finally(() => {
  207. that.confirmLoading = false;
  208. })
  209. }
  210. })
  211. },
  212. }
  213. }
  214. </script>