You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
import{h as e,o as a,c as t,w as s,g as l,a as n,j as u,e as r,p as o,F as i,Q as p,$ as c,x as _,r as d,t as m,d as w,u as f,q as v,y as h,z as y,A as k,B as $,U as b,I as q,l as x}from"./index-785f6196.js";import{_ as g}from"./uni-icons.544b1e64.js";import{_ as N,o as O,r as V}from"./uni-app.es.580bb9ae.js";const C=N({__name:"question",props:{hospital:{type:String,default:"0"}},setup(N){const C=N,E=e([]),U=e(!1),j=()=>{uni.$lu.user((e=>{e.id&&(U.value=e,(async()=>{const e=await p({...C,type:1});c(e,(()=>{E.value=e.data.list.map((e=>(e.content=JSON.parse(e.content),e.more=1===e.type||4===e.type?"":e.content.item.map((e=>"")),e.answer=1===e.type||4===e.type?"":[],e)))}))})())}))},R=(e,a)=>{switch(e.mark){case"NAME":E.value[a].answer=U.value.person&&U.value.person.id?U.value.person.name:"";break;case"SEX":E.value[a].answer=[U.value.person&&1===U.value.person.sex?"男":"女"]}},I=(e,a=0)=>e.split("{{MORE}}")[a],M=(e,a)=>{$({src:e,success(e){let t=e.width,s=e.height,l=new Image;l.src=e.path;let n=document.createElement("canvas"),u=n.getContext("2d");n.width=t>=1e3?.1*t:t,n.height=s>=1e3?.1*s:s,u.drawImage(l,0,0,n.width,n.height),n.toBlob((e=>{const t=new FileReader;t.readAsDataURL(e),t.onload=e=>{t.result&&S(t.result,a)}}),"image/jpeg")}})},S=async(e,a)=>{const t=await b({base64:e});c(t,(()=>{E.value[a].answer=t.data.url}))},z=e=>{let a=[];for(let t in E.value){if((1===E.value[t].type||4===E.value[t].type)&&!E.value[t].answer)return uni.$lu.toast(`请填写第${Number(t)+1}题`),void uni.$lu.anchor(e,`anchor-${t}`);if(2===E.value[t].type||3===E.value[t].type){if(!E.value[t].answer.length)return uni.$lu.toast(`请选择第${Number(t)+1}题`),void uni.$lu.anchor(e,`anchor-${t}`);for(let a in E.value[t].content.item){if(-1!==E.value[t].content.item[a].indexOf("{{MORE}}")){if(-1!==E.value[t].answer.indexOf(I(E.value[t].content.item[a]))&&!E.value[t].more[a])return uni.$lu.toast(`请填写第${Number(t)+1}题,第${Number(a)+1}项`),void uni.$lu.anchor(e,`anchor-${t}-${a}`)}}}a.push({question:E.value[t].question,answer:E.value[t].answer,more:E.value[t].more})}F(a)},A=e(!1),F=async e=>{const a=await _({content:JSON.stringify(e),type:1});c(a,(()=>{A.value=!0}))};return O((()=>{j()})),(e,p)=>{const c=l,_=q,$=V(d("uni-icons"),g),b=x;return a(),t(c,null,{default:s((()=>[n(c,null,{default:s((()=>[n(c,{class:"question_title_wrapper"},{default:s((()=>[u("满意度调查问卷")])),_:1}),A.value?(a(),t(c,{key:0},{default:s((()=>[n(c,{class:"question_tip_wrapper question_done_wrapper"},{default:s((()=>[u("问卷已提交,谢谢!")])),_:1})])),_:1})):(a(),t(c,{key:1},{default:s((()=>[n(c,{class:"question_tip_wrapper"},{default:s((()=>[u("尊敬的客户: 为了促进我们持续的优化和改进体检质量,现在占用您的一些宝贵时间对我们的工作情况进行调查。感谢您的认真对待,谢谢!")])),_:1}),(a(!0),r(i,null,o(E.value,((e,l)=>(a(),t(c,{id:`anchor-${l}`,class:"question_item_wrapper",key:l},{default:s((()=>[n(c,{class:"question_item_title_wrapper"},{default:s((()=>[u(m(e.question),1)])),_:2},1024),n(c,{ref_for:!0,ref:R(e,l),class:"question_item_item_wrapper"},{default:s((()=>[1===Number(e.type)?(a(),t(c,{key:0},{default:s((()=>[n(_,{placeholder:e.content.placeholder,type:"text",modelValue:E.value[l].answer,"onUpdate:modelValue":e=>E.value[l].answer=e,class:"question_item_item_input_wrapper"},null,8,["placeholder","modelValue","onUpdate:modelValue"])])),_:2},1024)):w("",!0),2===Number(e.type)||3===Number(e.type)?(a(),t(c,{key:1},{default:s((()=>[(a(!0),r(i,null,o(e.content.item,((r,o)=>(a(),t(c,null,{default:s((()=>[(a(),t(c,{onClick:a=>((e,a,t,s)=>{let l=e.answer.indexOf(I(t));if(-1!==l)e.answer.splice(l,1);else switch(e.type){case 2:e.answer=[I(t)];break;case 3:e.answer.push(I(t))}})(e,0,r),class:"question_item_item_choose_wrapper",key:o},{default:s((()=>[n(c,{class:"question_item_item_choose_checkbox_wrapper"},{default:s((()=>[-1!==e.answer.indexOf(I(r))?(a(),t($,{key:0,color:"#24ba2d",type:"checkmarkempty",size:"40rpx"})):w("",!0)])),_:2},1024),n(c,{class:"question_item_item_choose_text_wrapper"},{default:s((()=>[u(m(I(r)),1)])),_:2},1024)])),_:2},1032,["onClick"])),-1!==r.indexOf("{{MORE}}")&&-1!==e.answer.indexOf(I(r))?(a(),t(c,{key:0},{default:s((()=>[n(c,{id:`anchor-${l}-${o}`,class:"question_item_title_wrapper"},{default:s((()=>[u(m(I(r,1)),1)])),_:2},1032,["id"]),n(_,{type:"text",modelValue:E.value[l].more[o],"onUpdate:modelValue":e=>E.value[l].more[o]=e,class:"question_item_item_input_wrapper"},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024)):w("",!0)])),_:2},1024)))),256))])),_:2},1024)):w("",!0),4===Number(e.type)?(a(),t(c,{key:2},{default:s((()=>[n(c,{onClick:e=>{return a=l,void h({count:1,success:e=>{const t=e.tempFilePaths[0];y({filePath:t,success:e=>{"photo"===a&&e.size>2097152?k({title:"选择的文件过大,请重新选择",icon:"none"}):M(t,a)}})}});var a},class:"image_wrapper"},{default:s((()=>[E.value[l].answer?(a(),t(b,{key:0,src:f(v)(E.value[l].answer)},null,8,["src"])):w("",!0),u(" "+m(e.content.placeholder),1)])),_:2},1032,["onClick"])])),_:2},1024)):w("",!0)])),_:2},1536)])),_:2},1032,["id"])))),128)),n(c,{onClick:z,class:"save_wrapper"},{default:s((()=>[u("提交")])),_:1})])),_:1})),n(c,{class:"blank_break_wrapper"})])),_:1}),n(c,{class:"blank_wrapper"})])),_:1})}}},[["__scopeId","data-v-0d09cc7b"]]);export{C as default};
|