From fc8437b82600e7411c7aa1bd040e69d780d40997 Mon Sep 17 00:00:00 2001 From: Fox-33 <1466778434@qq.com> Date: Thu, 25 Sep 2025 13:02:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/http.js | 6 +- api/model/exam.js | 5 + api/model/report.js | 8 ++ components/home/unfinishTestPopup.vue | 12 +- components/report/reportCard.vue | 34 ++--- pages.json | 3 +- pages/index/index.vue | 21 ++- pages/index/report.vue | 12 +- pages_order/auth/wxLogin.vue | 8 +- pages_order/components/formUpload.vue | 12 +- pages_order/feedback/index.vue | 63 +++++---- pages_order/report/index.vue | 193 +++++++++++++--------------- pages_order/report/pay.vue | 13 +- pages_order/report/reportTableView.vue | 20 +-- pages_order/report/userInfo.vue | 50 ++++--- pages_order/service/index.vue | 83 ++++++------ pages_order/service/popupPhone.vue | 24 ++-- pages_order/service/popupQrCode.vue | 9 +- pages_order/static/feedback/icon-camera.png | Bin 0 -> 2386 bytes pages_order/static/feedback/icon-star.png | Bin 0 -> 588 bytes pages_order/test/answer.vue | 164 +++++++---------------- pages_order/test/start.vue | 20 +-- pages_order/test/testCard.vue | 25 +++- static/image/temp-01.png | Bin 1770 -> 0 bytes static/image/temp-03.png | Bin 84499 -> 0 bytes static/image/temp-05.png | Bin 28453 -> 0 bytes store/store.js | 5 + 27 files changed, 389 insertions(+), 401 deletions(-) create mode 100644 pages_order/static/feedback/icon-camera.png create mode 100644 pages_order/static/feedback/icon-star.png delete mode 100644 static/image/temp-01.png delete mode 100644 static/image/temp-03.png delete mode 100644 static/image/temp-05.png diff --git a/api/http.js b/api/http.js index 6c3da63..4a77b07 100644 --- a/api/http.js +++ b/api/http.js @@ -35,12 +35,10 @@ function http(uri, data, callback, method = 'GET', showLoading, title) { if(res.statusCode == 401 || res.data.message == '操作失败,token非法无效!' || res.data.message == '操作失败,用户不存在!'){ - store.commit('logout') console.error('登录过期'); + store.commit('clearUserInfo') utils.toLogin() - } - - if(res.statusCode == 200 && res.data.code != 200 + } else if(res.statusCode == 200 && res.data.code != 200 && res.data.code != 902){ uni.showToast({ mask: true, diff --git a/api/model/exam.js b/api/model/exam.js index 2354d3f..abec89c 100644 --- a/api/model/exam.js +++ b/api/model/exam.js @@ -1,6 +1,11 @@ // 测评相关接口 const api = { + // 测评-查询答题列表 + queryCategoryList: { + url: '/exam/queryCategoryList', + method: 'GET', + }, // 测评-查询答题列表 queryQuestionList: { url: '/exam/queryQuestionList', diff --git a/api/model/report.js b/api/model/report.js index 176d4ee..6c51a62 100644 --- a/api/model/report.js +++ b/api/model/report.js @@ -11,6 +11,14 @@ const api = { url: '/report/queryReportById', method: 'GET', }, + // 测评-新增测评报告基本信息 + addReport: { + url: '/report/addReport', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, } export default api \ No newline at end of file diff --git a/components/home/unfinishTestPopup.vue b/components/home/unfinishTestPopup.vue index 2e652ce..7d367b0 100644 --- a/components/home/unfinishTestPopup.vue +++ b/components/home/unfinishTestPopup.vue @@ -10,7 +10,7 @@ 您还有未完成的题,是否继续答题? - {{ `您还有${detail.unfinishCount}道题未完成` }} + {{ `您还有${unfinishCount}道题未完成` }} @@ -27,6 +27,13 @@ detail: {} } }, + computed: { + unfinishCount() { + const { allNum, finishNum } = this.detail + + return allNum - finishNum + }, + }, methods: { open(data) { this.detail = data @@ -37,7 +44,8 @@ }, onContinue() { uni.navigateTo({ - url: `/pages_order/test/answer?id=${this.detail.id}¤t=${this.detail.current}`, + // url: `/pages_order/test/answer?id=${this.detail.id}¤t=${this.detail.current}`, + url: `/pages_order/test/list`, success: () => { this.close() }, diff --git a/components/report/reportCard.vue b/components/report/reportCard.vue index d39cf11..be6ab5e 100644 --- a/components/report/reportCard.vue +++ b/components/report/reportCard.vue @@ -7,7 +7,7 @@ 手机号码 - {{ data.phone }} + {{ data.phone || '-' }} 公司名称 @@ -15,27 +15,25 @@ 生成时间 - {{ data.createTime }} + {{ $dayjs(data.createTime).format('YYYY-MM-DD HH:mm') }} - + - - {{ statusDesc }} - + 已完成 diff --git a/pages_order/service/index.vue b/pages_order/service/index.vue index 55814cf..cf8a97f 100644 --- a/pages_order/service/index.vue +++ b/pages_order/service/index.vue @@ -3,20 +3,19 @@ - - - + + @@ -99,44 +98,44 @@ } .bg { - // width: 100%; - // height: auto; - // min-height: 501rpx; width: 100%; - height: 501rpx; - background: linear-gradient(160deg, #014FA2 36%, #4C8FD6); - padding: 0 104rpx 90rpx 65rpx; - box-sizing: border-box; - align-items: flex-end; - - &-content { - width: 100%; - justify-content: space-between; - } - - .text { - padding: 26rpx 0 34rpx 0; - color: #FFFFFF; - - .title { - font-size: 36rpx; - font-weight: 600; - } - - .desc { - margin-top: 13rpx; - font-size: 22rpx; - - .line + .line { - margin-top: 11rpx; - } - } - } - - .icon { - width: 168rpx; - height: auto; - } + height: auto; + min-height: 501rpx; + // width: 100%; + // height: 501rpx; + // background: linear-gradient(160deg, #014FA2 36%, #4C8FD6); + // padding: 0 104rpx 90rpx 65rpx; + // box-sizing: border-box; + // align-items: flex-end; + + // &-content { + // width: 100%; + // justify-content: space-between; + // } + + // .text { + // padding: 26rpx 0 34rpx 0; + // color: #FFFFFF; + + // .title { + // font-size: 36rpx; + // font-weight: 600; + // } + + // .desc { + // margin-top: 13rpx; + // font-size: 22rpx; + + // .line + .line { + // margin-top: 11rpx; + // } + // } + // } + + // .icon { + // width: 168rpx; + // height: auto; + // } } .main { diff --git a/pages_order/service/popupPhone.vue b/pages_order/service/popupPhone.vue index ae95d53..846af6c 100644 --- a/pages_order/service/popupPhone.vue +++ b/pages_order/service/popupPhone.vue @@ -10,14 +10,12 @@ 电话咨询 - - + - - 13256541235 + {{ phone }} - + @@ -29,14 +27,9 @@ import utils from '@/utils/utils.js' export default { - props: { - src: { - type: String, - default: null - } - }, data() { return { + phone: '', } }, computed : { @@ -44,14 +37,15 @@ }, methods: { open() { + this.phone = this.configList.customer_service_phone this.$refs.popup.open(); }, close() { this.$refs.popup.close(); }, - onCall(phoneNumber) { + onCall() { uni.makePhoneCall({ - phoneNumber, + phoneNumber: this.phone, success() { console.log('安卓拨打成功'); }, @@ -60,8 +54,8 @@ } }) }, - onCopy(phone) { - utils.copyText(phone) + onCopy() { + utils.copyText(this.phone) }, }, } diff --git a/pages_order/service/popupQrCode.vue b/pages_order/service/popupQrCode.vue index a42b276..186667b 100644 --- a/pages_order/service/popupQrCode.vue +++ b/pages_order/service/popupQrCode.vue @@ -9,8 +9,7 @@ 扫码添加微信 - - + @@ -21,12 +20,6 @@ import { mapState } from 'vuex' export default { - props: { - src: { - type: String, - default: null - } - }, data() { return { } diff --git a/pages_order/static/feedback/icon-camera.png b/pages_order/static/feedback/icon-camera.png new file mode 100644 index 0000000000000000000000000000000000000000..fede8e8a66a881be29377ab99014c91ff2cf841e GIT binary patch literal 2386 zcmV-Y39a^tP)uf-iabMS%X*DMQ%=ltsOu91_8~M{mlVM|~IeQ2I`XdBf5U3YL_0~i%YA$xVt42PY z`*a<+bU51>ExVZMt{VAp?$dSP(&21lwCrN0yK3aaxlh-DONXghz{8c#B2_{ZK10h-c0{7^6QZr8 zNuscVmf~X_HytDj#fj!gk3_+Pn&LJj3dITLNsmOqgPP(t0kyA6wO6K!=Sk^VK)`UO zu;7P=Due)uLLo9mr9z?*g``4$NE8Z@DJm5bg(xHy@Z-4YAW?4oY_S?e#oQz>YV_}wTgiZYGlx$6%>_vzn3 z?7~clU6iHUMr!?`(=uSeH%H)ZWi@_QIWthcMsw1~`(Wj^6Trk_2BTYLcj2Rq<1l+| zo|)lFk5O`_`0?<0*m3AQ7jf&eeuvysSGa6dF;Y?#>oU*S;%Dv7)3)rf8!IP@3pdJP z`@z3$@sgf%4%h{%EhmVLQP*hxs!j9kx*>T}0XW+1HF;1~U1N)q@`@@*`XaC1r^C0W z@1^O-VAK90VAm(M0%&AolrzOIC$GTcb9ca#@9zY5hmpMLs7B!b?T5U-gh0CaKvBI< zXa7da3peD$tIPL8*z^oYPAh=QDp7YbLQ*pA1f3|d@{1v6!7eybc-?f8z8+X|yAqN& zABC4c*$*}LCM{owUb{b3qPVS1>(f@{YDXXrq`%Mo6Vh{vYJtY|fl3tV+67?o^)gKO z!s;ETP{qrFMJ0+OXXQC%B*piEZ3|=Jy$KNvN8NVt%vIe!**Z|xXqIZ{Y8ikW)Vm{m zo-`B^26cyJQwKu)z;3!>RcMdR|Iwb7>JE^w1Jz6+%SBs;n=EYwbQ{!SUM#No{H#fxQpHS7l7TevNx;j zkvhB9F*HEd8GtKZ`$t@G>*ny;%)wB!?s-@YccuMY52N*v64A=1`9F&Y~qBV9)Phg|1&fspy(D0n!et?8@+nlyo> ziBa(8(|t_axEshHwL5R#--b*S{4>SIcSiubj^Kgx(;0)If6rhZ(^?z;sB6uA{((#s zeE7ULyeGsy7Q$z&SvA*AHLGS0(U$z zTOZbsxd(&pefnr8vhE#QahY3>nrk=0jKmy5!ou<7$oesNv!ue4Q`7ytC3@DQHXV{z z1|k!Mbqvm3DTNyC38Zz)`z?wtm)yTm!7Zq3G|ljF?cY0)fA)r%p&rL%YVSNe4pLwM zvYCSK?95(X+2!i|wKB*#ahb~vU({T?5@Li*6ntmr)!R=3EB&{F*rE;j++~1#QQL{u zo-Hy_@FmMi_NT7Q(MYZ4a=>aWzuNl;mn}vkWTN1oh<6uUfElZEp~BN^ZWk7J{ZN17&wS)Ju5q zW-n?F&INW?Z%qW&kcq1dZ z)M%=Sq(WKIOra2&qEaDIh(b~!KO_o;$P|?di9!^T3i%;XC`6{+R9Jl`Ya|N0NGfPg zqEL`j=ahJsNfbP&DQ-ieP@G_%^ib7k@+3$$))AnY!a8QkTaYM}r`UReBns=8DQ`id zP@ZDz36dzRV^(XS;s@1es>rIKoM@&H1f)uCNE9luDJT~bg&-hRazizmDzPaj7n&&q z0jZK35`{`^3d%(~Q3%S5+}J>XL}3FwRZU40sxr%w7pu=?jYPo#p6Vtf3e_3r$d5$9 z0h;P2Bns6T=E#p~G&w+1#zZF(nkjUE@#oDX3V&u_CwCHs4lw?_nMC2w?Ca!CqR;`x zA2(Btra!W7GH048OakRk!$=g~U>mtlQ=+Ip*NjgEqh+&L82NDSBY*A@aK^}J*}e7s zTOB?eJyfIVK!U#O5%>=P0RR8Lu0|~Y000I_L_t&o0DXyJ^h6o=Qx!IdPdJHdvVQCXBv5*4;AmV3qj6fl1Bc2Vl zFargYV*og+9n; zPbo~mEpw-+Ta?Z#V9@Fa20LQoQr7|G$JH#uo%?F_(r}0R$*o4D=qk= zIqdL@Jed=*a%(e04-vWmGvqJXtYhZZX1 -