20feb59379a975f5b56771f15f791a205f524b3f.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  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. <table>
  7. <tr >
  8. <td rowspan="2" style="font-weight: 700;"> 项目名称</td>
  9. <td rowspan="2">
  10. <a-form-model-item prop="jsxmmc">
  11. <j-popup style="border:0"
  12. v-model="model.jsxmmc"
  13. field="xmmc"
  14. org-fields="xmmc,id,spzt"
  15. dest-fields="jsxmmc,jsxmid,spqk"
  16. code="xmrklist"
  17. :multi="false"
  18. @input="popupCallback"
  19. />
  20. </a-form-model-item>
  21. </td>
  22. <td rowspan="2" style="font-weight: 700;">检查名称</td>
  23. <td rowspan="2">
  24. <a-input v-model="model.jcmc" style="border:0" placeholder="请输检查名称" ></a-input>
  25. </td>
  26. <td rowspan="2" style="font-weight: 700;">检查时间 </td>
  27. <td rowspan="2"><a-input disabled placeholder="请选择检查时间" v-model="model.createTime" style="width: 100%; border: 0" /></td>
  28. </tr>
  29. <tr>
  30. </tr>
  31. <tr>
  32. <td rowspan="2" style="font-weight: 700;">项目信息</td>
  33. <td >涉及河道</td>
  34. <td colspan="2">填报人</td>
  35. <td colspan="2">行政区划</td>
  36. </tr>
  37. <tr>
  38. <td>
  39. <a-input v-model="model.sjhd" style="border:0" placeholder="请输入涉及河道" ></a-input>
  40. </td>
  41. <td colspan="2">
  42. <a-input disabled v-model="model.tbr" style="border:0" ></a-input>
  43. </td>
  44. <td colspan="2">
  45. <a-input v-model="model.xzqh" disabled style="border:0" ></a-input>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td rowspan="2" style="font-weight: 700;">施工资料审核情况</td>
  50. <td >是否审核</td>
  51. <td colspan="2">施工审核机关、文件、时间</td>
  52. <td colspan="2">施工单位</td>
  53. </tr>
  54. <tr>
  55. <td>
  56. <j-dict-select-tag type="list" style="border:0" v-model="model.sfsh" dictCode="yn" placeholder="请选择施工资料是否审核" />
  57. </td>
  58. <td colspan="2">
  59. <a-input v-model="model.sgshjgwjsj" style="border:0" placeholder="请输入施工审核机关、文件、时间" ></a-input>
  60. </td>
  61. <td colspan="2">
  62. <a-input v-model="model.sgdw" style="border:0" placeholder="请输入施工单位" ></a-input>
  63. </td>
  64. </tr>
  65. <tr>
  66. <td rowspan="2" style="font-weight: 700;">监管情况</td>
  67. <td >监管单位</td>
  68. <td >监管负责人</td>
  69. <td>施工现场是否符合要求</td>
  70. <td colspan="2">施工结束是否恢复河道原状</td>
  71. </tr>
  72. <tr>
  73. <td >
  74. <a-input v-model="model.jgdw" style="border: 0" placeholder="请输入监管单位" ></a-input>
  75. </td>
  76. <td >
  77. <a-input v-model="model.jgfzr" style="border: 0" placeholder="请输入监管负责人" ></a-input>
  78. </td>
  79. <td>
  80. <j-dict-select-tag type="list"style="border: 0" v-model="model.sgxcsffhyq" dictCode="yn" placeholder="请选择施工现场是否符合要求" />
  81. </td>
  82. <td colspan="2">
  83. <j-dict-select-tag type="list" style="border: 0" v-model="model.sgjssfhfhdyz" dictCode="yn" placeholder="请选择施工结束是否恢复河道原状" />
  84. </td>
  85. </tr>
  86. <tr>
  87. <td rowspan="2" style="font-weight: 700;">度汛措施情况</td>
  88. <td>是否跨汛施工</td>
  89. <td>度汛方案是否编制</td>
  90. <td>责任制是否落实</td>
  91. <td colspan="2">人员、物资是否落实</td>
  92. </tr>
  93. <tr>
  94. <td>
  95. <j-dict-select-tag type="list" style="border: 0" v-model="model.sfkxsg" dictCode="yn" placeholder="请选择是否跨汛施工" />
  96. </td>
  97. <td>
  98. <j-dict-select-tag type="list" style="border: 0" v-model="model.dxfasfbz" dictCode="yn" placeholder="请选择度汛方案是否编制" />
  99. </td>
  100. <td>
  101. <j-dict-select-tag type="list" style="border: 0" v-model="model.zrzsfls" dictCode="yn" placeholder="请选择责任制是否落实" />
  102. </td>
  103. <td colspan="2">
  104. <j-dict-select-tag type="list" style="border: 0" v-model="model.rywzsfls" dictCode="yn" placeholder="请选择人员、物资是否落实" />
  105. </td>
  106. </tr>
  107. <tr>
  108. <td rowspan="2" style="font-weight: 700;">影响补救工程情况</td>
  109. <td>是否要求</td>
  110. <td colspan="2">按要求完成情况</td>
  111. <td colspan="2">是否验收</td>
  112. </tr>
  113. <tr>
  114. <td>
  115. <j-dict-select-tag type="list" style="border:0" v-model="model.sfyq" dictCode="yn" placeholder="影响补救工程情况(请选择是否要求)" />
  116. </td>
  117. <td colspan="2">
  118. <j-dict-select-tag type="list" style="border:0" v-model="model.ayqwcqk" dictCode="ayqwcqk" placeholder="请选择按要求完成情况" />
  119. </td>
  120. <td colspan="2">
  121. <j-dict-select-tag type="list" style="border:0" v-model="model.sfys" dictCode="yn" placeholder="请选择按是否验收" />
  122. </td>
  123. </tr>
  124. <tr>
  125. <td rowspan="2" style="font-weight: 700;">审批情况</td>
  126. </tr>
  127. <tr>
  128. <td colspan="6" >
  129. <j-dict-select-tag type="list" style="border:0" v-model="model.spqk" dictCode="spzt" placeholder="审批情况" />
  130. </td>
  131. <tr>
  132. <td rowspan="2" style="font-weight: 700;">竣工验收情况</td>
  133. <td>建设项目是否已竣工验收</td>
  134. <td colspan="2" >是否参加建设项目竣工验收</td>
  135. <td colspan="2">有关资料是否报备</td>
  136. </tr>
  137. <tr>
  138. <td>
  139. <j-dict-select-tag type="list" style="border: 0" v-model="model.jsxmsfyjgys" dictCode="yn" placeholder="请选择建设项目是否已竣工验收" />
  140. </td>
  141. <td colspan="2">
  142. <j-dict-select-tag type="list" style="border: 0" v-model="model.sfcjjsxmjgys" dictCode="yn" placeholder="请选择是否参加建设项目竣工验收" />
  143. </td>
  144. <td colspan="2">
  145. <j-dict-select-tag type="list" style="border: 0" v-model="model.ygzlsfbb" dictCode="yn" placeholder="请选择有关资料是否报备" />
  146. </td>
  147. </tr>
  148. <tr>
  149. <td rowspan="2" style="font-weight: 700;hight: 100px">位置信息</td>
  150. <td colspan="2" >横坐标</td>
  151. <td colspan="4" >纵坐标</td>
  152. </tr>
  153. <tr>
  154. <td colspan="2">
  155. <a-input v-model="model.hzb" style="border:0" placeholder="如有多个横坐标请用,分割" ></a-input>
  156. </td>
  157. <td colspan="4">
  158. <a-input v-model="model.zzb" style="border:0" placeholder="如有多个纵坐标请用,分割" ></a-input>
  159. </td>
  160. </tr>
  161. <tr>
  162. <td style="font-weight: 700;">
  163. 备注
  164. </td>
  165. <td colspan="7">
  166. <div style="display: flex;width: 100%;height: 100%;">
  167. <a-input v-model="model.bz" placeholder="请输入备注" rows="20" cols="94" style="border: 0;width:100%;resize:none;font-size: 15px;" />
  168. <!-- <textarea rows="10" cols="94" style="border: 0;resize:none;font-size: 19px;" ></textarea>-->
  169. </div>
  170. </td>
  171. </tr>
  172. <tr>
  173. <td colspan="7" rowspan="4">
  174. <div style="display: flex;width: 100%;height: 100%;">
  175. <div style="font-weight: 700;">存在问题及处理情况:</div>
  176. <a-textarea v-model="model.czwtjclqk" placeholder="请输入存在问题及处理情况" rows="10" cols="94" style="border: 0;margin-left:40px;width:85%;resize:none;font-size: 15px;" />
  177. <!-- <textarea rows="10" cols="94" style="border: 0;resize:none;font-size: 19px;" ></textarea>-->
  178. </div>
  179. </td>
  180. </tr>
  181. </table>
  182. <a-col :span="18" >
  183. <a-form-model-item style="margin-top: 10px" label="相关图件(现场检查表、施工资料、补救工程验收资料、主体工程竣工验收资料等。)" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="xgtj">
  184. <j-image-upload isMultiple v-model="model.xgtj" ></j-image-upload>
  185. </a-form-model-item>
  186. </a-col>
  187. </a-row>
  188. </a-form-model>
  189. </j-form-container>
  190. </a-spin>
  191. </template>
  192. <script>
  193. import { httpAction, getAction } from '@/api/manage'
  194. import { validateDuplicateValue } from '@/utils/util'
  195. export default {
  196. name: 'RmXcjgjlForm',
  197. components: {
  198. },
  199. props: {
  200. //表单禁用
  201. disabled: {
  202. type: Boolean,
  203. default: false,
  204. required: false
  205. }
  206. },
  207. data () {
  208. return {
  209. model:{
  210. },
  211. labelCol: {
  212. xs: { span: 20 },
  213. sm: { span: 4 },
  214. },
  215. wrapperCol: {
  216. xs: { span: 20 },
  217. sm: { span: 23 },
  218. },
  219. labelCol1: {
  220. xs: { span: 24 },
  221. sm: { span: 10 },
  222. },
  223. wrapperCol1: {
  224. xs: { span: 24 },
  225. sm: { span: 12 },
  226. },
  227. confirmLoading: false,
  228. validatorRules: {
  229. jsxmmc: [
  230. { required: true, message: '请输入项目名称!'},
  231. ],
  232. },
  233. url: {
  234. add: "/hzz.shjsgc.xcjgjl/rmXcjgjl/add",
  235. edit: "/hzz.shjsgc.xcjgjl/rmXcjgjl/edit",
  236. queryById: "/hzz.shjsgc.xcjgjl/rmXcjgjl/queryById"
  237. }
  238. }
  239. },
  240. computed: {
  241. formDisabled(){
  242. return this.disabled
  243. },
  244. },
  245. created () {
  246. //备份model原始值
  247. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  248. },
  249. methods: {
  250. add () {
  251. this.edit(this.modelDefault);
  252. },
  253. edit (record) {
  254. this.model = Object.assign({}, record);
  255. this.visible = true;
  256. },
  257. submitForm () {
  258. const that = this;
  259. // 触发表单验证
  260. this.$refs.form.validate(valid => {
  261. if (valid) {
  262. that.confirmLoading = true;
  263. let httpurl = '';
  264. let method = '';
  265. if(!this.model.id){
  266. httpurl+=this.url.add;
  267. method = 'post';
  268. }else{
  269. httpurl+=this.url.edit;
  270. method = 'post';
  271. }
  272. httpAction(httpurl,this.model,method).then((res)=>{
  273. if(res.success){
  274. that.$message.success(res.message);
  275. that.$emit('ok');
  276. }else{
  277. that.$message.warning(res.message);
  278. }
  279. }).finally(() => {
  280. that.confirmLoading = false;
  281. })
  282. }
  283. })
  284. },
  285. popupCallback(value,row){
  286. this.model = Object.assign(this.model, row);
  287. },
  288. }
  289. }
  290. </script>
  291. <style scoped>
  292. input[type=text] {
  293. width: 100%;
  294. height: 100%;
  295. }
  296. table,
  297. tr,
  298. td {
  299. border-collapse: collapse;
  300. border: 1px darkgray solid;
  301. text-align: center;
  302. }
  303. label {
  304. padding-left: 50px;
  305. }
  306. table {
  307. width: 90%;
  308. height: 90vh;
  309. margin: auto;
  310. }
  311. </style>