bb048f3f221421e954a123864569fb9605e6677e.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  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" >
  28. <a-form-model-item prop="gcmc">
  29. <j-popup style="border:0"
  30. v-model="model.gcmc"
  31. field="gcmc"
  32. org-fields="gcmc,id"
  33. dest-fields="gcmc,gcid"
  34. code="selectProject"
  35. :multi="false"
  36. @input="popupCallback"
  37. :param="{minId:model.jsxmid}"
  38. />
  39. </a-form-model-item>
  40. </td>
  41. <td rowspan="2" style="font-weight: 700;">检查时间 </td>
  42. <td rowspan="2" ><a-input disabled placeholder="请选择检查时间" v-model="model.createTime" style="width: 100%; border: 0" /></td>
  43. </tr>
  44. <tr>
  45. </tr>
  46. <tr>
  47. <td rowspan="2" style="font-weight: 700;">项目信息</td>
  48. <td >涉及河道</td>
  49. <td colspan="2">建设状态</td>
  50. <td colspan="2">填报人</td>
  51. <td colspan="2">行政区划</td>
  52. </tr>
  53. <tr>
  54. <td>
  55. <a-input v-model="model.sjhd" style="border:0" placeholder="请输入涉及河道" ></a-input>
  56. </td>
  57. <td colspan="2" >
  58. <j-dict-select-tag type="list" style="border: 0" v-model="model.jszt" dictCode="gcjsqk" placeholder="请选择建设状态" />
  59. </td>
  60. <td colspan="2">
  61. <a-input disabled v-model="model.tbr" style="border:0" ></a-input>
  62. </td>
  63. <td colspan="2">
  64. <j-area-linkage type="cascader" v-model="model.xzqh" style="border:0" disabled placeholder="请选择省市区"/>
  65. </td>
  66. </tr>
  67. <tr>
  68. <td rowspan="2" style="font-weight: 700;">施工资料审核情况</td>
  69. <td >是否审核</td>
  70. <td >开工日期</td>
  71. <td >竣工日期</td>
  72. <td >施工单位</td>
  73. <td >姓名</td>
  74. <td >联系方式</td>
  75. <td colspan="2">施工资料审核上传</td>
  76. </tr>
  77. <tr>
  78. <td>
  79. <j-dict-select-tag type="list" style="border:0" v-model="model.sfsh" dictCode="yn" placeholder="请选择施工资料是否审核" />
  80. </td>
  81. <td>
  82. <j-date v-model="model.kfrq" style="border:0;width: 100%;height: 100%;" placeholder="请输入开工日期" ></j-date>
  83. </td>
  84. <td>
  85. <j-date v-model="model.jgrq" style="border:0;width: 100%;height: 100%; " placeholder="请输入竣工日期" ></j-date>
  86. </td>
  87. <td>
  88. <a-input v-model="model.sgdw" style="border:0" placeholder="请输入施工单位" ></a-input>
  89. </td>
  90. <td>
  91. <a-input v-model="model.xm" style="border:0" placeholder="请输入姓名" ></a-input>
  92. </td>
  93. <td>
  94. <a-input v-model="model.dh" style="border:0" placeholder="请输入电话" ></a-input>
  95. </td>
  96. <td colspan="2">
  97. <j-upload v-model="model.sgzlsc" :buttonVisible="this.show" @change="isShow()"></j-upload>
  98. </td>
  99. </tr>
  100. <tr>
  101. <td rowspan="2" style="font-weight: 700;">度汛措施情况</td>
  102. <td>是否跨汛施工</td>
  103. <td>度汛方案是否编制</td>
  104. <td>责任制是否落实</td>
  105. <td colspan="2">人员、物资是否落实</td>
  106. <td colspan="2">度汛方案上传(责任制人员物质)</td>
  107. </tr>
  108. <tr>
  109. <td>
  110. <j-dict-select-tag type="list" style="border: 0" v-model="model.sfkxsg" dictCode="yn" placeholder="请选择是否跨汛施工" />
  111. </td>
  112. <td>
  113. <j-dict-select-tag type="list" style="border: 0" v-model="model.dxfasfbz" dictCode="yn" placeholder="请选择度汛方案是否编制" />
  114. </td>
  115. <td>
  116. <j-dict-select-tag type="list" style="border: 0" v-model="model.zrzsfls" dictCode="yn" placeholder="请选择责任制是否落实" />
  117. </td>
  118. <td colspan="2">
  119. <j-dict-select-tag type="list" style="border: 0" v-model="model.rywzsfls" dictCode="yn" placeholder="请选择人员、物资是否落实" />
  120. </td>
  121. <td colspan="2">
  122. <j-upload :buttonVisible="this.show1" @change="isShow1()" v-model="model.dxfasc"></j-upload>
  123. </td>
  124. </tr>
  125. <tr>
  126. <td rowspan="2" style="font-weight: 700;">消除或减轻影响措施</td>
  127. <td>是否要求</td>
  128. <td colspan="2">按要求完成情况</td>
  129. <td colspan="2">是否验收</td>
  130. <td colspan="2">资料上传</td>
  131. </tr>
  132. <tr>
  133. <td>
  134. <j-dict-select-tag type="list" style="border:0" v-model="model.sfyq" dictCode="yn" placeholder="影响补救工程情况(请选择是否要求)" />
  135. </td>
  136. <td colspan="2">
  137. <j-dict-select-tag type="list" style="border:0" v-model="model.ayqwcqk" dictCode="ayqwcqk" placeholder="请选择按要求完成情况" />
  138. </td>
  139. <td colspan="2">
  140. <j-dict-select-tag type="list" style="border:0" v-model="model.sfys" dictCode="yn" placeholder="请选择按是否验收" />
  141. </td>
  142. <td colspan="2">
  143. <j-upload :buttonVisible="this.show2" @change="isShow2()" v-model="model.yxcssc"></j-upload>
  144. </td>
  145. </tr>
  146. <tr>
  147. <td rowspan="2" style="font-weight: 700;">审批情况</td>
  148. </tr>
  149. <tr>
  150. <td colspan="7" >
  151. <j-dict-select-tag type="list" style="border:0" v-model="model.spqk" dictCode="spzt" placeholder="审批情况" />
  152. </td>
  153. <tr>
  154. <td rowspan="2" style="font-weight: 700;">竣工验收情况</td>
  155. <td>建设项目是否已竣工验收</td>
  156. <td colspan="2" >是否参加建设项目竣工验收</td>
  157. <td colspan="2">有关资料是否报备</td>
  158. <td colspan="2">竣工验收资料上传</td>
  159. </tr>
  160. <tr>
  161. <td>
  162. <j-dict-select-tag type="list" style="border: 0" v-model="model.jsxmsfyjgys" dictCode="yn" placeholder="请选择建设项目是否已竣工验收" />
  163. </td>
  164. <td colspan="2">
  165. <j-dict-select-tag type="list" style="border: 0" v-model="model.sfcjjsxmjgys" dictCode="yn" placeholder="请选择是否参加建设项目竣工验收" />
  166. </td>
  167. <td colspan="2">
  168. <j-dict-select-tag type="list" style="border: 0" v-model="model.ygzlsfbb" dictCode="yn" placeholder="请选择有关资料是否报备" />
  169. </td>
  170. <td colspan="2">
  171. <j-upload :buttonVisible="this.show3" @change="isShow3()" v-model="model.jgyszlsc"></j-upload>
  172. </td>
  173. </tr>
  174. <tr>
  175. <td rowspan="2" style="font-weight: 700;">监管情况</td>
  176. <td >监管单位</td>
  177. <td >监管负责人</td>
  178. <td>施工现场是否符合要求</td>
  179. <td colspan="2">施工结束是否恢复河道原状</td>
  180. <td colspan="2">检查结果表</td>
  181. </tr>
  182. <tr>
  183. <td >
  184. <a-input v-model="model.jgdw" style="border: 0" placeholder="请输入监管单位" ></a-input>
  185. </td>
  186. <td >
  187. <a-input v-model="model.jgfzr" style="border: 0" placeholder="请输入监管负责人" ></a-input>
  188. </td>
  189. <td>
  190. <j-dict-select-tag type="list"style="border: 0" v-model="model.sgxcsffhyq" dictCode="yn" placeholder="请选择施工现场是否符合要求" />
  191. </td>
  192. <td colspan="2">
  193. <j-dict-select-tag type="list" style="border: 0" v-model="model.sgjssfhfhdyz" dictCode="yn" placeholder="请选择施工结束是否恢复河道原状" />
  194. </td>
  195. <td colspan="2">
  196. <j-upload :buttonVisible="this.show4" @change="isShow4()" v-model="model.jcjgbsc"></j-upload>
  197. </td>
  198. </tr>
  199. <tr>
  200. <td rowspan="2" style="font-weight: 700;hight: 100px">位置信息</td>
  201. <td colspan="3" >横坐标</td>
  202. <td colspan="4" >纵坐标</td>
  203. </tr>
  204. <tr>
  205. <td colspan="3">
  206. <a-input v-model="model.hzb" style="border:0" placeholder="如有多个横坐标请用,分割" ></a-input>
  207. </td>
  208. <td colspan="4">
  209. <a-input v-model="model.zzb" style="border:0" placeholder="如有多个纵坐标请用,分割" ></a-input>
  210. </td>
  211. </tr>
  212. <tr>
  213. <td style="font-weight: 700;">
  214. 备注
  215. </td>
  216. <td colspan="7">
  217. <div style="display: flex;width: 100%;height: 100%;">
  218. <a-input v-model="model.bz" placeholder="请输入备注" rows="20" cols="94" style="border: 0;width:100%;resize:none;font-size: 15px;" />
  219. <!-- <textarea rows="10" cols="94" style="border: 0;resize:none;font-size: 19px;" ></textarea>-->
  220. </div>
  221. </td>
  222. </tr>
  223. <tr>
  224. <td colspan="8" rowspan="4">
  225. <div style="display: flex;width: 100%;height: 100%;">
  226. <div style="font-weight: 700;">存在问题及处理情况:</div>
  227. <a-textarea v-model="model.czwtjclqk" placeholder="请输入存在问题及处理情况" rows="10" cols="94" style="border: 0;margin-left:40px;width:85%;resize:none;font-size: 15px;" />
  228. <!-- <textarea rows="10" cols="94" style="border: 0;resize:none;font-size: 19px;" ></textarea>-->
  229. </div>
  230. </td>
  231. </tr>
  232. </table>
  233. <a-col :span="5" >
  234. <a-form-model-item style="margin-top: 10px" label="现场图片" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="xgtj">
  235. <j-image-upload isMultiple v-model="model.xgtj" ></j-image-upload>
  236. </a-form-model-item>
  237. </a-col>
  238. </a-row>
  239. </a-form-model>
  240. </j-form-container>
  241. </a-spin>
  242. </template>
  243. <script>
  244. import { httpAction, getAction } from '@/api/manage'
  245. import { validateDuplicateValue } from '@/utils/util'
  246. import JDate from "@comp/jeecg/JDate";
  247. export default {
  248. name: 'RmXcjgjlForm',
  249. components: {
  250. JDate,
  251. },
  252. props: {
  253. //表单禁用
  254. disabled: {
  255. type: Boolean,
  256. default: false,
  257. required: false
  258. },
  259. },
  260. data () {
  261. return {
  262. show:true,
  263. show1:true,
  264. show2:true,
  265. show3:true,
  266. show4:true,
  267. model:{
  268. sggq:"",
  269. },
  270. labelCol: {
  271. xs: { span: 20 },
  272. sm: { span: 4 },
  273. },
  274. wrapperCol: {
  275. xs: { span: 20 },
  276. sm: { span: 23 },
  277. },
  278. labelCol1: {
  279. xs: { span: 24 },
  280. sm: { span: 10 },
  281. },
  282. wrapperCol1: {
  283. xs: { span: 24 },
  284. sm: { span: 12 },
  285. },
  286. confirmLoading: false,
  287. validatorRules: {
  288. jsxmmc: [
  289. { required: true, message: '请输入项目名称!'},
  290. ],
  291. },
  292. url: {
  293. add: "/hzz.shjsgc.xcjgjl/rmXcjgjl/add",
  294. edit: "/hzz.shjsgc.xcjgjl/rmXcjgjl/edit",
  295. queryById: "/hzz.shjsgc.xcjgjl/rmXcjgjl/queryById"
  296. }
  297. }
  298. },
  299. computed: {
  300. formDisabled(){
  301. return this.disabled
  302. },
  303. },
  304. created () {
  305. //备份model原始值
  306. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  307. },
  308. methods: {
  309. isShow(){
  310. if(this.model.sgzlsc.length>0){
  311. this.show=false
  312. }else if(this.model.sgzlsc.length==0){
  313. this.show=true
  314. }
  315. },
  316. isShow1(){
  317. if(this.model.dxfasc.length>0){
  318. this.show1=false
  319. }else if(this.model.dxfasc.length==0){
  320. this.show1=true
  321. }
  322. },
  323. isShow2(){
  324. if(this.model.yxcssc.length>0){
  325. this.show2=false
  326. }else if(this.model.yxcssc.length==0){
  327. this.show2=true
  328. }
  329. },
  330. isShow3(){
  331. if(this.model.jgyszlsc.length>0){
  332. this.show3=false
  333. }else if(this.model.jgyszlsc.length==0){
  334. this.show3=true
  335. }
  336. },
  337. isShow4(){
  338. if(this.model.jcjgbsc.length>0){
  339. this.show4=false
  340. }else if(this.model.jcjgbsc.length==0){
  341. this.show4=true
  342. }
  343. },
  344. add () {
  345. this.edit(this.modelDefault);
  346. },
  347. edit (record) {
  348. if(record.sgzlsc!=null && record.sgzlsc!="" ){
  349. this.show=false
  350. }else {
  351. this.show=true
  352. }
  353. if(record.dxfasc!=null && record.dxfasc!="" ){
  354. this.show1=false
  355. }else {
  356. this.show1=true
  357. }
  358. if(record.yxcssc!=null &&record.yxcssc!="" ){
  359. this.show2=false
  360. }else {
  361. this.show2=true
  362. }
  363. if(record.jgyszlsc!=null && record.jgyszlsc!="" ){
  364. this.show3=false
  365. }else{
  366. this.show3=true
  367. }
  368. if(record.jcjgbsc!=null && record.jgyszlsc!="" ){
  369. this.show4=false
  370. }else {
  371. this.show4=true
  372. }
  373. this.model = Object.assign({}, record);
  374. this.visible = true;
  375. },
  376. submitForm () {
  377. const that = this;
  378. // 触发表单验证
  379. this.$refs.form.validate(valid => {
  380. if (valid) {
  381. that.confirmLoading = true;
  382. let httpurl = '';
  383. let method = '';
  384. if(!this.model.id){
  385. httpurl+=this.url.add;
  386. method = 'post';
  387. }else{
  388. httpurl+=this.url.edit;
  389. method = 'post';
  390. }
  391. httpAction(httpurl,this.model,method).then((res)=>{
  392. if(res.success){
  393. that.$message.success(res.message);
  394. that.$emit('ok');
  395. }else{
  396. that.$message.warning(res.message);
  397. }
  398. }).finally(() => {
  399. that.confirmLoading = false;
  400. })
  401. }
  402. })
  403. },
  404. popupCallback(value,row){
  405. this.model = Object.assign(this.model, row);
  406. },
  407. }
  408. }
  409. </script>
  410. <style scoped>
  411. input[type=text] {
  412. width: 100%;
  413. height: 100%;
  414. }
  415. table,
  416. tr,
  417. td {
  418. border-collapse: collapse;
  419. border: 1px darkgray solid;
  420. text-align: center;
  421. }
  422. label {
  423. padding-left: 50px;
  424. }
  425. table {
  426. width: 90%;
  427. height: 90vh;
  428. margin: auto;
  429. }
  430. </style>