123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550 |
- <template>
- <view class="content">
- <view class="flex til-list" v-if="status == ''">
- <view class="" @click="navTo('/pages/applyHelp/index?id='+id)">基本信息</view>
- <view class="red">信息选择</view>
- <view class="" @click="navTo('/pages/applyHelp/third?id='+id)">家庭成员情况</view>
- <view class="" @click="navTo('/pages/applyHelp/fourth?id='+id)">详细情况</view>
- </view>
- <view class="flex til-list" v-if="status == 2">
- <view class="" @click="navTo('/pages/applyHelp/index?id='+id+'&status=2')">基本信息</view>
- <view class="red">信息选择</view>
- <view class="" @click="navTo('/pages/applyHelp/third?id='+id+'&status=2')">家庭成员情况</view>
- <view class="" @click="navTo('/pages/applyHelp/fourth?id='+id+'&status=2')">详细情况</view>
- </view>
- <view class="content_box">
- <view class="list-name">身份</view>
- <view class="uni-list">
- <radio-group @change="radioChange1">
- <view class="radio-list flex_item">
- <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in identity" :key="item.name">
- <view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current1" /></view>
- <view>{{item.name}}</view>
- </label>
- </view>
- </radio-group>
- </view>
- </view>
- <view class="content_box">
- <view class="list-name">婚姻状况</view>
- <view class="uni-list">
- <radio-group @change="radioChange2">
- <view class="radio-list flex_item">
- <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in marital" :key="item.name">
- <view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current2" /></view>
- <view>{{item.name}}</view>
- </label>
- </view>
- </radio-group>
- </view>
- </view>
- <view class="content_box">
- <view class="list-name">是否医保</view>
- <view class="uni-list">
- <radio-group @change="radioChange3">
- <view class="radio-list flex_item">
- <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in insurance" :key="item.name">
- <view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current3" /></view>
- <view>{{item.name}}</view>
- </label>
- </view>
- </radio-group>
- </view>
- </view>
- <view class="content_box">
- <view class="list-name">对象特征</view>
- <view class="uni-list">
- <radio-group @change="radioChange4">
- <view class="radio-list flex_item">
- <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in characteristics" :key="item.name">
- <view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current4" /></view>
- <view>{{item.name}}</view>
- </label>
- </view>
- </radio-group>
- </view>
- </view>
- <view class="content_box">
- <view class="list-name">致困原因(最多选三项)</view>
- <view class="uni-list">
- <checkbox-group @change="checkboxChange">
- <view class="radio-list flex_item">
- <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="item in maleLike" :key="item.name">
- <view>
- <checkbox :disabled="disabled" :value="item.name" style="transform:scale(0.7)" color='#FF727E' :checked="item.checked" />
- </view>
- <view>{{item.name}}</view>
- </label>
- </view>
- </checkbox-group>
- </view>
- </view>
- <view class="add-btn" v-if="status == ''" @click="confirm">下一步</view>
- <view class="add-btn" v-if="status == 2" @click="Tosecond">下一步</view>
- </view>
- </template>
- <script>
- import uniList from '@/components/uni-list/uni-list.vue';
- import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
- import LbPicker from '@/components/lb-picker/index.vue'
- import { upload,add_two_help } from '@/api/index.js';
- import { getList,helpdetail } from '@/api/applyHelp.js';
- export default {
- components: {
- uniList,
- uniListItem,
- LbPicker
- },
- data() {
- return {
- identity:[{//身份
- value: '1',
- name: '居民'
- },{
- value: '2',
- name: '村民'
- },{
- value: '3',
- name: '农民工'
- },{
- value: '4',
- name: '在岗'
- },{
- value: '5',
- name: '下岗'
- },{
- value: '6',
- name: '离退休'
- },{
- value: '7',
- name: '病退病休'
- }],
- current1: '',
- checked:'',
-
- marital:[{//婚姻状况
- value: '1',
- name: '已婚'
- },{
- value: '2',
- name: '未婚'
- },{
- value: '3',
- name: '离异'
- },{
- value: '4',
- name: '丧偶'
- }],
- current2: '',
- checked2:'',
-
- insurance:[{//医保
- value: '1',
- name: '是'
- },{
- value: '2',
- name: '否'
- }],
- current3: '',
- checked3:'',
-
- characteristics:[{//对象特征
- value: '1',
- name: '低保对象'
- },{
- value: '2',
- name: '重度残疾'
- },{
- value: '3',
- name: '低保边缘对象'
- },{
- value: '4',
- name: '孤儿、孤寡老人'
- },{
- value: '5',
- name: '因灾、因病致穷家庭'
- },{
- value: '6',
- name: '其它'
- }],
- current4:'',
- checked4:'',
-
- maleLike:[{//致困原因(最多选三项)
- value: '1',
- name: '意外灾害'
- },{
- value: '2',
- name: '本人大病'
- },{
- value: '3',
- name: '子女上学'
- },{
- value: '4',
- name: '收入低无法维持基本生活'
- },{
- value: '5',
- name: '残疾'
- },{
- value: '6',
- name: '供养直系亲属大病'
- },{
- value: '7',
- name: '下岗失业',
- },{
- value: '8',
- name: '其它'
- }],
- currentArr: [], // 当前用户想要的选项,最大为5
- hasPass: false, // 用户之前是否选择过,是为true
- oldArr: [], // 上一次的返回值
-
- status:'',//审核通过
- disabled:false,
- };
- },
- onLoad(option) {
- if(option.id){
- this.id = option.id;
- this.helpDetail();
- }
- if(option.status){
- this.status = option.status;
- this.disabled = true;
- }
- },
- onUnload() {
- uni.navigateTo({
- url: '/pages/applyHelp/cation'
- });
- },
- methods: {
- //申请详情
- helpDetail(){
- let obj = this;
- helpdetail({
- id:obj.id
- }).then(({ data }) => {
- obj.id = data.id;
- console.log(data)
- if(data.capacity){
- obj.checked = data.capacity;
- obj.type = 2;
- if(obj.checked == '居民'){
- obj.current1 = 0;
- }
- if(obj.checked == '村民'){
- obj.current1 = 1;
- }
- if(obj.checked == '农民工'){
- obj.current1 = 2;
- }
- if(obj.checked == '在岗'){
- obj.current1 = 3;
- }
- if(obj.checked == '下岗'){
- obj.current1 = 4;
- }
- if(obj.checked == '离退休'){
- obj.current1 = 5;
- }
- if(obj.checked == '病退病休'){
- obj.current1 = 6;
- }
- }
- if(data.matrimonial){
- obj.checked2 = data.matrimonial;
- if(obj.checked2 == '已婚'){
- obj.current2 = 0;
- }
- if(obj.checked2 == '未婚'){
- obj.current2 = 1;
- }
- if(obj.checked2 == '离异'){
- obj.current2 = 2;
- }
- if(obj.checked2 == '丧偶'){
- obj.current2 = 3;
- }
- }
- if(data.medical){
- obj.checked3 = data.medical;
- if(obj.checked3 == '是'){
- obj.current3 = 0;
- }
- if(obj.checked3 == '否'){
- obj.current3 = 1;
- }
- }
- if(data.aspect){
- obj.checked4 = data.aspect;
- if(obj.checked4 == '低保对象'){
- obj.current4 = 0;
- }
- if(obj.checked4 == '重度残疾'){
- obj.current4 = 1;
- }
- if(obj.checked4 == '低保边缘对象'){
- obj.current4 = 2;
- }
- if(obj.checked4 == '孤儿、孤寡老人'){
- obj.current4 = 3;
- }
- if(obj.checked4 == '因灾、因病致穷家庭'){
- obj.current4 = 4;
- }
- if(obj.checked4 == '其它'){
- obj.current4 = 5;
- }
- if(obj.checked4 == '病退病休'){
- obj.current4 = 6;
- }
- }
- if(data.poverty){
- let poverty = data.poverty.split(",");
- let values = poverty;
- let items = obj.maleLike;
- for (let i = 0, lenI = items.length; i < lenI; ++i) {
- let item = items[i]
- if(values.includes(item.name)){
- obj.$set(item,'checked',true)
- }else{
- obj.$set(item,'checked',false)
- }
- }
- obj.oldArr = values;
- }
- }).catch(err => {
- console.log(err);
- });
- },
- //提交
- confirm() {
- let obj = this;
- if(obj.oldArr == ''){
- this.$api.msg('请选择致困原因!');
- return;
- }
- if(obj.oldArr.length > 3){
- this.$api.msg('致困原因最多选三项!');
- return;
- }
- add_two_help({
- id:obj.id,
- capacity:obj.checked,
- matrimonial:obj.checked2,
- medical:obj.checked3,
- aspect:obj.checked4,
- poverty:obj.oldArr.toString(),
- }).then(function(e) {
- obj.$api.msg(e.msg);
- setTimeout(function(){
- uni.navigateTo({
- url:'/pages/applyHelp/third?id='+obj.id
- })
- }, 2000);
- })
- .catch(e => {
- obj.$api.msg(e.message);
- });
- },
- Tosecond(){
- uni.navigateTo({
- url:'/pages/applyHelp/third?id='+this.id+'&status=2'
- })
- },
- radioChange1(evt){
- this.checked = evt.detail.value;
- console.log(this.checked)
- },
- radioChange2(evt){
- this.checked2 = evt.detail.value;
- console.log(this.checked2)
- },
- radioChange3(evt){
- this.checked3 = evt.detail.value;
- console.log(this.checked3)
- },
- radioChange4(evt){
- this.checked4 = evt.detail.value;
- console.log(this.checked4)
- },
- checkboxChange: function (e) {
- if (e.detail.value.length > 3) { // 如果选择的个数超过3个
- if (!this.hasPass) { // 当用户选择数量是第一次超过3
- this.hasPass = true
- if (e.detail.value.length > this.oldArr.length) { // 如果当前选择总数大于上一次选择总数(用户没有取消过选择)
- this.currentArr = e.detail.value.slice(0, 3)
- uni.showToast({
- title: '最多3个',
- icon: 'none'
- })
- } else { // 如果当前选择总数小于上一次选择总数(用户取消部分选择)
- let arr = []
- for (var i = 0; i < this.currentArr.length; i++) {
- for (var j = 0; j < 3; j++) {
- if (this.currentArr[i] === e.detail.value[j]) {
- arr.push(this.currentArr[i])
- } else {
- continue
- }
- }
- }
- this.currentArr = arr
- }
- } else { // 当用户选择数量不是第一次超过3(这时候change事件的返回值里有不一定是用户想要的值,所以需要做判断)
- if (e.detail.value.length > this.oldArr.length) { // 用户又增加了选项
- let n = e.detail.value.length
- if (this.currentArr.length < 3) {
- this.currentArr.push(e.detail.value[n - 1])
- } else {
- uni.showToast({
- title: '最多3个',
- icon: 'none'
- })
- }
- } else { // 用户取消了部分选项
- let arr = []
- for (var i = 0; i < this.currentArr.length; i++) {
- let n = e.detail.value.indexOf(this.currentArr[i])
- if (n !== -1) {
- arr.push(this.currentArr[i])
- } else {
- continue
- }
- }
- this.currentArr = arr
- }
- }
- } else { // 如果选择的个数小于等于3
- if (this.hasPass) { // 不是第一次小于3,即之前多选过,后来又取消选择
- if (e.detail.value.length < this.oldArr.length) { // 用户取消了部分选择
- let arr = []
- for (var i = 0; i < this.currentArr.length; i++) {
- let n = e.detail.value.indexOf(this.currentArr[i])
- if (n !== -1) {
- arr.push(this.currentArr[i])
- } else {
- continue
- }
- }
- this.currentArr = arr
- } else { // 用户增加选择,增加的新选项在数组最后
- let n = e.detail.value.length
- this.currentArr.push(e.detail.value[n - 1])
- }
- } else { // 是第一次小于3,这个最简单了,直接选了什么就给什么
- this.currentArr = e.detail.value
- }
-
- if (e.detail.value.length === 0) { // 如果用户取消了全部选择,让hasPass为false,即下一次再选时就会判断为第一次选择
- this.hasPass = false
- }
- }
- for (var i = 0, lenI = this.maleLike.length; i < lenI; ++i) { // 给用户的选项添加样式
- this.maleLike[i].isChecked = false;
- for (var j = 0, lenJ = this.currentArr.length; j < lenJ; ++j) {
- if (String(this.maleLike[i].value) === String(this.currentArr[j])) {
- this.maleLike[i].isChecked = true
- break
- }
- }
- }
- this.oldArr = e.detail.value // 把当前返回值赋值给上一次的返回值
- console.log(this.oldArr,88)
- },
- navTo(url) {
- uni.navigateTo({
- url
- });
- }
- }
- };
- </script>
- <style lang="scss">
- page {
- background: $page-color-base;
- min-height: 100%;
- }
- .content{
- padding-bottom: 100rpx;
- }
- .tip{
- color: #DE2412;
- background-color: #FEE2E3;
- font-size: 24rpx;
- padding: 25rpx 35rpx;
- }
- .til-list{
- padding: 35rpx 50rpx;
- font-size: 28rpx;
- color: #666666;
- .red{
- color: #E62129 !important;
- }
- }
- .content_box {
- background-color: #ffffff;
- padding: 0rpx 25rpx;
- margin: 25rpx auto;
- .list-name{
- padding-top: 25rpx;
- font-size: 35rpx;
- padding-left: 15rpx;
- padding-bottom: 10rpx;
- }
- }
- .row {
- display: flex;
- align-items: center;
- // position: relative;
- padding: 0 30rpx;
- height: 110rpx;
- background: #fff;
- border-bottom: 1rpx solid #f8f6f6;
- .tit {
- flex-shrink: 0;
- width: 180rpx;
- font-size: 30rpx;
- color: $font-color-dark;
- }
- .value{
- width: 100%;
- text-align: right;
- }
- .input {
- flex: 1;
- font-size: 30rpx;
- color: $font-color-dark;
- text-align: right;
- }
- .iconlocation {
- font-size: 36rpx;
- color: $font-color-light;
- }
- }
- .radio-list{
- display: flex;
- flex-wrap: wrap;
- font-size: 28rpx;
- padding-top: 30rpx;
- .uni-label-pointer{
- padding-right: 25rpx;
- padding-bottom: 30rpx;
- }
- }
- .add-btn{
- position: fixed;
- bottom: 0rpx;
- left: 0rpx;
- width: 100%;
- height: 100rpx;
- font-size: 28rpx;
- color: #FFFFFF;
- background-color: #FF727E;
- line-height: 100rpx;
- text-align: center;
- }
- </style>
|