移动端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

paidExitAdd.vue 11 KiB

3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <template>
  2. <div class="app-container">
  3. <van-nav-bar
  4. left-arrow
  5. fixed
  6. placeholder
  7. @click-left="$router.back(-1)"
  8. >
  9. <template #title>
  10. <p style="font-weight: bold;">添加有偿退出</p>
  11. </template>
  12. </van-nav-bar>
  13. <van-form ref="_Form">
  14. <div class="main_box">
  15. <van-field
  16. readonly
  17. clickable
  18. v-model="circulation.zjddm"
  19. label="宅基地代码"
  20. placeholder="请选择"
  21. @click="showzjddm = true"
  22. input-align="right"
  23. right-icon="arrow-down" :rules="[{ required: true }]" required
  24. />
  25. <van-popup v-model="showzjddm" position="bottom">
  26. <van-picker
  27. show-toolbar
  28. :columns="zjdDictionaries"
  29. @confirm="onConfirmZjddm"
  30. @cancel="showzjddm = false"
  31. />
  32. </van-popup>
  33. <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
  34. <van-field
  35. readonly
  36. clickable
  37. v-model="zjlx"
  38. label="申请人证件类型"
  39. placeholder="请选择"
  40. @click="showzjlx = true"
  41. input-align="right"
  42. right-icon="arrow-down"
  43. label-width="auto" :rules="[{ required: true }]" required
  44. />
  45. <van-popup v-model="showzjlx" position="bottom">
  46. <van-picker
  47. show-toolbar
  48. :columns="zjlxDictionaries"
  49. @confirm="onConfirmZjlx"
  50. @cancel="showzjlx = false"
  51. />
  52. </van-popup>
  53. <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
  54. </div>
  55. <p class="main_title">退出信息</p>
  56. <div class="main_box">
  57. <van-field
  58. readonly
  59. clickable
  60. v-model="tcqllx"
  61. label="退出权利类型"
  62. placeholder="请选择退出权利类型"
  63. @click="showtcqllx = true"
  64. input-align="right"
  65. right-icon="arrow-down"
  66. label-width="auto" :rules="[{ required: true }]" required
  67. />
  68. <van-popup v-model="showtcqllx" position="bottom">
  69. <van-picker
  70. show-toolbar
  71. :columns="tcqllxDictionaries"
  72. @confirm="onConfirmTcqllx"
  73. @cancel="showtcqllx = false"
  74. />
  75. </van-popup>
  76. <!--<van-field
  77. readonly
  78. clickable
  79. v-model="tclx"
  80. label="退出类型"
  81. placeholder="请选择退出类型"
  82. @click="showtclx = true"
  83. input-align="right"
  84. right-icon="arrow-down"
  85. label-width="auto" :rules="[{ required: true }]" required
  86. />
  87. <van-popup v-model="showtclx" position="bottom">
  88. <van-picker
  89. show-toolbar
  90. :columns="tclxDictionaries"
  91. @confirm="onConfirmTclx"
  92. @cancel="showtclx = false"
  93. />
  94. </van-popup>-->
  95. <van-field
  96. readonly
  97. v-model="tclx"
  98. label="退出类型"
  99. input-align="right"
  100. label-width="auto"
  101. required
  102. />
  103. <van-field
  104. readonly
  105. clickable
  106. v-model="tcfs"
  107. label="退出方式"
  108. placeholder="请选择退出方式"
  109. @click="showtcfs = true"
  110. input-align="right"
  111. right-icon="arrow-down"
  112. label-width="auto" :rules="[{ required: true }]" required
  113. />
  114. <van-popup v-model="showtcfs" position="bottom">
  115. <van-picker
  116. show-toolbar
  117. :columns="tcfsDictionaries"
  118. @confirm="onConfirmTcfs"
  119. @cancel="showtcfs = false"
  120. />
  121. </van-popup>
  122. <van-field v-model="circulation.tcmj" label="退出面积(㎡)" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/>
  123. <van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto" type="number"/>
  124. </div>
  125. <p class="main_title">补偿信息</p>
  126. <div class="main_box">
  127. <van-field
  128. readonly
  129. clickable
  130. v-model="bcfs"
  131. label="补偿方式"
  132. placeholder="请选择补偿方式"
  133. @click="showbcfs = true"
  134. label-width="auto"
  135. input-align="right"
  136. right-icon="arrow-down"
  137. />
  138. <van-popup v-model="showbcfs" position="bottom">
  139. <van-picker
  140. show-toolbar
  141. :columns="bcfsDictionaries"
  142. @confirm="onConfirmBcfs"
  143. @cancel="showbcfs = false"
  144. />
  145. </van-popup>
  146. <van-field v-model="circulation.bcje" label="补偿金额(元)" placeholder="请输入补偿金额 元" input-align="right" label-width="auto" type="number"/>
  147. <van-field v-model="circulation.zhfwmj" label="置换房屋面积(㎡)" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto" type="number"/>
  148. <van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/>
  149. <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>
  150. </div>
  151. </van-form>
  152. <div style="padding: 16px 0;">
  153. <van-row>
  154. <van-col span="12" align="center">
  155. <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit(false)">保存</van-button>
  156. </van-col>
  157. <van-col span="12" align="center">
  158. <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit(true)">提交</van-button>
  159. </van-col>
  160. </van-row>
  161. <div class="clear"></div>
  162. </div>
  163. </div>
  164. </template>
  165. <script>
  166. import { zjdzd, getByZjddm } from "@/api/onlineHome/homestead/circulation";
  167. import { dyAdd, zyyctcApply } from "@/api/onlineHome/homestead/paidExit";
  168. import {Notify} from "vant";
  169. export default {
  170. name: "paidExitAdd",
  171. data() {
  172. return {
  173. tcqllxDictionaries:[],//退出权利类型
  174. tclxDictionaries:[],//退出类型
  175. tcfsDictionaries:[],//退出方式
  176. zjlxDictionaries:[],//申请人证件类型
  177. bcfsDictionaries:[],//补偿方式
  178. zjdDictionaries:[],//宅基地代码
  179. tcqllx:'',
  180. tclx:'有偿退出',
  181. tcfs:'',
  182. zjlx:'',
  183. bcfs:'',
  184. zjddm:'',
  185. showtcqllx: false,
  186. showtclx: false,
  187. showtcfs: false,
  188. showzjlx: false,
  189. showbcfs: false,
  190. showzjddm: false,
  191. circulation:{
  192. // 申请类型 1-宅基地退出
  193. sqlx: '1',
  194. // 退出类型 01-有偿退出 02-无偿退出
  195. tclx: '01',
  196. }
  197. };
  198. },
  199. created() {
  200. this.getDictionaries();
  201. },
  202. methods: {
  203. getDictionaries(){
  204. //退出权利类型
  205. this.houseGetDicts("tcqllx").then((res) => {
  206. for(var i = 0 ; i < res.data.length ; i++){
  207. this.tcqllxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  208. }
  209. });
  210. //退出类型
  211. /*this.houseGetDicts("tclx").then((res) => {
  212. for(var i = 0 ; i < res.data.length ; i++){
  213. this.tclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  214. }
  215. });*/
  216. //退出方式
  217. this.houseGetDicts("tcfs").then((res) => {
  218. for(var i = 0 ; i < res.data.length ; i++){
  219. this.tcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  220. }
  221. });
  222. //申请人证件类型
  223. this.houseGetDicts("zjlx").then((res) => {
  224. for(var i = 0 ; i < res.data.length ; i++){
  225. this.zjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  226. }
  227. });
  228. //补偿方式
  229. this.houseGetDicts("bcfs").then((res) => {
  230. for(var i = 0 ; i < res.data.length ; i++){
  231. this.bcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  232. }
  233. });
  234. //宅基地代码
  235. zjdzd().then(zjdRes => {
  236. for( let i = 0 ; i < zjdRes.rows.length ; i++){
  237. this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
  238. }
  239. if(this.zjdDictionaries.length > 0)
  240. this.onConfirmZjddm(this.zjdDictionaries[0]);
  241. });
  242. },
  243. onConfirmZjddm(data){
  244. console.log(data)
  245. this.circulation.zjddm = data;
  246. this.showzjddm = false;
  247. getByZjddm({zjddm: data,}).then(qlrRes => {
  248. let data = qlrRes.data;
  249. console.log(data)
  250. this.$set(this.circulation, 'sqrxm', data.shyqrdbxm);
  251. this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
  252. this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
  253. if(data.shyqrdbzjlx)
  254. {
  255. let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
  256. if(val)
  257. this.zjlx = val.text;
  258. }
  259. this.$forceUpdate();
  260. });
  261. },
  262. onConfirmZjlx(data){
  263. this.zjlx = data.text;
  264. this.circulation.sqrzjlx = data.value;
  265. this.showzjlx = false;
  266. },
  267. onConfirmTcqllx(data){
  268. this.tcqllx = data.text;
  269. this.circulation.tcqllx = data.value;
  270. this.showtcqllx = false;
  271. },
  272. /*onConfirmTclx(data){
  273. this.tclx = data.text;
  274. this.circulation.tclx = data.value;
  275. this.showtclx = false;
  276. },*/
  277. onConfirmTcfs(data){
  278. this.tcfs = data.text;
  279. this.circulation.tcfs = data.value;
  280. this.showtcfs = false;
  281. },
  282. onConfirmBcfs(data){
  283. this.bcfs = data.text;
  284. this.circulation.bcfs = data.value;
  285. this.showbcfs = false;
  286. },
  287. goSubmit(submit){
  288. console.log(this.circulation);
  289. this.$refs._Form.validate().then(() => {
  290. // 设置初始状态为草稿,0 代表草稿
  291. this.$set(this.circulation, "auditStatus", '0');
  292. dyAdd(this.circulation).then(response => {
  293. if(response.code = 200){
  294. if(submit)
  295. {
  296. zyyctcApply(response.data).then((resp) => {
  297. this.$toast.success('提交成功');
  298. this.back();
  299. });
  300. }
  301. else {
  302. this.$toast.success('保存成功');
  303. this.back();
  304. }
  305. }
  306. })
  307. }).catch((e) => {
  308. Notify({ type: 'danger', message: '请填写完整的表单项' });
  309. });
  310. },
  311. back() {
  312. setTimeout(() => this.$router.back(-1), 1000)
  313. },
  314. },
  315. }
  316. </script>
  317. <style scoped lang="scss">
  318. .app-container {
  319. padding: 2% 0;
  320. }
  321. .main_title{
  322. font-size: 0.4rem;
  323. color: #1D6FE9;
  324. margin: 0.2rem 6%;
  325. position: relative;
  326. }
  327. .main_box{
  328. width: 96%;
  329. margin: 0 auto;
  330. border-radius: 6px;
  331. box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  332. overflow: hidden;
  333. background-color: #FFF;
  334. }
  335. .submitButton{
  336. width: 80%;
  337. margin: 0 auto;
  338. background-color: #1D6FE9;
  339. }
  340. </style>