index.vue 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019
  1. <template>
  2. <view class="cantent">
  3. <view class="tit-tip">
  4. 基本信息
  5. </view>
  6. <view class="content_box">
  7. <view class="row b-b">
  8. <text class="tit">姓名</text>
  9. <input class="input" type="text" :disabled="disabled" v-model="full_name" placeholder="请填写您的姓名"
  10. placeholder-class="placeholder" />
  11. </view>
  12. <view class="row b-b">
  13. <text class="tit">性别</text>
  14. <picker mode="selector" :range="sexList" @change="changeSex" style="flex-grow: 1;">
  15. <input class="input" type="text" :disabled="disabled" v-model="sex" placeholder="请选择您的性别"
  16. placeholder-class="placeholder" />
  17. </picker>
  18. </view>
  19. </view>
  20. <view class="content_box">
  21. <view class="row b-b">
  22. <text class="tit">政治面貌</text>
  23. <picker mode="selector" :range="checkedList" @change="changeChecked" style="flex-grow: 1;">
  24. <input class="input" disabled v-model="checked" placeholder="请选择政治面貌"
  25. placeholder-class="placeholder" />
  26. </picker>
  27. </view>
  28. <view class="row" @click="selectDatePicker(type)">
  29. <text class="tit">出生日期:</text>
  30. <input class="input" type="text" v-model="birthday" disabled="true" placeholder-class="placeholder" />
  31. <datetime ref='date-time' :type='type' :datestring='dateString' @change='dateTimeChange'>
  32. </datetime>
  33. </view>
  34. <view class="row b-b">
  35. <text class="tit">身份证号</text>
  36. <input class="input" type="text" :disabled="disabled" v-model="id_card" placeholder="请填写身份证号"
  37. placeholder-class="placeholder" />
  38. </view>
  39. <view class="row b-b">
  40. <text class="tit">申请标题</text>
  41. <input class="input" type="text" v-model="title" placeholder="请填写申请标题"
  42. placeholder-class="placeholder" />
  43. </view>
  44. <view class="row b-b">
  45. <text class="tit">帮扶金额</text>
  46. <input class="input" type="number" :disabled="disabled" v-model="amount" placeholder="请填写帮扶金额"
  47. placeholder-class="placeholder" />
  48. </view>
  49. <view class="row b-b">
  50. <text class="tit">家庭住址</text>
  51. <input class="input" v-model="address" :disabled="disabled" placeholder="请填写详细地址"
  52. placeholder-class="placeholder" />
  53. </view>
  54. <view class="row b-b">
  55. <text class="tit">联系电话</text>
  56. <input class="input" type="text" :disabled="disabled" v-model="phone" placeholder="请填写联系电话"
  57. placeholder-class="placeholder" />
  58. </view>
  59. <view class="row b-b">
  60. <text class="tit">工作单位</text>
  61. <input class="input" type="text" :disabled="disabled" v-model="work" placeholder="请填写工作单位"
  62. placeholder-class="placeholder" />
  63. </view>
  64. <view class="row b-b">
  65. <text class="tit">单位性质</text>
  66. <picker mode="selector" :range="checkedtList" @change="changeCheckedt" style="flex-grow: 1;">
  67. <input class="input" disabled v-model="checked1" placeholder="请选择单位性质"
  68. placeholder-class="placeholder" />
  69. </picker>
  70. </view>
  71. </view>
  72. <view class="tit-tip">
  73. 信息选择
  74. </view>
  75. <view class="content_box">
  76. <view class="row b-b">
  77. <text class="tit">身份</text>
  78. <picker mode="selector" :range="identityList" @change="changeidentity" style="flex-grow: 1;">
  79. <input class="input" disabled v-model="identity" placeholder="请选择身份"
  80. placeholder-class="placeholder" />
  81. </picker>
  82. </view>
  83. <view class="row b-b">
  84. <text class="tit">婚姻状态</text>
  85. <picker mode="selector" :range="maritalList" @change="changeMarital" style="flex-grow: 1;">
  86. <input class="input" disabled v-model="marital" placeholder="请选择婚姻状态"
  87. placeholder-class="placeholder" />
  88. </picker>
  89. </view>
  90. <view class="row b-b">
  91. <text class="tit">是否医保</text>
  92. <picker mode="selector" :range="insuranceList" @change="changeInsurance" style="flex-grow: 1;">
  93. <input class="input" disabled v-model="insurance" placeholder="请选择是否医保"
  94. placeholder-class="placeholder" />
  95. </picker>
  96. </view>
  97. <view class="row b-b">
  98. <text class="tit">对象特征</text>
  99. <picker mode="selector" :range="characteristicsList" @change="changeCharacteristics"
  100. style="flex-grow: 1;">
  101. <input class="input" disabled v-model="characteristics" placeholder="请选择对象特征"
  102. placeholder-class="placeholder" />
  103. </picker>
  104. </view>
  105. <view class="row b-b" style="border-bottom: none;">
  106. <text class="tit" style="width: 400rpx;">制困原因(最多选三项)</text>
  107. </view>
  108. <view class="" style="padding-left: 50rpx;border-bottom: 1rpx solid #f8f6f6;" v-if="ready">
  109. <checkbox-group style="display: inline-block;" @change="checkMaleLikes">
  110. <label class="checkbox" v-for="item in maleLikeList" :key="item.name">
  111. <checkbox :checked="item.cheched" color="#E62129"
  112. style="transform:scale(0.6);margin: 0;padding: 0;" :value="item.name" />{{ item.name }}
  113. </label>
  114. </checkbox-group>
  115. </view>
  116. </view>
  117. <!-- 基本信息家庭成员情况 -->
  118. <view class="tit-tip">
  119. 基本信息家庭成员情况
  120. </view>
  121. <view v-for="(ls,findex) in datalist" :key="">
  122. <view class="flex item-list">
  123. <view class="list-name">家庭成员({{findex+1}})</view>
  124. <view class="flex">
  125. <view class="add-tip" @click="addlist(findex)" v-if="findex == (datalist.length -1)">新增</view>
  126. <view class="add-tip" @click="dellist(findex)" style="margin-left: 20rpx;" v-if="findex != 0">删除
  127. </view>
  128. </view>
  129. </view>
  130. <view class="content_box" style="padding-left: 40rpx;margin-bottom: 10rpx;">
  131. <view class="row b-b">
  132. <text class="tit">姓名</text>
  133. <input class="input" type="text" v-model="ls.full_name" :disabled="disabled" placeholder="请填写成员姓名"
  134. placeholder-class="placeholder" />
  135. </view>
  136. <view class="row b-b">
  137. <text class="tit">与本人关系</text>
  138. <input class="input" type="text" v-model="ls.relation" :disabled="disabled" placeholder="请填写与本人关系"
  139. placeholder-class="placeholder" />
  140. </view>
  141. <view class="row b-b">
  142. <text class="tit">身份证号</text>
  143. <input class="input" type="text" v-model="ls.id_card" :disabled="disabled" placeholder="请填写身份证号"
  144. placeholder-class="placeholder" />
  145. </view>
  146. <view class="row b-b">
  147. <text class="tit">工作单位或就读学校</text>
  148. <input class="input" type="text" v-model="ls.work_unit" :disabled="disabled"
  149. placeholder="请填写工作单位或就读学校" placeholder-class="placeholder" />
  150. </view>
  151. <view class="row b-b">
  152. <text class="tit">健康状况</text>
  153. <input class="input" type="text" v-model="ls.healthy" :disabled="disabled" placeholder="请填写健康状况"
  154. placeholder-class="placeholder" />
  155. </view>
  156. <view class="row b-b">
  157. <text class="tit">月收入(元)</text>
  158. <input class="input" type="number" v-model="ls.monthly_income" :disabled="disabled"
  159. placeholder="请填写月收入(元)" placeholder-class="placeholder" />
  160. </view>
  161. </view>
  162. </view>
  163. <!-- 详细情况 -->
  164. <view class="tit-tip">
  165. 详细情况
  166. </view>
  167. <view class="item-list">
  168. <view class="list-name">经济状况</view>
  169. </view>
  170. <view class="content_box">
  171. <view class="row b-b">
  172. <text class="tit">本人月收入(元)</text>
  173. <input class="input" type="number" v-model="yue" :disabled="disabled" placeholder="请填写本人月收入(元)"
  174. placeholder-class="placeholder" />
  175. </view>
  176. <view class="row b-b">
  177. <text class="tit">家庭年度总收入(元)</text>
  178. <input class="input" type="number" v-model="nian" :disabled="disabled" placeholder="请填写家庭年度总收入(元)"
  179. placeholder-class="placeholder" />
  180. </view>
  181. <view class="row b-b">
  182. <text class="tit">家庭年人均收入(元)</text>
  183. <input class="input" type="number" v-model="all" :disabled="disabled" placeholder="请填写家庭年人均收入(元)"
  184. placeholder-class="placeholder" />
  185. </view>
  186. </view>
  187. <view class="content_box">
  188. <view class="examine_list">
  189. <view class="examine_name">申请帮扶类型</view>
  190. <picker mode="selector" :range="hpleTypeList" @change="changehpleType" style="flex-grow: 1;">
  191. <input class="input" v-model="hpleType" type="text" placeholder="请选择您的申请帮扶类型"
  192. placeholder-class="placeholder" style="padding-left: 20rpx;" />
  193. </picker>
  194. </view>
  195. </view>
  196. <lb-picker ref="picker" mode="selector" :list="list" @change="handleChange" @touchmove.prevent
  197. @confirm="handleConfirm" @cancel="handleCancel">
  198. </lb-picker>
  199. <view class="content_box">
  200. <view class="examine_list">
  201. <view class="examine_name">帮扶说明</view>
  202. <view class="textarea-box">
  203. <textarea class="textarea" v-model="info" maxlength="-1" placeholder-style="color:#999999"
  204. placeholder="如:关爱父母敬老爱幼等" auto-height />
  205. </view>
  206. </view>
  207. </view>
  208. <view class="content_box">
  209. <view class="examine_list">
  210. <view class="examine_name">帮扶情况描述</view>
  211. <view class="textarea-box">
  212. <textarea class="textarea" v-model="content" maxlength="-1" placeholder-style="color:#999999"
  213. placeholder="注:1.为了更加详细了解您的困难情况,请您陈述材料完整详细不少于500字。2.请您附上相关证明材料,如医疗材料:入院病案首页、出入院记录、检查报告、医疗票据选取三种以上,其他证明材料。"
  214. auto-height />
  215. </view>
  216. </view>
  217. </view>
  218. <view class="content_box">
  219. <view class="examine_list">
  220. <view class="examine_name">上传申请封面<text></text></view>
  221. <view class="examine_img">
  222. <view class="add-img-box flex_item">
  223. <view class="add-img-item" v-if="userimage">
  224. <image class="add-img" :src="baseURL + userimage" mode="aspectFill">
  225. </image>
  226. <image class="add-img-del" @click.stop="delImgt()" src="/static/img/delete.png"></image>
  227. </view>
  228. <view v-if="userimage == ''" class="add-img-item" @click.stop="scImgt()">
  229. <image class="add-img" src="/static/img/add.png"></image>
  230. </view>
  231. </view>
  232. </view>
  233. </view>
  234. </view>
  235. <view class="content_box mar-b">
  236. <view class="examine_list">
  237. <view class="examine_name">上传凭证<text>(请您上传相关证明材料)</text></view>
  238. <view class="examine_img">
  239. <view class="add-img-box flex_item">
  240. <view class="add-img-item" v-for="(item, index) in imgList">
  241. <image class="add-img" :src="item.fullurl" mode="aspectFill">
  242. </image>
  243. <image class="add-img-del" @click.stop="delImg(index)" src="/static/img/delete.png"></image>
  244. </view>
  245. <view class="add-img-item" @click.stop="scImg()">
  246. <image class="add-img" src="/static/img/add.png"></image>
  247. </view>
  248. </view>
  249. </view>
  250. </view>
  251. </view>
  252. <view class="add-btn" @click="apply()">
  253. 申请帮扶
  254. </view>
  255. </view>
  256. </template>
  257. <script>
  258. import {
  259. upload,
  260. addrescuer
  261. } from '@/api/ask.js';
  262. import uniList from '@/components/uni-list/uni-list.vue';
  263. import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
  264. import {
  265. add_help
  266. } from '@/api/index.js';
  267. import {
  268. getList,
  269. helpdetail
  270. } from '@/api/applyHelp.js';
  271. import {
  272. getHelpIfy,
  273. apply
  274. } from '@/api/help.js'
  275. import datetime from '@/components/DateTimePicker/DateTimePicker.vue'
  276. import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
  277. import LbPicker from '@/components/lb-picker/index.vue';
  278. import {
  279. mapState,
  280. mapMutations
  281. } from 'vuex';
  282. export default {
  283. components: {
  284. uniList,
  285. uniListItem,
  286. pickerAddress,
  287. datetime,
  288. LbPicker
  289. },
  290. computed: {
  291. ...mapState(['baseURL'])
  292. },
  293. data() {
  294. return {
  295. ready: true,
  296. id: '',
  297. full_name: '', //姓名
  298. age: '', //年龄
  299. sex: '', //性别
  300. id_card: '', //身份证号
  301. phone: '', //电话
  302. address: '', //家庭住址
  303. addr: '',
  304. work: '', //工作单位
  305. sexList: ['男', '女'],
  306. checkedList: ['群众', '团员', '党员'], //政治面貌列表
  307. politics: '', //政治面貌
  308. checkedtList: ['国有企业', '私营企业', '外资企业', '事业单位', '个位经营', '无'], //单位性质列表
  309. identityList: ['居民', '村民', '农民工', '在岗', '下岗', '离退休', '病退病休'], //身份列表
  310. maritalList: ['未婚', '已婚'], //婚姻状况列表
  311. insuranceList: ['否', '是'], //是否医保列表
  312. characteristicsList: ['低保对象', '重度残疾', '低保边缘对象', '孤儿、孤寡老人', '因灾、因病致穷家庭', '其它'], //对象特征列表
  313. maleLikeList: [{ //致困原因(最多选三项)
  314. cheched: false,
  315. name: '意外灾害',
  316. }, {
  317. vcheched: false,
  318. name: '本人大病',
  319. }, {
  320. cheched: false,
  321. name: '子女上学',
  322. }, {
  323. cheched: false,
  324. name: '收入低无法维持基本生活',
  325. }, {
  326. cheched: false,
  327. name: '残疾',
  328. }, {
  329. cheched: false,
  330. name: '供养直系亲属大病',
  331. }, {
  332. cheched: false,
  333. name: '下岗失业',
  334. }, {
  335. cheched: false,
  336. name: '其它',
  337. }],
  338. datalist: [{
  339. full_name: "", //姓名
  340. relation: '', //关系
  341. id_card: '', //身份证
  342. work_unit: '', //单位
  343. healthy: '', //健康状态
  344. monthly_income: "", //月收入
  345. }], //家庭成员情况列表
  346. maleLike: '', // 制困原因
  347. maleLikeListt: [],
  348. characteristics: '', //对象特征
  349. insurance: '', //是否医保
  350. marital: '', //婚姻状况
  351. identity: '', //身份
  352. current: '',
  353. checked: '',
  354. current1: '',
  355. checked1: '',
  356. dateString: '',
  357. birthday: '请选择出生日期', //出生日期
  358. type: 'date',
  359. status: '', //审核通过
  360. disabled: false,
  361. yue: '',
  362. nian: '',
  363. all: '',
  364. cid: '',
  365. hpleType: '',
  366. hpleTypeList: [], //帮扶分类列表
  367. hpleTypeFullList: [], //帮扶分类完整列表
  368. explain: '',
  369. content: '', //孝善情况
  370. imgList: [],
  371. cloudimgList: [],
  372. imgCount: 9, //最多支持6张上传,可以修改
  373. id: '',
  374. list: [], //筹款类型
  375. hpleTypeid: '', //帮扶分类id
  376. title: '', //标题
  377. info: '',
  378. amount: '', //帮扶金额
  379. userimage: '', //封面
  380. };
  381. },
  382. onLoad(option) {
  383. if (option.id) {
  384. this.id = option.id;
  385. this.helpDetail();
  386. }
  387. if (option.status) {
  388. this.status = option.status;
  389. this.disabled = true;
  390. }
  391. this.getHelpIfy()
  392. },
  393. onUnload() {
  394. uni.navigateTo({
  395. url: '/pages/applyHelp/cation'
  396. });
  397. },
  398. methods: {
  399. changehpleType(e) {
  400. this.hpleType = this.hpleTypeList[e.detail.value]
  401. this.hpleTypeid = this.hpleTypeFullList[e.detail.value].id
  402. },
  403. getHelpIfy() {
  404. getHelpIfy().then(({
  405. data
  406. }) => {
  407. this.hpleTypeFullList = data
  408. data.forEach(item => {
  409. this.hpleTypeList.push(item.name)
  410. })
  411. })
  412. },
  413. // 选择政治面貌
  414. changeChecked(e) {
  415. console.log(e)
  416. this.checked = this.checkedList[e.detail.value]
  417. },
  418. // 选择单位性质
  419. changeCheckedt(e) {
  420. console.log(e)
  421. this.checked1 = this.checkedtList[e.detail.value]
  422. },
  423. // 选择身份
  424. changeidentity(e) {
  425. console.log(e)
  426. this.identity = this.identityList[e.detail.value]
  427. },
  428. // 选择婚姻状态
  429. changeMarital(e) {
  430. this.marital = this.maritalList[e.detail.value]
  431. },
  432. // 选择是否医保
  433. changeInsurance(e) {
  434. this.insurance = this.insuranceList[e.detail.value]
  435. },
  436. // 选择对象特征
  437. changeCharacteristics(e) {
  438. this.characteristics = this.characteristicsList[e.detail.value]
  439. },
  440. changeSex(e) {
  441. this.sex = this.sexList[e.detail.value]
  442. },
  443. // 制困原因选择限制
  444. checkMaleLikes(e) {
  445. let arr = e.detail.value
  446. let len = arr.length
  447. let obj = this
  448. console.log(e)
  449. if (len <= 3) {
  450. obj.maleLike = e.detail.value.join(',');
  451. this.maleLikeListt = e.detail.value
  452. } else {
  453. obj.$api.msg('最多选择三个')
  454. // let arr2 = e.detail.value.slice(0, 3)
  455. // console.log(arr2, 'arr2')
  456. obj.maleLike = this.maleLikeListt.join(',');
  457. }
  458. for (let i = 0; i < obj.maleLikeList.length; i++) {
  459. if (obj.maleLike.indexOf(obj.maleLikeList[i].name) != -1) {
  460. obj.maleLikeList[i].cheched = true;
  461. } else {
  462. obj.maleLikeList[i].cheched = false;
  463. }
  464. }
  465. console.log(obj.maleLike, 'obj.maleLike++++++++')
  466. obj.reload()
  467. },
  468. // 表单刷新
  469. reload() {
  470. this.ready = false
  471. this.$nextTick(function() {
  472. this.ready = true
  473. })
  474. },
  475. //增加家庭成员
  476. addlist(index) {
  477. let obj = this
  478. let addobj = {
  479. full_name: "", //姓名
  480. relation: '', //关系
  481. id_card: '', //身份证
  482. work_unit: '', //单位
  483. healthy: '', //健康状态
  484. monthly_income: "", //月收入
  485. }
  486. obj.datalist.push(addobj)
  487. },
  488. // 删除成员
  489. dellist(index) {
  490. this.datalist.splice(index, 1)
  491. },
  492. //多张上传图片
  493. scImg() {
  494. let obj = this;
  495. upload({
  496. file: ''
  497. })
  498. .then(e => {
  499. obj.imgList = [...obj.imgList, ...e];
  500. console.log(obj.imgList, 'imgList')
  501. obj.imgCount = 6 - obj.imgList.length;
  502. })
  503. .catch(e => {});
  504. },
  505. // 上传封面
  506. scImgt() {
  507. let obj = this;
  508. upload({
  509. file: ''
  510. })
  511. .then(e => {
  512. console.log(e)
  513. obj.userimage = e[0].url
  514. console.log(obj.userimage, e.url, 'obj.userimage')
  515. })
  516. .catch(e => {});
  517. },
  518. //点击图片显示大图
  519. imgInfo(i) {
  520. let tempList = [];
  521. this.imgList.forEach(e => {
  522. tempList.push(e.url);
  523. });
  524. //显示图片
  525. uni.previewImage({
  526. current: i,
  527. loop: false,
  528. urls: tempList,
  529. indicator: 'default'
  530. });
  531. },
  532. // 删除图片
  533. delImg(i) {
  534. uni.showModal({
  535. content: '确定删除这张吗',
  536. success: res => {
  537. if (res.confirm) {
  538. this.imgList.splice(i, 1);
  539. this.imgCount++;
  540. } else if (res.cancel) {}
  541. }
  542. });
  543. },
  544. delImgt() {
  545. uni.showModal({
  546. content: '确定删除这张吗',
  547. success: res => {
  548. if (res.confirm) {
  549. this.userimage = '';
  550. } else if (res.cancel) {}
  551. }
  552. });
  553. },
  554. // 显示日期选择器
  555. selectDatePicker(type, index) {
  556. this.type = type;
  557. this.index = index;
  558. this.$refs['date-time'].show();
  559. },
  560. dateTimeChange(value) {
  561. this.birthday = value;
  562. console.log(value)
  563. },
  564. // 选中城市切换
  565. onCityClick(res) {
  566. let obj = this;
  567. let province = res.data[0];
  568. let city = res.data[1];
  569. let district = res.data[2];
  570. obj.address = province + city + district;
  571. console.log(obj.address, '城市');
  572. },
  573. // 提交申请
  574. apply() {
  575. let obj = this
  576. if (obj.hpleTypeid == '') {
  577. return obj.$api.msg('请选择帮扶类型')
  578. }
  579. if (obj.full_name == '') {
  580. return obj.$api.msg('请输入姓名')
  581. }
  582. if (obj.phone == '') {
  583. return obj.$api.msg('请输入联系方式')
  584. }
  585. if (obj.id_card == '') {
  586. return obj.$api.msg('请输入身份证')
  587. }
  588. if (obj.title == '') {
  589. return obj.$api.msg('请输入申请标题')
  590. }
  591. if (obj.info == '') {
  592. return obj.$api.msg('请输入申请简介')
  593. }
  594. if (obj.sex == '') {
  595. return obj.$api.msg('请选择您的性别')
  596. }
  597. // if (obj.politics == '') {
  598. // return obj.$api.msg('请选择您的政治面貌')
  599. // }
  600. if (obj.birthday == '') {
  601. return obj.$api.msg('请选择您的出生日期')
  602. }
  603. if (obj.address == '') {
  604. return obj.$api.msg('请填写您的详细地址')
  605. }
  606. if (obj.company == '') {
  607. return obj.$api.msg('请填写您的工作单位')
  608. }
  609. if (obj.unit_nature == '') {
  610. return obj.$api.msg('请填写您的单位性质')
  611. }
  612. if (obj.yue == '') {
  613. return obj.$api.msg('请填写您的月收入')
  614. }
  615. if (obj.nian == '') {
  616. return obj.$api.msg('请填写您的家庭年收入')
  617. }
  618. if (obj.all == '') {
  619. return obj.$api.msg('请填写您的家庭年人均收入')
  620. }
  621. if (obj.identity == '') {
  622. return obj.$api.msg('请填写您的身份')
  623. }
  624. if (obj.marital == '') {
  625. return obj.$api.msg('请选择您的婚姻状况')
  626. }
  627. if (obj.insurance == '') {
  628. return obj.$api.msg('请选择您的医保情况')
  629. }
  630. if (obj.characteristics == '') {
  631. return obj.$api.msg('请选择您的对象特征')
  632. }
  633. if (obj.maleLike == '') {
  634. return obj.$api.msg('请选择您的制困原因')
  635. }
  636. let ok = 0
  637. for (let i = 0; i < obj.datalist.length; i++) {
  638. if (obj.datalist[i].full_name != '' && obj.datalist[i].relation != '' && obj.datalist[i].id_card != '' &&
  639. obj.datalist[i].work_unit != '' && obj.datalist[i].healthy != '' && obj.datalist[i].monthly_income != '') {
  640. ok = 1;
  641. }else {
  642. ok = 0
  643. }
  644. }
  645. if(ok == 0) {
  646. return obj.$api.msg('请请填写完整的家庭成员信息')
  647. }
  648. apply({
  649. category_id: obj.hpleTypeid, //帮扶类型
  650. full_name: obj.full_name,
  651. contact: obj.phone,
  652. id_card: obj.id_card,
  653. title: obj.title,
  654. info: obj.info,
  655. sex: obj.sex == '男' ? '0' : '1',
  656. politics: obj.checkedList.indexOf(obj.checked) + '',
  657. birthday: obj.birthday,
  658. address: obj.address,
  659. company: obj.work,
  660. unit_nature: obj.checked1,
  661. monthly_income: obj.yue, //本人月收入
  662. annual_household_income: obj.nian, //家庭年收入
  663. annual_household_income_average: obj.all, //家庭年人均收入
  664. identity: obj.identity, //身份
  665. marriage: obj.maritalList.indexOf(obj.marital), //婚姻状况:0=未婚,1=已婚
  666. medical_insurance: obj.insuranceList.indexOf(obj.insurance), //是否医保:0=否,1=是
  667. object_features: obj.characteristics, //对象特征
  668. reason: obj.maleLike, // 制困原因
  669. family: obj.datalist //家庭成员
  670. }).then(({
  671. data
  672. }) => {
  673. console.log(data)
  674. uni.showToast({
  675. title: '提交成功',
  676. duration: 2000
  677. });
  678. setTimeout(function(){
  679. uni.navigateTo({
  680. url:'/pages/applyHelp/cation'
  681. })
  682. }, 2000);
  683. })
  684. },
  685. //申请详情
  686. helpDetail() {
  687. let obj = this;
  688. helpdetail({
  689. id: obj.id
  690. }).then(({
  691. data
  692. }) => {
  693. obj.name = data.name;
  694. obj.sex = data.sex;
  695. obj.card = data.card;
  696. obj.phone = data.phone;
  697. obj.work = data.work;
  698. obj.birthday = data.birthday;
  699. obj.age = data.age;
  700. console.log(data.address)
  701. let addressDateil = data.address.split(',');
  702. console.log(addressDateil)
  703. obj.address = addressDateil[0];
  704. obj.addr = addressDateil[1];
  705. obj.checked = data.politic;
  706. if (obj.checked == '团员') {
  707. obj.current = 0;
  708. }
  709. if (obj.checked == '预备党员') {
  710. obj.current = 1;
  711. }
  712. if (obj.checked == '党员') {
  713. obj.current = 2;
  714. }
  715. if (obj.checked == '群众') {
  716. obj.current = 3;
  717. }
  718. obj.checked1 = data.properties;
  719. if (obj.checked1 == '国有企业') {
  720. obj.current1 = 0;
  721. }
  722. if (obj.checked1 == '私营企业') {
  723. obj.current1 = 1;
  724. }
  725. if (obj.checked1 == '外资企业') {
  726. obj.current1 = 2;
  727. }
  728. if (obj.checked1 == '事业单位') {
  729. obj.current1 = 3;
  730. }
  731. if (obj.checked1 == '个位经营') {
  732. obj.current1 = 4;
  733. }
  734. if (obj.checked1 == '无') {
  735. obj.current1 = 5;
  736. }
  737. })
  738. .catch(err => {
  739. console.log(err);
  740. });
  741. },
  742. navTo(url) {
  743. uni.navigateTo({
  744. url
  745. });
  746. }
  747. }
  748. };
  749. </script>
  750. <style lang="scss">
  751. page {
  752. background: $page-color-base;
  753. min-height: 100%;
  754. }
  755. .cantent {
  756. padding-bottom: 110rpx;
  757. }
  758. .tip {
  759. color: #DE2412;
  760. background-color: #FEE2E3;
  761. font-size: 24rpx;
  762. padding: 25rpx 35rpx;
  763. }
  764. .til-list {
  765. padding: 35rpx 50rpx;
  766. font-size: 28rpx;
  767. color: #666666;
  768. .red {
  769. color: #E62129 !important;
  770. }
  771. }
  772. .name {
  773. padding: 0rpx 35rpx;
  774. padding-bottom: 15rpx !important;
  775. font-size: 36rpx;
  776. font-weight: 500;
  777. }
  778. .content_box {
  779. background-color: #ffffff;
  780. padding: 0rpx 25rpx;
  781. .list-name {
  782. padding-top: 25rpx;
  783. font-size: 35rpx;
  784. padding-left: 15rpx;
  785. padding-bottom: 10rpx;
  786. }
  787. .examine_list {
  788. width: 100%;
  789. .textarea-box {
  790. width: 100%;
  791. padding-bottom: 25rpx;
  792. padding-left: 25rpx;
  793. .textarea {
  794. width: 100%;
  795. font-size: 28rpx;
  796. min-height: 150rpx;
  797. }
  798. input {
  799. font-size: 28rpx;
  800. }
  801. }
  802. }
  803. }
  804. .radio-list {
  805. display: flex;
  806. flex-wrap: wrap;
  807. font-size: 28rpx;
  808. padding-top: 30rpx;
  809. .uni-label-pointer {
  810. padding-right: 25rpx;
  811. padding-bottom: 30rpx;
  812. }
  813. }
  814. .mar-b {
  815. margin-bottom: 120rpx;
  816. }
  817. .row {
  818. display: flex;
  819. align-items: center;
  820. // position: relative;
  821. padding: 0 30rpx;
  822. height: 110rpx;
  823. background: #fff;
  824. border-bottom: 1rpx solid #f8f6f6;
  825. .tit {
  826. flex-shrink: 0;
  827. width: 180rpx;
  828. font-size: 30rpx;
  829. color: $font-color-dark;
  830. }
  831. .value {
  832. width: 100%;
  833. text-align: right;
  834. }
  835. .input {
  836. flex: 1;
  837. font-size: 30rpx;
  838. color: $font-color-dark;
  839. text-align: right;
  840. }
  841. .iconlocation {
  842. font-size: 36rpx;
  843. color: $font-color-light;
  844. }
  845. }
  846. .examine_name {
  847. color: #171717;
  848. font-size: 28rpx;
  849. padding: 25rpx 25rpx;
  850. }
  851. .examine_img {
  852. width: 100%;
  853. text-align: center;
  854. .image {
  855. width: 150rpx;
  856. height: 150rpx;
  857. }
  858. .image1 {
  859. min-width: 150rpx;
  860. max-width: 100%;
  861. min-height: 150rpx;
  862. }
  863. }
  864. .add-img-box {
  865. width: 100%;
  866. flex-direction: row;
  867. flex-wrap: wrap;
  868. margin-top: 50rpx;
  869. }
  870. .add-img-item {
  871. margin-bottom: 25rpx;
  872. width: 100%;
  873. .add-img {
  874. min-width: 150rpx;
  875. max-width: 100%;
  876. height: 400rpx;
  877. }
  878. }
  879. .add-img-del {
  880. position: absolute;
  881. width: 40rpx;
  882. height: 40rpx;
  883. right: 60rpx;
  884. // bottom: 155rpx;
  885. //background-color: rgba(238, 0, 0, 1);
  886. border-radius: 20rpx;
  887. }
  888. .default-row {
  889. margin-top: 16rpx;
  890. .tit {
  891. flex: 1;
  892. }
  893. switch {
  894. transform: translateX(16rpx) scale(0.9);
  895. }
  896. }
  897. .add-btn {
  898. // position: fixed;
  899. // bottom: 0rpx;
  900. // left: 0rpx;
  901. width: 600rpx;
  902. border-radius: 50rpx;
  903. margin: auto;
  904. height: 100rpx;
  905. font-size: 28rpx;
  906. color: #FFFFFF;
  907. background-color: #FF727E;
  908. line-height: 100rpx;
  909. text-align: center;
  910. }
  911. .img_box {
  912. padding: 35rpx 35rpx;
  913. width: 250rpx;
  914. height: 250rpx;
  915. }
  916. .img_box image {
  917. width: 100%;
  918. height: 100%;
  919. }
  920. .alert-box {
  921. background-color: #ffffff;
  922. }
  923. .b-b:after {
  924. position: relative !important;
  925. }
  926. .check_box {
  927. padding: 25rpx 25rpx;
  928. font-size: 20rpx;
  929. padding-bottom: 150rpx;
  930. text {
  931. color: #6786FB;
  932. }
  933. }
  934. .tit-tip {
  935. color: #ff727e;
  936. font-size: 36rpx;
  937. padding: 10rpx 0 10rpx 20rpx;
  938. }
  939. .checkbox {
  940. display: inline-block;
  941. font-size: 24rpx;
  942. font-family: PingFang SC;
  943. font-weight: 500;
  944. color: #191919;
  945. padding-right: 30rpx;
  946. padding-bottom: 10rpx;
  947. }
  948. .item-list {
  949. padding: 25rpx 45rpx;
  950. color: rgba(34, 34, 34, 1);
  951. font-weight: 400;
  952. font-size: 35rpx;
  953. display: flex;
  954. justify-content: space-between;
  955. background-color: #fff;
  956. .list-name {}
  957. .add-tip {
  958. color: #E62129 !important;
  959. }
  960. }
  961. .add-img-item {
  962. margin-bottom: 25rpx;
  963. width: 33.33%;
  964. position: relative;
  965. .add-img {
  966. padding: 0rpx 10rpx;
  967. width: 100%;
  968. height: 214rpx;
  969. }
  970. }
  971. </style>