移动端
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

294 рядки
9.3 KiB

  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. label="是否在建建筑物"
  19. placeholder="请选择"
  20. v-model="sfzjjzw"
  21. @click="showSys = true"
  22. input-align="right"
  23. right-icon="arrow-down"
  24. label-width="auto" :rules="[{ required: true }]" required
  25. />
  26. <van-popup v-model="showSys" position="bottom">
  27. <van-picker
  28. show-toolbar
  29. :columns="sysDictionaries"
  30. @confirm="onConfirmSys"
  31. @cancel="showSys = false"
  32. />
  33. </van-popup>
  34. <field-select
  35. v-model="jgList.zjddm"
  36. label="宅基地代码"
  37. value-key="zjddm"
  38. data-key="zjddm"
  39. placeholder="请选择宅基地代码"
  40. :rules="[{ required: true }]"
  41. required
  42. :readonly="!allowCUD"
  43. :columns="zjdDictionaries"
  44. @change="onZjddmChanged"
  45. />
  46. <van-field label="户主姓名" v-model="jgList.syrxm" placeholder="请填写户主姓名" input-align="right" label-width="auto" readonly :rules="[{ required: true }]" required/>
  47. <!-- <van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" :rules="[{ required: true }]" required/>-->
  48. <!-- <van-popup v-model="showZjd" position="bottom">-->
  49. <!-- <van-picker-->
  50. <!-- show-toolbar-->
  51. <!-- @cancel="showZjd = false"-->
  52. <!-- />-->
  53. <!-- </van-popup>-->
  54. <van-field
  55. readonly
  56. clickable
  57. label="监管类型"
  58. placeholder="请选择"
  59. v-model="jglx"
  60. @click="showjglx = true"
  61. input-align="right"
  62. right-icon="arrow-down" :rules="[{ required: true }]" required
  63. />
  64. <van-popup v-model="showjglx" position="bottom">
  65. <van-picker
  66. show-toolbar
  67. :columns="jglxDictionaries"
  68. @confirm="onConfirmJglx"
  69. @cancel="showjglx = false"
  70. />
  71. </van-popup>
  72. <van-field
  73. readonly
  74. clickable
  75. v-model="jgList.lasj"
  76. label="立案时间"
  77. placeholder="请选择立案时间"
  78. @click="showlasj = true"
  79. input-align="right"
  80. right-icon="arrow-down"
  81. />
  82. <van-popup v-model="showlasj" position="bottom">
  83. <van-datetime-picker
  84. :value="new Date"
  85. type="date"
  86. title="选择年月日"
  87. @confirm="onConfirmLasj"
  88. @cancel="showlasj = false"
  89. />
  90. </van-popup>
  91. <van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
  92. <van-field
  93. readonly
  94. clickable
  95. label="巡查时间"
  96. v-model="jgList.inspectorTime"
  97. placeholder="请选择巡查时间"
  98. @click="showinspectorTime = true"
  99. input-align="right"
  100. right-icon="arrow-down"
  101. />
  102. <van-popup v-model="showinspectorTime" position="bottom">
  103. <van-datetime-picker
  104. :value="new Date"
  105. type="date"
  106. title="选择年月日"
  107. @confirm="onConfirmInspectorTime"
  108. @cancel="showinspectorTime = false"
  109. />
  110. </van-popup>
  111. </div>
  112. <p class="main_title">违法信息</p>
  113. <div class="main_box">
  114. <van-field
  115. readonly
  116. clickable
  117. label="违法用地类型"
  118. placeholder="请选择"
  119. v-model="wfydlx"
  120. @click="showwfydlx = true"
  121. input-align="right"
  122. right-icon="arrow-down" :rules="[{ required: true }]" required
  123. />
  124. <van-popup v-model="showwfydlx" position="bottom">
  125. <van-picker
  126. show-toolbar
  127. :columns="wfydlxDictionaries"
  128. @confirm="onConfirmWfydlx"
  129. @cancel="showwfydlx = false"
  130. />
  131. </van-popup>
  132. <van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto" type="number" :rules="[{ required: true }]" required/>
  133. <van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto" type="number" :rules="[{ required: true }]" required/>
  134. <van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto" type="number" :rules="[{ required: true }]" required/>
  135. <van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto" type="number" :rules="[{ required: true }]" required/>
  136. </div>
  137. </van-form>
  138. <div style="padding: 16px 0;" v-if="allowCUD">
  139. <van-row>
  140. <van-col span="12" align="center">
  141. <van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
  142. </van-col>
  143. <van-col span="12" align="center">
  144. <van-button type="info" native-type="submit" @click="goAdd" class="submitButton">上<i style="margin-right: 1em;"></i>报</van-button>
  145. </van-col>
  146. </van-row>
  147. <div class="clear"></div>
  148. </div>
  149. </div>
  150. </template>
  151. <script>
  152. import { jgAdd } from "@/api/onlineHome/homestead/reporting";
  153. import {Notify} from "vant";
  154. import { zjdzd , getByZjddm } from "@/api/onlineHome/homestead/circulation";
  155. import FieldSelect from "@/components/form/FieldSelect";
  156. export default {
  157. name: "taskCloseCaseAdd",
  158. components: {
  159. FieldSelect},
  160. data() {
  161. return {
  162. showSys:false,
  163. showjglx:false,
  164. showlasj:false,
  165. showinspectorTime:false,
  166. showwfydlx:false,
  167. jgList:{},
  168. sfzjjzw:'',
  169. jglx:'',
  170. wfydlx:'',
  171. wfydlxDictionaries:[],
  172. jglxDictionaries:[],
  173. sysDictionaries:[],
  174. zjdDictionaries: [],
  175. };
  176. },
  177. created() {
  178. this.getDictionaries();
  179. this.jgList.taskId = this.$route.query.id;
  180. },
  181. computed: {
  182. allowCUD: function () {
  183. return this.$store.getters.businessLevel == '2'
  184. },
  185. },
  186. methods: {
  187. getDictionaries(){
  188. //违法用地类型
  189. this.houseGetDicts("villations_type").then((res) => {
  190. for(var i = 0 ; i < res.data.length ; i++){
  191. this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  192. }
  193. });
  194. //监管类型
  195. this.houseGetDicts("jglx").then((res) => {
  196. for(var i = 0 ; i < res.data.length ; i++){
  197. this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  198. }
  199. });
  200. //是否在建建筑物
  201. this.houseGetDicts("sys_yes_no").then((res) => {
  202. for(var i = 0 ; i < res.data.length ; i++){
  203. this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
  204. }
  205. });
  206. //宅基地代码
  207. zjdzd().then(zjdRes => {
  208. this.zjdDictionaries = zjdRes.rows;
  209. if(this.zjdDictionaries.length > 0)
  210. this.jgList.zjddm = this.zjdDictionaries[0].zjddm;
  211. });
  212. },
  213. onConfirmSys(data){
  214. this.sfzjjzw = data.text;
  215. this.jgList.sfzjjzw = data.value;
  216. this.showSys = false;
  217. },
  218. onConfirmJglx(data){
  219. this.jglx = data.text;
  220. this.jgList.jglx = data.value;
  221. this.showjglx = false;
  222. },
  223. onConfirmWfydlx(data){
  224. this.wfydlx = data.text;
  225. this.jgList.wfydlx = data.value;
  226. this.showwfydlx = false;
  227. },
  228. onConfirmLasj(data){
  229. this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
  230. this.showlasj = false;
  231. },
  232. onConfirmInspectorTime(data){
  233. this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
  234. this.showinspectorTime = false;
  235. },
  236. goAdd(){
  237. console.log(this.jgList)
  238. this.$refs._Form.validate().then(() => {
  239. jgAdd(this.jgList).then(response => {
  240. console.log(response);
  241. this.$toast.success('保存成功');
  242. setTimeout(function(){
  243. history.go(-1)
  244. },2000)
  245. });
  246. }).catch((e) => {
  247. Notify({ type: 'danger', message: '请填写完整的表单项' });
  248. });
  249. },
  250. goBack(){
  251. window.history.go(-1)
  252. },
  253. onZjddmChanged(data) {
  254. let zjddm = data.zjddm;
  255. getByZjddm({zjddm: zjddm,}).then(qlrRes => {
  256. let data = qlrRes.data;
  257. console.log(data)
  258. this.jgList.syrxm = data.shyqrdbxm;
  259. this.$forceUpdate();
  260. });
  261. }
  262. },
  263. }
  264. </script>
  265. <style scoped lang="scss">
  266. .app-container {
  267. padding: 2% 0;
  268. }
  269. .main_title{
  270. font-size: 0.4rem;
  271. color: #1D6FE9;
  272. margin: 0.2rem 6%;
  273. position: relative;
  274. }
  275. .main_box{
  276. width: 96%;
  277. margin: 0 auto;
  278. border-radius: 6px;
  279. box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  280. overflow: hidden;
  281. background-color: #FFF;
  282. }
  283. .submitButton{
  284. width: 80%;
  285. margin: 0 auto;
  286. background-color: #1D6FE9;
  287. }
  288. </style>