85f63fc9a27f5fe776fc603dfb056fa3e2ab415e.svn-base 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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="xmmc">
  8. <a-input v-model="model.xmmc" 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="cjlx">
  13. <j-dict-select-tag type="list" v-model="model.cjlx" dictCode="cjlxx" placeholder="请选择采集类型" />
  14. </a-form-model-item>
  15. </a-col>
  16. <!-- <a-col :span="24">-->
  17. <!-- <a-form-model-item label="经度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jd">-->
  18. <!-- <a-input v-model="model.jd" placeholder="请输入经度" style="width: 100%" />-->
  19. <!-- </a-form-model-item>-->
  20. <!-- </a-col>-->
  21. <!-- <a-col :span="24">-->
  22. <!-- <a-form-model-item label="纬度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wd">-->
  23. <!-- <a-input v-model="model.wd" placeholder="请输入纬度" style="width: 100%" />-->
  24. <!-- </a-form-model-item>-->
  25. <!-- </a-col>-->
  26. <a-col :span="24">
  27. <a-form-model-item label="审批状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="spzt">
  28. <j-dict-select-tag type="list" v-model="model.spzt" dictCode="spzt" placeholder="请选择审批状态" />
  29. </a-form-model-item>
  30. </a-col>
  31. <a-col :span="24">
  32. <a-form-model-item label="开工年月" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="kgny">
  33. <j-date placeholder="请选择开工年月" v-model="model.kgny" style="width: 100%" />
  34. </a-form-model-item>
  35. </a-col>
  36. <a-col :span="24">
  37. <a-form-model-item label="建成年月" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jcny">
  38. <j-date placeholder="请选择建成年月" v-model="model.jcny" style="width: 100%" />
  39. </a-form-model-item>
  40. </a-col>
  41. <a-col :span="24">
  42. <a-form-model-item label="工程建设情况" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gcjsqk">
  43. <j-dict-select-tag type="list" v-model="model.gcjsqk" dictCode="gcjsqk" 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="cjsj">
  48. <j-date placeholder="请选择采集时间" v-model="model.cjsj" style="width: 100%" />
  49. </a-form-model-item>
  50. </a-col>
  51. <a-col :span="24">
  52. <a-form-model-item label="采集人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cjr">
  53. <a-input v-model="model.cjr" 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="nrms">
  58. <a-textarea v-model="model.nrms" rows="4" 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="bz">
  63. <a-textarea v-model="model.bz" rows="4" 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="sctp">
  68. <j-image-upload isMultiple v-model="model.sctp" ></j-image-upload>
  69. </a-form-model-item>
  70. </a-col>
  71. <a-col :span="24">
  72. <a-form-model-item label="视频上传" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="spsc">
  73. <j-upload v-model="model.spsc" ></j-upload>
  74. </a-form-model-item>
  75. </a-col>
  76. </a-row>
  77. </a-form-model>
  78. </j-form-container>
  79. </a-spin>
  80. </template>
  81. <script>
  82. import { httpAction, getAction } from '@/api/manage'
  83. import { validateDuplicateValue } from '@/utils/util'
  84. export default {
  85. name: 'RmGcxxcjForm',
  86. components: {
  87. },
  88. props: {
  89. //表单禁用
  90. disabled: {
  91. type: Boolean,
  92. default: false,
  93. required: false
  94. }
  95. },
  96. data () {
  97. return {
  98. model:{
  99. },
  100. labelCol: {
  101. xs: { span: 24 },
  102. sm: { span: 5 },
  103. },
  104. wrapperCol: {
  105. xs: { span: 24 },
  106. sm: { span: 16 },
  107. },
  108. confirmLoading: false,
  109. validatorRules: {
  110. },
  111. url: {
  112. add: "/hzz.sjcjrw.gcxxcj/rmGcxxcj/add",
  113. edit: "/hzz.sjcjrw.gcxxcj/rmGcxxcj/edit",
  114. queryById: "/hzz.sjcjrw.gcxxcj/rmGcxxcj/queryById"
  115. }
  116. }
  117. },
  118. computed: {
  119. formDisabled(){
  120. return this.disabled
  121. },
  122. },
  123. created () {
  124. //备份model原始值
  125. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  126. },
  127. methods: {
  128. add () {
  129. this.edit(this.modelDefault);
  130. },
  131. edit (record) {
  132. this.model = Object.assign({}, record);
  133. this.visible = true;
  134. },
  135. submitForm () {
  136. const that = this;
  137. // 触发表单验证
  138. this.$refs.form.validate(valid => {
  139. if (valid) {
  140. that.confirmLoading = true;
  141. let httpurl = '';
  142. let method = '';
  143. if(!this.model.id){
  144. httpurl+=this.url.add;
  145. method = 'post';
  146. }else{
  147. httpurl+=this.url.edit;
  148. method = 'post';
  149. }
  150. httpAction(httpurl,this.model,method).then((res)=>{
  151. if(res.success){
  152. that.$message.success(res.message);
  153. that.$emit('ok');
  154. }else{
  155. that.$message.warning(res.message);
  156. }
  157. }).finally(() => {
  158. that.confirmLoading = false;
  159. })
  160. }
  161. })
  162. },
  163. }
  164. }
  165. </script>