e957f9153c6fe0265f6536e485e7b42bf422fb08.svn-base 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <template>
  2. <div class="fanghong_wrapper">
  3. <el-container style="height:520px;">
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  5. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  6. <el-form :model="addObj" :label-width="formLabelWidth" ref="ruleForm" :rules="rules">
  7. <el-form-item label="督查方式">
  8. <el-select v-model="addObj.inspType" :placeholder="placeholder">
  9. <el-option v-for="item in duChaTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
  10. </el-select>
  11. </el-form-item>
  12. <el-form-item label="是否编制预案">
  13. <el-radio v-model="addObj.isComplPlan" label="1">是</el-radio>
  14. <el-radio v-model="addObj.isComplPlan" label="2">否</el-radio>
  15. </el-form-item>
  16. <div v-if="addObj.isComplPlan == '1'">
  17. <el-form-item label="预案名称">
  18. <el-input type="text" v-model="addObj.planName"></el-input>
  19. </el-form-item>
  20. <el-form-item label="编制单位">
  21. <el-input type="text" v-model="addObj.complUnit"></el-input>
  22. </el-form-item>
  23. <el-form-item label="所属省份">
  24. <el-select v-model="addObj.pro" :placeholder="placeholder" multiple>
  25. <el-option v-for="item in provinceList" :key="item.adCode" :label="item.adName" :value="item.adCode"></el-option>
  26. </el-select>
  27. </el-form-item>
  28. <el-form-item label="所属流域">
  29. <el-select v-model="addObj.bas" :placeholder="placeholder" multiple>
  30. <el-option v-for="item in lyjg" :key="item.id" :label="item.pnm" :value="item.id"></el-option>
  31. </el-select>
  32. </el-form-item>
  33. </div>
  34. <el-form-item label>
  35. <el-button type="primary" @click="makesure" v-if="openType">保 存</el-button>
  36. </el-form-item>
  37. </el-form>
  38. </el-main>
  39. </el-container>
  40. </div>
  41. </template>
  42. <script>
  43. import request from "@util/gw_ajax_request.js";
  44. import { getLyjglistSz, getEmergencyPlanInfo } from "@api/duChaTianBao.js";
  45. import { getAdXBaseData } from "@api/duChaAPI.js";
  46. export default {
  47. components: {
  48. },
  49. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','currentResCode','rowData','openType'],
  50. data() {
  51. return {
  52. dialogFormVisible: false,
  53. formLabelWidth: "180px",
  54. loading: true,
  55. placeholder: '',
  56. addObj: {},
  57. operationType: "",
  58. rules: {
  59. },
  60. duChaTypes: [
  61. {label: '现场暗访',value: '1'},
  62. {label: '电话问询',value: '2'},
  63. {label: '视频连线',value: '3'},
  64. {label: '其他',value: '4'},
  65. ],
  66. provinceList: [],
  67. lyjg: [],
  68. };
  69. },
  70. computed: {
  71. recPersId() {
  72. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  73. }
  74. },
  75. created(){
  76. },
  77. mounted() {
  78. this.getLyjgList();
  79. this.getProvinceList()
  80. },
  81. methods: {
  82. // 获取省份列表数据
  83. getProvinceList(){
  84. let adCode = '000000000000'
  85. getAdXBaseData(adCode).then(
  86. (res) => {
  87. if (res.success && res.data) {
  88. this.provinceList = res.data;
  89. } else {
  90. this.provinceList = [];
  91. }
  92. },
  93. (err) => {
  94. }
  95. );
  96. },
  97. getLyjgList() {
  98. var _self = this;
  99. getLyjglistSz().then(res => {
  100. if (res.success) {
  101. _self.lyjg = res.data;
  102. // _self.placeholder = _self.lyjg[0].pnm;
  103. _self.addObj.reverOrg = _self.lyjg[0].id;
  104. _self.getformList();
  105. } else {
  106. _self.getformList();
  107. }
  108. });
  109. },
  110. getformList() {
  111. let _self = this;
  112. getEmergencyPlanInfo(_self.currentObjectRgstrId).then(res => {
  113. if (res.success) {
  114. if (res.data && Object.keys(res.data).length) {
  115. _self.addObj = res.data;
  116. try{
  117. _self.addObj.pro = _self.addObj.pro.split(',')
  118. _self.addObj.pro = _self.addObj.pro.map(ele => {
  119. return ele + '0000000000'
  120. });
  121. }catch(e){
  122. _self.addObj.pro = ''
  123. }
  124. try{
  125. _self.addObj.bas = _self.addObj.bas.split(',')
  126. }catch(e){
  127. _self.addObj.bas = ''
  128. }
  129. } else {
  130. _self.addObj = {};
  131. }
  132. } else {
  133. this.$message.error(res.message)
  134. }
  135. });
  136. },
  137. //保存
  138. makesure() {
  139. let _self = this;
  140. this.addObj["rgstrId"] = this.currentObjectRgstrId;
  141. this.addObj["recPersId"] = this.recPersId;
  142. this.addObj["status"] = '1';
  143. // 更改填报状态 to-do: 需要确认填报状态的字段是什么
  144. if (
  145. this.addObj.inspType ||
  146. this.addObj.isComplPlan
  147. ) {
  148. this.addObj.status = "1";
  149. }
  150. if (
  151. this.addObj.inspType &&
  152. this.addObj.isComplPlan
  153. ) {
  154. this.addObj.status = "2";
  155. }
  156. if (
  157. this.addObj.inspType == undefined &&
  158. this.addObj.isComplPlan == undefined
  159. ) {
  160. this.addObj.status = "0";
  161. }
  162. this.$refs['ruleForm'].validate((valid) => {
  163. if (valid) {
  164. this.$confirm("确认保存填写的信息吗?", "提示", {
  165. confirmButtonText: "确定",
  166. cancelButtonText: "取消",
  167. type: "warning"
  168. }).then(() => {
  169. if(this.addObj.pro.length){
  170. // 给后台传省级行政区划代码的前两位
  171. this.addObj.pro = this.addObj.pro.map(ele=>{
  172. return ele.substr(0,2)
  173. })
  174. this.addObj.pro = this.addObj.pro.join(',')
  175. }else{
  176. this.addObj.pro = ''
  177. }
  178. if(this.addObj.bas.length){
  179. this.addObj.bas = this.addObj.bas.join(',')
  180. }else{
  181. this.addObj.bas = ''
  182. }
  183. request.post("/bis/insp/efp/rgstr/plan/compl", _self.addObj).then(res => {
  184. if (res.success) {
  185. _self.$message.success("保存成功");
  186. _self.$emit("addShuiKuSuccess");
  187. _self.getformList();
  188. }
  189. });
  190. }).catch((err)=>{
  191. this.$message.info(err)
  192. });
  193. }else{
  194. this.$message.warning('请检查填写信息')
  195. return
  196. }
  197. });
  198. },
  199. cancelHandler() {
  200. this.$emit("cancelHandler");
  201. },
  202. handleCheckedChange(){
  203. }
  204. },
  205. watch: {
  206. currentObjectRgstrId(n, o) {
  207. this.getformList();
  208. }
  209. }
  210. };
  211. </script>
  212. <style lang="scss">
  213. #dcdxHeader {
  214. padding: 15px 20px;
  215. }
  216. #dxdcFooter {
  217. text-align: center;
  218. }
  219. #dxdcAside {
  220. border: 1px solid #d5d5ff;
  221. }
  222. .fanghong_wrapper label.el-radio {
  223. width: 60px;
  224. }
  225. .fanghong_wrapper .el-form{
  226. margin-top: 10px;
  227. }
  228. .fanghong_wrapper
  229. .add-problem-icon{
  230. font-size: 16px;
  231. }
  232. </style>