8e0cff49f173cddd02f5c0c73c5ce69a234b99a9.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <div>
  3. <el-select
  4. v-model="value"
  5. placeholder="请选择"
  6. filterable
  7. autoComplete = "off"
  8. :filter-method="filterMethod"
  9. @change='chooseChange'
  10. :loading = 'loading'
  11. loading-text = "正在查询,请稍候"
  12. >
  13. <el-option
  14. v-for="item in searchDataList"
  15. :key="item.guid"
  16. :value="item.cwsCode"
  17. :label="item.label"
  18. >
  19. <span style="float: left;color:rgba(0,0,0,0.5);font-size:small" v-if="item.value == '无相应工程'">*如无相应工程</span>
  20. <span style="float: right; color: #8492a6; font-size: 13px" v-if="item.value == '无相应工程'">
  21. <el-button type="text" size='mini' plain @click="insertCun">添加饮水工程</el-button>
  22. </span>
  23. <span style="float: left">{{ item.cwsName }}</span>
  24. <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.townName }}</span> -->
  25. </el-option>
  26. </el-select>
  27. <el-dialog
  28. title="添加饮水工程"
  29. :visible.sync="dialogVisible"
  30. width="30%"
  31. :modal="false"
  32. >
  33. <el-form :model="newGongChengForm" label-width="120px">
  34. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span style="width:120px;padding-left: 10px">饮水工程基本信息</span><span class="hrs"></span></p>
  35. <el-form-item label="工程名称">
  36. <el-input v-model="newGongChengForm.cwsName" style="width:70%;"></el-input>
  37. </el-form-item>
  38. <el-form-item label="所属行政区划">
  39. <inputWith v-model="newGongChengForm.addvcd" autocomplete="off" :rootCode = "rootCode" @provTreeSelectChange="provTreeSelectChangeHandler" style="width:70%;"></inputWith>
  40. </el-form-item>
  41. <el-form-item label="所在地">
  42. <el-input v-model="newGongChengForm.cwsLoc" style="width:70%;"></el-input>
  43. </el-form-item>
  44. <el-form-item label="建成时间">
  45. <el-input v-model="newGongChengForm.effDate" style="width:70%;"></el-input>
  46. </el-form-item>
  47. <el-form-item label="设计供水规模">
  48. <el-input v-model="newGongChengForm.desWasuScal" style="width:70%;"><template slot="append">m³/d</template></el-input>
  49. </el-form-item>
  50. <el-form-item label="覆盖人口">
  51. <el-input v-model="newGongChengForm.desWasuPop" style="width:70%;"><template slot="append">万人</template></el-input>
  52. </el-form-item>
  53. <el-form-item label="操作">
  54. <el-button @click="dialogVisible = false">取 消</el-button>
  55. <el-button type="primary" @click="submitInsertGongCheng">确 定</el-button>
  56. </el-form-item>
  57. </el-form>
  58. </el-dialog>
  59. </div>
  60. </template>
  61. <script>
  62. import { queryCwsListByObjId ,submitInsertGongCheng} from "../api/duChaTianBao.js";
  63. import inuptWith from "./inuptWith.vue"
  64. export default {
  65. props: ['rootCode','initalValue'],
  66. components:{
  67. "inputWith":inuptWith,
  68. },
  69. data() {
  70. return {
  71. dataList: [],
  72. value: '',
  73. loading:false,
  74. dialogVisible:false,
  75. searchDataList:[],
  76. timeout: null,
  77. newGongChengForm:{
  78. "cwsLoc": "",
  79. "addvcd": "",
  80. "effDate": "",
  81. "cwsName": "",
  82. "desWasuScal":"",
  83. "desWasuPop":"",
  84. },
  85. }
  86. },
  87. computed:{
  88. },
  89. mounted(){
  90. this.querySearchAsync();
  91. },
  92. watch: {
  93. rootCode:function(){
  94. this.querySearchAsync();
  95. },
  96. initalValue:function(){
  97. this.value = this.initalValue;
  98. console.log(this.value);
  99. this.querySearchAsync();
  100. }
  101. },
  102. methods:{
  103. provTreeSelectChangeHandler:function(params){
  104. this.newGongChengForm.addvcd = params.code;
  105. },
  106. submitInsertGongCheng:function(){
  107. submitInsertGongCheng(this.newGongChengForm.cwsLoc,this.rootCode,this.newGongChengForm.effDate,this.newGongChengForm.cwsName,this.newGongChengForm.desWasuScal,this.newGongChengForm.desWasuPop).then(
  108. (res) => {
  109. console.log(res);
  110. this.querySearchAsync();
  111. this.newGongChengForm={
  112. "cwsLoc": "",
  113. "addvcd": "",
  114. "effDate": "",
  115. "cwsName": "",
  116. "desWasuScal":"",
  117. "desWasuPop":"",
  118. };
  119. }
  120. );
  121. },
  122. insertCun:function(){
  123. this.dialogVisible = true;
  124. },
  125. chooseChange:function(p){
  126. this.dataList.forEach((element) => {
  127. if(element.cwsCode == p){
  128. console.log(element);
  129. this.$emit("provTreeSelectChange", {
  130. 'addvcd':element.addvcd,
  131. 'compDate':element.compDate,
  132. 'cwsCode':element.cwsCode,
  133. 'cwsLat':element.cwsLat,
  134. 'cwsLoc':element.cwsLoc,
  135. 'cwsLong':element.cwsLong,
  136. 'cwsName':element.cwsName,
  137. 'desWasuPop':element.desWasuPop,
  138. 'desWasuScal':element.desWasuScal,
  139. 'effDate':element.effDate,
  140. 'engStat':element.engStat,
  141. 'engType':element.engType,
  142. 'exprDate':element.exprDate,
  143. 'guid':element.guid,
  144. 'note':element.note,
  145. 'startDate':element.startDate,
  146. 'wasuRang':element.wasuRang,
  147. 'wasuType':element.wasuType,
  148. });
  149. }
  150. });
  151. },
  152. filterMethod:function(text){
  153. this.loading = true;
  154. console.log(text);
  155. this.value = text;
  156. let filterResult = [{
  157. 'value':'无相应工程',
  158. 'label':'添加'
  159. }];
  160. queryCwsListByObjId(this.rootCode,text).then((res) =>{
  161. this.loading = false;
  162. console.log(res);
  163. var children = [];
  164. let lists = [];
  165. res.data.list.forEach((element,index)=>{
  166. filterResult.push({
  167. 'addvcd':element.addvcd,
  168. 'compDate':element.compDate,
  169. 'cwsCode':element.cwsCode,
  170. 'cwsLat':element.cwsLat,
  171. 'cwsLoc':element.cwsLoc,
  172. 'cwsLong':element.cwsLong,
  173. 'cwsName':element.cwsName,
  174. 'desWasuPop':element.desWasuPop,
  175. 'desWasuScal':element.desWasuScal,
  176. 'effDate':element.effDate,
  177. 'engStat':element.engStat,
  178. 'engType':element.engType,
  179. 'exprDate':element.exprDate,
  180. 'guid':element.guid,
  181. 'note':element.note,
  182. 'startDate':element.startDate,
  183. 'wasuRang':element.wasuRang,
  184. 'wasuType':element.wasuType,
  185. 'label':element.cwsName,
  186. 'code':element.cwsCode
  187. });
  188. });
  189. },(err) =>{});
  190. this.searchDataList = filterResult;
  191. },
  192. querySearchAsync() {
  193. this.loading = true;
  194. // cb(results);
  195. queryCwsListByObjId(this.rootCode).then((res) =>{
  196. this.loading = false;
  197. console.log(res);
  198. var children = [];
  199. let lists = [];
  200. res.data.list.forEach((element,index)=>{
  201. lists.push({
  202. 'addvcd':element.addvcd,
  203. 'compDate':element.compDate,
  204. 'cwsCode':element.cwsCode,
  205. 'cwsLat':element.cwsLat,
  206. 'cwsLoc':element.cwsLoc,
  207. 'cwsLong':element.cwsLong,
  208. 'cwsName':element.cwsName,
  209. 'desWasuPop':element.desWasuPop,
  210. 'desWasuScal':element.desWasuScal,
  211. 'effDate':element.effDate,
  212. 'engStat':element.engStat,
  213. 'engType':element.engType,
  214. 'exprDate':element.exprDate,
  215. 'guid':element.guid,
  216. 'note':element.note,
  217. 'startDate':element.startDate,
  218. 'wasuRang':element.wasuRang,
  219. 'wasuType':element.wasuType,
  220. 'label':element.cwsName,
  221. 'code':element.cwsCode
  222. });
  223. });
  224. this.dataList = lists;
  225. this.searchDataList = lists;
  226. },(err) =>{});
  227. },
  228. },
  229. }
  230. </script>
  231. <style>
  232. </style>