fixed: 36版本
1.小程序登录的时候如果手机号或者账号错误的时候,没提示 2.小程序在个人中心编辑的时候,不能保存
Showing
6 changed files
with
410 additions
and
274 deletions
| ... | @@ -10,7 +10,15 @@ export function active(data) { | ... | @@ -10,7 +10,15 @@ export function active(data) { |
| 10 | method: 'post', | 10 | method: 'post', |
| 11 | params: data | 11 | params: data |
| 12 | }) | 12 | }) |
| 13 | } | ||
| 14 | export function commitPaymentVoucherYJ(data) { | ||
| 15 | return request({ | ||
| 16 | url: '/person/paymentDocYj/commitPaymentVoucher', | ||
| 17 | method: 'post', | ||
| 18 | params: data | ||
| 19 | }) | ||
| 13 | } | 20 | } |
| 21 | |||
| 14 | export function editMyMemberCertifiedInfo(data) { | 22 | export function editMyMemberCertifiedInfo(data) { |
| 15 | return request({ | 23 | return request({ |
| 16 | url: '/system/dept/editMyMemberCertifiedInfo', | 24 | url: '/system/dept/editMyMemberCertifiedInfo', | ... | ... |
| ... | @@ -70,7 +70,11 @@ function loginByPhone(phonenumber, code) { | ... | @@ -70,7 +70,11 @@ function loginByPhone(phonenumber, code) { |
| 70 | url: '/userLoginByPhone', | 70 | url: '/userLoginByPhone', |
| 71 | method: 'post', | 71 | method: 'post', |
| 72 | params: data | 72 | params: data |
| 73 | }).then((res) => { | 73 | }).then((res) => { |
| 74 | uni.showToast({ | ||
| 75 | title: res.msg, | ||
| 76 | icon: 'none' | ||
| 77 | }) | ||
| 74 | uni.setStorageSync('token', 'Bearer ' + res.data.token) | 78 | uni.setStorageSync('token', 'Bearer ' + res.data.token) |
| 75 | }).then(getInfo) | 79 | }).then(getInfo) |
| 76 | } | 80 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <view class="text-center whitebg" v-if="userType=='2'"> | 3 | <view class="text-center whitebg" v-if="userType=='2'"> |
| 4 | <view class="cardNav"> | 4 | <view class="cardNav"> |
| 5 | <view class="active">审核</view> | 5 | <view class="active">审核</view> |
| 6 | <view @click="goMerge">合并</view> | 6 | <view @click="goMerge">合并</view> |
| 7 | <view @click="goMergeUp">提交</view> | 7 | <view @click="goMergeUp">提交</view> |
| 8 | </view> | 8 | </view> |
| 9 | </view> | 9 | </view> |
| 10 | <!-- 团队会员审核 --> | 10 | <!-- 团队会员审核 --> |
| 11 | <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" | 11 | <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" |
| 12 | styleType="text" activeColor="#AD181F"></uni-segmented-control> | 12 | styleType="text" activeColor="#AD181F"></uni-segmented-control> |
| 13 | <view class="appList"> | 13 | <view class="appList"> |
| 14 | <view class="vipData" v-if="userType == '1'" v-show="totalCost>0"> | 14 | <view class="vipData" v-if="userType == '1'" v-show="totalCost>0"> |
| 15 | <view>费用合计: | 15 | <view>费用合计: |
| 16 | <text>¥{{ totalCost.toFixed(2) }}</text> | 16 | <text>¥{{ totalCost.toFixed(2) }}</text> |
| 17 | </view> | 17 | </view> |
| 18 | </view> | 18 | </view> |
| 19 | 19 | ||
| 20 | <view class="appItem" v-for="(item,index) in list" :key="index"> | 20 | <view class="appItem" v-for="(item,index) in list" :key="index"> |
| 21 | <view class="status" @click="goDetail(item)"> | 21 | <view class="status" @click="goDetail(item)"> |
| 22 | <text v-if="item.auditStatus == 0" class="text-primary">审核中</text> | 22 | <text v-if="item.auditStatus == 0" class="text-primary">审核中</text> |
| 23 | <text v-if="item.auditStatus == 1" class="text-success">审核通过</text> | 23 | <text v-if="item.auditStatus == 1" class="text-success">审核通过</text> |
| 24 | <text v-if="item.auditStatus == 2" class="text-danger">审核拒绝</text> | 24 | <text v-if="item.auditStatus == 2" class="text-danger">审核拒绝</text> |
| 25 | <text v-if="item.auditStatus == 3" class="text-warning">审核撤回</text> | 25 | <text v-if="item.auditStatus == 3" class="text-warning">审核撤回</text> |
| 26 | </view> | 26 | </view> |
| 27 | <view class="date"> | 27 | <view class="date"> |
| 28 | <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons> | 28 | <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons> |
| 29 | {{item.content.commitTime}} 提交</view> | 29 | {{item.content.commitTime}} 提交 |
| 30 | <view class="text-primary" @click="goDetail(item)" v-if="item.content?.wfCode">{{item.content?.wfCode}}</view> | 30 | </view> |
| 31 | <view class="name w100 mt0" @click="goDetail(item)"> | 31 | <view class="text-primary" @click="goDetail(item)" v-if="item.content?.wfCode">{{item.content?.wfCode}} |
| 32 | <!-- <text class="dot"></text> --> | 32 | </view> |
| 33 | {{item.content.certName}}</view> | 33 | <view class="name w100 mt0" @click="goDetail(item)"> |
| 34 | <view class="flexbox" @click="goDetail(item)"> | 34 | <!-- <text class="dot"></text> --> |
| 35 | <view v-if="userType == '3'"> | 35 | {{item.content.certName}} |
| 36 | 所属省份 | 36 | </view> |
| 37 | <view>{{item.content.province}}</view> | 37 | <view class="flexbox" @click="goDetail(item)"> |
| 38 | </view> | 38 | <view v-if="userType == '3'"> |
| 39 | <view v-if="userType == '2'"> | 39 | 所属省份 |
| 40 | 所属一级 | 40 | <view>{{item.content.province}}</view> |
| 41 | <view>{{item.content.firstDeptName}}</view> | 41 | </view> |
| 42 | </view> | 42 | <view v-if="userType == '2'"> |
| 43 | <view v-if="userType == '2'"> | 43 | 所属一级 |
| 44 | 所属二级 | 44 | <view>{{item.content.firstDeptName}}</view> |
| 45 | <view>{{item.content.secondDeptName}}</view> | 45 | </view> |
| 46 | </view> | 46 | <view v-if="userType == '2'"> |
| 47 | <view> | 47 | 所属二级 |
| 48 | 年限 | 48 | <view>{{item.content.secondDeptName}}</view> |
| 49 | <view>{{item.content.renewYear}}</view> | 49 | </view> |
| 50 | </view> | ||
| 51 | <view v-if="deptType == 1"> | ||
| 52 | 会员/新会员 | ||
| 53 | <view>{{item.content.allCount}}/<text class="text-danger">{{item.content.newCount}}</text> | ||
| 54 | </view> | ||
| 55 | </view> | ||
| 56 | <view v-if="deptType == 1"> | ||
| 57 | 费用合计 | ||
| 58 | <view> ¥{{ (item?.content?.allFee*1).toFixed(2) }}</view> | ||
| 59 | </view> | ||
| 60 | </view> | ||
| 61 | <view class="func" v-if="(userType == '1'&&item.auditStatus == 0)"> | ||
| 62 | <button @click="audit(item.recordId,'0')">拒绝</button> | ||
| 63 | <button @click="audit(item.recordId,'1')">同意</button> | ||
| 64 | </view> | ||
| 65 | <!-- 中跆协 --> | ||
| 66 | <view class="func" v-if="(userType == '1'&&item.auditStatus == 1&&item.canTui==1)"> | ||
| 67 | <button @click="sendBack(item)">撤回</button> | ||
| 68 | </view> | ||
| 69 | <!-- 市 --> | ||
| 70 | <view class="func" v-if="userType == '3'"> | ||
| 71 | <button @click="goGroupInfo(item)">机构资料</button> | ||
| 72 | <button v-if="item.auditStatus == 1&&item.isView==1&&item.content.allCount > 0" @click="sendBack(item)">撤回</button> | ||
| 73 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button> | ||
| 74 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button> | ||
| 75 | |||
| 76 | </view> | ||
| 77 | <!-- 省 --> | ||
| 78 | <view class="func" v-if="userType == '2'"> | ||
| 79 | <button @click="goGroupInfo(item)">机构资料</button> | ||
| 80 | <button v-if="item.auditStatus == 1" @click="sendBack(item)">撤回</button> | ||
| 81 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button> | ||
| 82 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button> | ||
| 83 | </view> | ||
| 84 | </view> | ||
| 85 | </view> | ||
| 86 | 50 | ||
| 87 | <view class="nodata" v-if="list.length==0"> | 51 | <view v-if="deptType == 1"> |
| 88 | <image mode="aspectFit" src="/static/nodata.png"></image> | 52 | 会员/新会员/年限 |
| 89 | <text>暂无数据</text> | 53 | <view>{{item.content.allCount}}/<text |
| 90 | </view> | 54 | class="text-danger">{{item.content.newCount}}</text>/{{item.content.renewYear}} |
| 91 | <!-- <view v-if="userType=='2'" class="block-btn-box"> | 55 | </view> |
| 56 | </view> | ||
| 57 | <view v-else> | ||
| 58 | 年限 | ||
| 59 | <view>{{item.content.renewYear}}</view> | ||
| 60 | </view> | ||
| 61 | <view v-if="deptType == 1"> | ||
| 62 | 费用合计 | ||
| 63 | <view> ¥{{ (item?.content?.allFee*1).toFixed(2) }}</view> | ||
| 64 | </view> | ||
| 65 | <view v-if="deptType == 1" @click.stop="viewSettleFile(item.doc)"> | ||
| 66 | 缴费状态 | ||
| 67 | <view> | ||
| 68 | <text v-if="item.doc?.settleFlag==0" class="text-warning">已结算</text> | ||
| 69 | <text v-if="item.doc?.settleFlag==1&&item.doc.payFlag==0" class="text-success">已上传</text> | ||
| 70 | <text v-if="item.doc?.settleFlag==1&&item.doc.payFlag==1" class="text-danger">未上传</text> | ||
| 71 | </view> | ||
| 72 | </view> | ||
| 73 | </view> | ||
| 74 | <view class="func" v-if="(userType == '1'&&item.auditStatus == 0)"> | ||
| 75 | <button @click="audit(item.recordId,'0')">拒绝</button> | ||
| 76 | <button @click="audit(item.recordId,'1')">同意</button> | ||
| 77 | </view> | ||
| 78 | <!-- 中跆协 --> | ||
| 79 | <view class="func" v-if="(userType == '1'&&item.auditStatus == 1&&item.canTui==1)"> | ||
| 80 | <button @click="sendBack(item)">撤回</button> | ||
| 81 | </view> | ||
| 82 | <!-- 市 --> | ||
| 83 | <view class="func" v-if="userType == '3'"> | ||
| 84 | <button @click="goGroupInfo(item)">机构资料</button> | ||
| 85 | <button v-if="item.auditStatus == 1&&item.isView==1&&item.content.allCount > 0" | ||
| 86 | @click="sendBack(item)">撤回</button> | ||
| 87 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button> | ||
| 88 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button> | ||
| 89 | |||
| 90 | </view> | ||
| 91 | <!-- 省 --> | ||
| 92 | <view class="func" v-if="userType == '2'"> | ||
| 93 | <button @click="goGroupInfo(item)">机构资料</button> | ||
| 94 | <button v-if="item.auditStatus == 1" @click="sendBack(item)">撤回</button> | ||
| 95 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button> | ||
| 96 | <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button> | ||
| 97 | </view> | ||
| 98 | </view> | ||
| 99 | </view> | ||
| 100 | |||
| 101 | <view class="nodata" v-if="list.length==0"> | ||
| 102 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 103 | <text>暂无数据</text> | ||
| 104 | </view> | ||
| 105 | <!-- <view v-if="userType=='2'" class="block-btn-box"> | ||
| 92 | <button @click="goMerge" class="btn-red-kx">前往合并 > </button> | 106 | <button @click="goMerge" class="btn-red-kx">前往合并 > </button> |
| 93 | </view> --> | 107 | </view> --> |
| 94 | </view> | 108 | </view> |
| 95 | </template> | 109 | </template> |
| 96 | 110 | ||
| 97 | <script setup> | 111 | <script setup> |
| 98 | import * as api from '@/common/api.js' | 112 | import * as api from '@/common/api.js' |
| 99 | import config from '@/config.js' | 113 | import config from '@/config.js' |
| 100 | import { | 114 | import { |
| 101 | onMounted, | 115 | onMounted, |
| 102 | ref | 116 | ref |
| 103 | } from 'vue' | 117 | } from 'vue' |
| 104 | import { | 118 | import { |
| 105 | onLoad | 119 | onLoad |
| 106 | } from '@dcloudio/uni-app' | 120 | } from '@dcloudio/uni-app' |
| 107 | const app = getApp(); | 121 | const app = getApp(); |
| 108 | const queryParams = ref({ | 122 | const queryParams = ref({ |
| 109 | // pageNum: 1, | 123 | // pageNum: 1, |
| 110 | // pageSize: 10 | 124 | // pageSize: 10 |
| 111 | auditStatus: '0' | 125 | auditStatus: '0' |
| 112 | }) | 126 | }) |
| 113 | const navs = ref(['审核中', '审核通过', '审核拒绝', '撤回']) | 127 | const navs = ref(['审核中', '审核通过', '审核拒绝', '撤回']) |
| 114 | const current = ref() | 128 | const current = ref() |
| 115 | const list = ref([]) | 129 | const list = ref([]) |
| 116 | const total = ref(0) | 130 | const total = ref(0) |
| 117 | const deptType = ref('') | 131 | const deptType = ref('') |
| 118 | const userType = ref('') | 132 | const userType = ref('') |
| 119 | const totalCost = ref(0) | 133 | const totalCost = ref(0) |
| 120 | onLoad(() => { | 134 | onLoad(() => { |
| 121 | if (app.globalData.isLogin) { | 135 | if (app.globalData.isLogin) { |
| 122 | init() | 136 | init() |
| 123 | } else { | 137 | } else { |
| 124 | 138 | ||
| 125 | app.firstLoadCallback = () => { | 139 | app.firstLoadCallback = () => { |
| 126 | init() | 140 | init() |
| 127 | }; | 141 | }; |
| 128 | } | 142 | } |
| 129 | }) | 143 | }) |
| 130 | 144 | ||
| 131 | function init() { | 145 | function init() { |
| 132 | deptType.value = app.globalData.deptType | 146 | deptType.value = app.globalData.deptType |
| 133 | userType.value = app.globalData.userType | 147 | userType.value = app.globalData.userType |
| 134 | // console.log(userType.value) | 148 | // console.log(userType.value) |
| 135 | getList() | 149 | getList() |
| 136 | } | 150 | } |
| 137 | 151 | ||
| 138 | function onClickItem(e) { | 152 | function onClickItem(e) { |
| 139 | console.log(e) | 153 | console.log(e) |
| 140 | queryParams.value.auditStatus = e.currentIndex | 154 | queryParams.value.auditStatus = e.currentIndex |
| 141 | getList() | 155 | getList() |
| 142 | } | 156 | } |
| 143 | 157 | ||
| 144 | function getList() { | 158 | function getList() { |
| 145 | uni.showLoading({ | 159 | uni.showLoading({ |
| 146 | title: '加载中' | 160 | title: '加载中' |
| 147 | }) | 161 | }) |
| 148 | if (deptType.value == 2 || deptType.value == 3) { | 162 | if (deptType.value == 2 || deptType.value == 3) { |
| 149 | // 省 | 163 | // 省 |
| 150 | queryParams.value.mergeFlag = 0 | 164 | queryParams.value.mergeFlag = 0 |
| 151 | } else if (deptType.value == 1) { | 165 | } else if (deptType.value == 1) { |
| 152 | queryParams.value.noEmpty = 1 | 166 | queryParams.value.noEmpty = 1 |
| 153 | } else if (deptType.value == 4 || deptType.value == 5) { | 167 | } else if (deptType.value == 4 || deptType.value == 5) { |
| 154 | queryParams.value.noEmpty = 1 | 168 | queryParams.value.noEmpty = 1 |
| 155 | } | 169 | } |
| 156 | totalCost.value = 0 | 170 | totalCost.value = 0 |
| 157 | api.getGroupList(queryParams.value).then(res => { | 171 | api.getGroupList(queryParams.value).then(res => { |
| 158 | uni.hideLoading() | 172 | uni.hideLoading() |
| 159 | list.value = res.rows | 173 | list.value = res.rows |
| 160 | list.value.forEach(item => { | 174 | list.value.forEach(item => { |
| 161 | item.content = JSON.parse(item.content) | 175 | item.content = JSON.parse(item.content) |
| 162 | // item.doc = JSON.parse(item.doc) | 176 | if(item.doc){ |
| 163 | totalCost.value = totalCost.value + (item.content.allFee * 1) | 177 | item.doc = JSON.parse(item.doc) |
| 164 | }) | 178 | } |
| 165 | total.value = res.total | 179 | totalCost.value = totalCost.value + (item.content.allFee * 1) |
| 166 | }) | 180 | }) |
| 167 | } | 181 | total.value = res.total |
| 182 | }) | ||
| 183 | } | ||
| 168 | 184 | ||
| 169 | function audit(recordId, flag) { | 185 | function audit(recordId, flag) { |
| 170 | if (flag == '0') { | 186 | if (flag == '0') { |
| 171 | // 拒绝 | 187 | // 拒绝 |
| 172 | // 弹出框填写理由 | 188 | // 弹出框填写理由 |
| 173 | uni.showModal({ | 189 | uni.showModal({ |
| 174 | title: '请输入拒绝理由', | 190 | title: '请输入拒绝理由', |
| 175 | editable: true, | 191 | editable: true, |
| 176 | success: function(res) { | 192 | success: function(res) { |
| 177 | if (res.confirm) { | 193 | if (res.confirm) { |
| 178 | if (!res.content) { | 194 | if (!res.content) { |
| 179 | uni.showToast({ | 195 | uni.showToast({ |
| 180 | title: '请输入拒绝理由', | 196 | title: '请输入拒绝理由', |
| 181 | icon: 'none' | 197 | icon: 'none' |
| 182 | }) | 198 | }) |
| 183 | } else { | 199 | } else { |
| 184 | doApproval(recordId, flag, res.content) | 200 | doApproval(recordId, flag, res.content) |
| 185 | } | 201 | } |
| 186 | } | 202 | } |
| 187 | } | 203 | } |
| 188 | }) | 204 | }) |
| 189 | } else if (flag == '1') { | 205 | } else if (flag == '1') { |
| 190 | // 二次确认 | 206 | // 二次确认 |
| 191 | uni.showModal({ | 207 | uni.showModal({ |
| 192 | title: '提示', | 208 | title: '提示', |
| 193 | content: `确定审批通过吗`, | 209 | content: `确定审批通过吗`, |
| 194 | success: function(res) { | 210 | success: function(res) { |
| 195 | if (res.confirm) { | 211 | if (res.confirm) { |
| 196 | doApproval(recordId, flag) | 212 | doApproval(recordId, flag) |
| 197 | } | 213 | } |
| 198 | } | 214 | } |
| 199 | }) | 215 | }) |
| 200 | } | 216 | } |
| 201 | } | 217 | } |
| 202 | 218 | ||
| 203 | function doApproval(recordId, flag, reason) { | 219 | function doApproval(recordId, flag, reason) { |
| 204 | var obj = { | 220 | var obj = { |
| 205 | flag: flag, | 221 | flag: flag, |
| 206 | reason: reason || '', | 222 | reason: reason || '', |
| 207 | recordIds: [] | 223 | recordIds: [] |
| 208 | } | 224 | } |
| 209 | obj.recordIds.push(recordId) | 225 | obj.recordIds.push(recordId) |
| 210 | console.log(obj) | 226 | console.log(obj) |
| 211 | api.groupAudit(obj).then((res) => { | 227 | api.groupAudit(obj).then((res) => { |
| 212 | uni.showToast({ | 228 | uni.showToast({ |
| 213 | title: '操作成功', | 229 | title: '操作成功', |
| 214 | icon: 'none' | 230 | icon: 'none' |
| 215 | }) | 231 | }) |
| 216 | getList() | 232 | getList() |
| 217 | }) | 233 | }) |
| 218 | } | 234 | } |
| 219 | 235 | ||
| 220 | function goDetail(item) { | 236 | function goDetail(item) { |
| 221 | const auditLog = encodeURIComponent(JSON.stringify(item.auditLog)) | 237 | const auditLog = encodeURIComponent(JSON.stringify(item.auditLog)) |
| 222 | const form = encodeURIComponent(JSON.stringify(item)) | 238 | const form = encodeURIComponent(JSON.stringify(item)) |
| 223 | 239 | ||
| 224 | if (userType.value == '1') { | 240 | if (userType.value == '1') { |
| 225 | // 查看 | 241 | // 查看 |
| 226 | let path = `/group/apply/mergeUpDetail?form=${form}` | 242 | let path = `/group/apply/mergeUpDetail?form=${form}` |
| 227 | uni.navigateTo({ | 243 | uni.navigateTo({ |
| 228 | url: path | 244 | url: path |
| 229 | }); | 245 | }); |
| 230 | } else if (userType.value == '2' || userType.value == '3') { | 246 | } else if (userType.value == '2' || userType.value == '3') { |
| 231 | // 审核记录 | 247 | // 审核记录 |
| 232 | let path = `/group/apply/record?certId=${item.content.certId}` | 248 | let path = `/group/apply/record?certId=${item.content.certId}` |
| 233 | uni.navigateTo({ | 249 | uni.navigateTo({ |
| 234 | url: path | 250 | url: path |
| 235 | }); | 251 | }); |
| 236 | } | 252 | } |
| 237 | } | 253 | } |
| 254 | |||
| 255 | function goMerge() { | ||
| 256 | let path = `/group/apply/merge` | ||
| 257 | uni.redirectTo({ | ||
| 258 | url: path | ||
| 259 | }); | ||
| 260 | } | ||
| 238 | 261 | ||
| 239 | function goMerge() { | 262 | function goMergeUp() { |
| 240 | let path = `/group/apply/merge` | 263 | let path = `/group/apply/mergeUp` |
| 241 | uni.redirectTo({ | 264 | uni.redirectTo({ |
| 242 | url: path | 265 | url: path |
| 243 | }); | 266 | }); |
| 244 | } | 267 | } |
| 245 | 268 | ||
| 246 | function goMergeUp() { | 269 | function sendBack(row) { |
| 247 | let path = `/group/apply/mergeUp` | 270 | uni.showModal({ |
| 248 | uni.redirectTo({ | 271 | title: '提示', |
| 249 | url: path | 272 | content: `确定撤回${row.content.certName}吗`, |
| 250 | }); | 273 | success: function(res) { |
| 251 | } | 274 | if (res.confirm) { |
| 275 | api.certifiedwithDraw({ | ||
| 276 | recordId: row.recordId, | ||
| 277 | reason: row.reason | ||
| 278 | }).then(res => { | ||
| 279 | uni.showToast({ | ||
| 280 | title: '操作成功', | ||
| 281 | icon: 'none' | ||
| 282 | }) | ||
| 283 | getList() | ||
| 284 | }) | ||
| 252 | 285 | ||
| 253 | function sendBack(row) { | 286 | } |
| 254 | uni.showModal({ | 287 | } |
| 255 | title: '提示', | 288 | }) |
| 256 | content: `确定撤回${row.content.certName}吗`, | 289 | } |
| 257 | success: function(res) { | ||
| 258 | if (res.confirm) { | ||
| 259 | api.certifiedwithDraw({ | ||
| 260 | recordId: row.recordId, | ||
| 261 | reason: row.reason | ||
| 262 | }).then(res => { | ||
| 263 | uni.showToast({ | ||
| 264 | title: '操作成功', | ||
| 265 | icon: 'none' | ||
| 266 | }) | ||
| 267 | getList() | ||
| 268 | }) | ||
| 269 | 290 | ||
| 270 | } | 291 | function goGroupInfo(row) { |
| 271 | } | 292 | uni.navigateTo({ |
| 272 | }) | 293 | url: `/group/groupInfo?memId=${row.content?.memId}` |
| 273 | } | 294 | }) |
| 274 | 295 | } | |
| 275 | function goGroupInfo(row){ | 296 | |
| 276 | uni.navigateTo({ | 297 | function viewSettleFile(doc){ |
| 277 | url: `/group/groupInfo?memId=${row.content?.memId}` | 298 | let url |
| 278 | }) | 299 | if(doc.payEvidence){ |
| 300 | url = JSON.parse(doc.payEvidence)[0].url || null | ||
| 301 | console.log(url) | ||
| 302 | if(url){showImg(url)} | ||
| 303 | } | ||
| 304 | } | ||
| 305 | function showImg(n) { | ||
| 306 | var str = '' | ||
| 307 | if(n.indexOf('http')==-1){ | ||
| 308 | str = config.baseUrl_api + n | ||
| 309 | } else { | ||
| 310 | str = n | ||
| 311 | } | ||
| 312 | if (n.indexOf('png') > -1 || n.indexOf('jpg') > -1 || n.indexOf( | ||
| 313 | 'jpeg') > -1) { | ||
| 314 | uni.previewImage({ | ||
| 315 | urls: [str], | ||
| 316 | success: function(res) { | ||
| 317 | console.log('success', res) | ||
| 318 | }, | ||
| 319 | fail: function(res) { | ||
| 320 | console.log('fail', res) | ||
| 321 | }, | ||
| 322 | complete: function(res) { | ||
| 323 | console.log('complete', res) | ||
| 324 | } | ||
| 325 | }) | ||
| 326 | } else { | ||
| 327 | goWebView(str) | ||
| 328 | } | ||
| 329 | } | ||
| 330 | function goWebView(url) { | ||
| 331 | url = url.replace("http://", "https://") | ||
| 332 | uni.showLoading({ | ||
| 333 | title: '下载中' | ||
| 334 | }); | ||
| 335 | uni.downloadFile({ | ||
| 336 | url: url, | ||
| 337 | success: function(res) { | ||
| 338 | uni.hideLoading(); | ||
| 339 | var filePath = res.tempFilePath; | ||
| 340 | uni.showLoading({ | ||
| 341 | title: '正在打开' | ||
| 342 | }); | ||
| 343 | uni.openDocument({ | ||
| 344 | filePath: filePath, | ||
| 345 | showMenu: true, | ||
| 346 | success: function(res) { | ||
| 347 | uni.hideLoading(); | ||
| 348 | }, | ||
| 349 | fail: function(err) { | ||
| 350 | uni.hideLoading(); | ||
| 351 | uni.showToast({ | ||
| 352 | title: err, | ||
| 353 | icon: 'none', | ||
| 354 | duration: 2000 | ||
| 355 | }); | ||
| 356 | } | ||
| 357 | }); | ||
| 358 | }, | ||
| 359 | fail: function(error) { | ||
| 360 | uni.hideLoading(); | ||
| 361 | uni.showToast({ | ||
| 362 | title: `下载失败`, | ||
| 363 | icon: 'none', | ||
| 364 | duration: 2000 | ||
| 365 | }); | ||
| 366 | } | ||
| 367 | }); | ||
| 279 | } | 368 | } |
| 280 | </script> | 369 | </script> |
| 281 | 370 | ... | ... |
| ... | @@ -163,14 +163,12 @@ | ... | @@ -163,14 +163,12 @@ |
| 163 | return | 163 | return |
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | pcLogin(form.value) | 166 | pcLogin(form.value).then((res) => { |
| 167 | .then((res) => { | ||
| 168 | app.globalData.isLogin = true | 167 | app.globalData.isLogin = true |
| 169 | uni.redirectTo({ | 168 | uni.redirectTo({ |
| 170 | url: '/pages/index/index' | 169 | url: '/pages/index/index' |
| 171 | }) | 170 | }) |
| 172 | }) | 171 | }) |
| 173 | .catch(getCode) | ||
| 174 | } else if (isActive.value == 1) { | 172 | } else if (isActive.value == 1) { |
| 175 | if (!form2.value.telNo) { | 173 | if (!form2.value.telNo) { |
| 176 | uni.showToast({ | 174 | uni.showToast({ |
| ... | @@ -178,7 +176,16 @@ | ... | @@ -178,7 +176,16 @@ |
| 178 | icon: 'none' | 176 | icon: 'none' |
| 179 | }) | 177 | }) |
| 180 | return | 178 | return |
| 181 | } | 179 | } |
| 180 | var pattern = /^1[3456789]\d{9}$/; | ||
| 181 | if (!pattern.test(form2.value.telNo)) { | ||
| 182 | uni.showToast({ | ||
| 183 | title: '请输入正确的手机号', | ||
| 184 | duration: 2000, | ||
| 185 | icon: 'none' | ||
| 186 | }) | ||
| 187 | return | ||
| 188 | } | ||
| 182 | if (!form2.value.code) { | 189 | if (!form2.value.code) { |
| 183 | uni.showToast({ | 190 | uni.showToast({ |
| 184 | title: '短信验证码不能为空', | 191 | title: '短信验证码不能为空', |
| ... | @@ -221,7 +228,16 @@ | ... | @@ -221,7 +228,16 @@ |
| 221 | icon: 'none' | 228 | icon: 'none' |
| 222 | }) | 229 | }) |
| 223 | return | 230 | return |
| 224 | } | 231 | } |
| 232 | var pattern = /^1[3456789]\d{9}$/; | ||
| 233 | if (!pattern.test(form2.value.telNo)) { | ||
| 234 | uni.showToast({ | ||
| 235 | title: '请输入正确的手机号', | ||
| 236 | duration: 2000, | ||
| 237 | icon: 'none' | ||
| 238 | }) | ||
| 239 | return | ||
| 240 | } | ||
| 225 | if (!form2.value.captcha) { | 241 | if (!form2.value.captcha) { |
| 226 | uni.showToast({ | 242 | uni.showToast({ |
| 227 | title: '图形验证码不能为空', | 243 | title: '图形验证码不能为空', |
| ... | @@ -236,14 +252,17 @@ | ... | @@ -236,14 +252,17 @@ |
| 236 | code: form2.value.captcha | 252 | code: form2.value.captcha |
| 237 | }).then(res => { | 253 | }).then(res => { |
| 238 | uni.showToast({ | 254 | uni.showToast({ |
| 239 | title: '短信验证码下发成功', | 255 | title: res.data.msg, |
| 240 | icon: 'none' | 256 | icon: 'none' |
| 241 | }) | 257 | }) |
| 242 | countDown.value.start = true | 258 | countDown.value.start = true |
| 243 | }).catch(res=>{ | 259 | }) |
| 244 | console.log(res.data.msg) | 260 | // .catch(res=>{ |
| 245 | getCode() | 261 | // uni.showModal({ |
| 246 | }) | 262 | // content:res.data.msg |
| 263 | // }) | ||
| 264 | // getCode() | ||
| 265 | // }) | ||
| 247 | } | 266 | } |
| 248 | 267 | ||
| 249 | function timeup() { | 268 | function timeup() { | ... | ... |
| ... | @@ -101,7 +101,7 @@ function submit(){ | ... | @@ -101,7 +101,7 @@ function submit(){ |
| 101 | }) | 101 | }) |
| 102 | return | 102 | return |
| 103 | } | 103 | } |
| 104 | if(!user.value.phoneNumber){ | 104 | if(!user.value.phonenumber){ |
| 105 | uni.showToast({ | 105 | uni.showToast({ |
| 106 | icon:'none',title:`请输入手机号码` | 106 | icon:'none',title:`请输入手机号码` |
| 107 | }) | 107 | }) |
| ... | @@ -117,6 +117,7 @@ function submit(){ | ... | @@ -117,6 +117,7 @@ function submit(){ |
| 117 | uni.showToast({ | 117 | uni.showToast({ |
| 118 | icon:'none',title:`修改成功` | 118 | icon:'none',title:`修改成功` |
| 119 | }) | 119 | }) |
| 120 | edit.value = false | ||
| 120 | }) | 121 | }) |
| 121 | } | 122 | } |
| 122 | function changeSex(e){ | 123 | function changeSex(e){ | ... | ... |
| ... | @@ -41,7 +41,7 @@ | ... | @@ -41,7 +41,7 @@ |
| 41 | </view> | 41 | </view> |
| 42 | <view class="func"> | 42 | <view class="func"> |
| 43 | <button | 43 | <button |
| 44 | @click="handleUpdate(item)" v-if="item.settleFlag != 0">上传凭证 | 44 | @click="handleUpdate(item)" v-if="item.settleFlag != 0">确认并上传 |
| 45 | </button> | 45 | </button> |
| 46 | <button @click="handleDownload(item)" >下载缴费通知单</button> | 46 | <button @click="handleDownload(item)" >下载缴费通知单</button> |
| 47 | </view> | 47 | </view> |
| ... | @@ -62,7 +62,7 @@ | ... | @@ -62,7 +62,7 @@ |
| 62 | <uni-forms-item label="缴费凭证" required> | 62 | <uni-forms-item label="缴费凭证" required> |
| 63 | 63 | ||
| 64 | <uni-file-picker limit="1" file-mediatype="all" file-extname="png,jpg,jpeg,pdf,zip" | 64 | <uni-file-picker limit="1" file-mediatype="all" file-extname="png,jpg,jpeg,pdf,zip" |
| 65 | @select="selectFile" | 65 | @select="selectFile" v-model="form.payEvidenceObj" |
| 66 | @progress="fileProgress" @delete="delSupplementFile(index)"></uni-file-picker> | 66 | @progress="fileProgress" @delete="delSupplementFile(index)"></uni-file-picker> |
| 67 | </uni-forms-item> | 67 | </uni-forms-item> |
| 68 | <uni-forms-item label="备注"> | 68 | <uni-forms-item label="备注"> |
| ... | @@ -118,6 +118,16 @@ function getList() { | ... | @@ -118,6 +118,16 @@ function getList() { |
| 118 | 118 | ||
| 119 | function handleUpdate(item) { | 119 | function handleUpdate(item) { |
| 120 | form.value.yjId = item.yjId | 120 | form.value.yjId = item.yjId |
| 121 | form.value.payTime = item.payTime | ||
| 122 | if(item.payEvidence){ | ||
| 123 | let file = JSON.parse(item.payEvidence) | ||
| 124 | console.log(file) | ||
| 125 | form.value.payEvidenceObj = { | ||
| 126 | url: file[0].url, | ||
| 127 | name: file[0].name, | ||
| 128 | extname: 'png' | ||
| 129 | } | ||
| 130 | } | ||
| 121 | UpPop.value.open() | 131 | UpPop.value.open() |
| 122 | } | 132 | } |
| 123 | let selectFileValue = {} | 133 | let selectFileValue = {} |
| ... | @@ -144,7 +154,11 @@ function delSupplementFile(index) { | ... | @@ -144,7 +154,11 @@ function delSupplementFile(index) { |
| 144 | } | 154 | } |
| 145 | function uploadSure(){ | 155 | function uploadSure(){ |
| 146 | console.log(form.value) | 156 | console.log(form.value) |
| 147 | api.commitPaymentVoucher(form.value).then(res=>{ | 157 | api.commitPaymentVoucherYJ({ |
| 158 | payTime:form.value.payTime, | ||
| 159 | url:form.value.url, | ||
| 160 | yjId:form.value.yjId | ||
| 161 | }).then(res=>{ | ||
| 148 | UpPop.value.close() | 162 | UpPop.value.close() |
| 149 | form.value = {} | 163 | form.value = {} |
| 150 | uni.showToast({ | 164 | uni.showToast({ |
| ... | @@ -224,6 +238,7 @@ function circulation(id) { | ... | @@ -224,6 +238,7 @@ function circulation(id) { |
| 224 | </script> | 238 | </script> |
| 225 | 239 | ||
| 226 | <style scoped lang="scss"> | 240 | <style scoped lang="scss"> |
| 241 | :deep(.file-picker__progress){opacity: 0;} | ||
| 227 | .popBody { | 242 | .popBody { |
| 228 | font-size: 28rpx; | 243 | font-size: 28rpx; |
| 229 | line-height: 1.5; | 244 | line-height: 1.5; | ... | ... |
-
Please register or sign in to post a comment