123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- const qs = require('qs');
- // const imageUrlPrefix = 'http://192.168.2.241:82' //后台图片地址
- const imageUrlPrefix = 'http://192.168.2.236:82' //后台图片地址
- const getUrlArgObject = (parm) => {
- let query = window.location.search;
- let args = qs.parse(query.substr(1));
- return args[parm];//返回对象
- }
- const deepClone = (arr) =>{
- let newArr = [];
- for(let i in arr){
- newArr.push(arr[i]);
- }
- return newArr;
- }
- // 带输入框选项
- const getExpStr = (str) =>{
- let result = {}
- if(str.match(/\${number_(.*})/)){//数字输入框
- let matchStr = str.match(/\${number_(.*})/)[0]
- result = {
- type:'number',
- placeholder:matchStr.split('${number_')[1].split('}')[0],
- prefix:str.split(matchStr)[0]||'',
- suffix:str.split(matchStr)[1]||''
- }
- }else if(str.match(/\${input_(.*})/)){
- let matchStr = str.match(/\${input_(.*})/)[0]
- result = {
- type:'text',
- placeholder:matchStr.split('${input_')[1].split('}')[0],
- prefix:str.split(matchStr)[0]||'',
- suffix:str.split(matchStr)[1]||''
- }
- }
- return result
- }
- // 多行输入 多个输入框
- const getModelExpStr = (str,txt) =>{
- let result = {}
- console.log(str,txt,44444)
- if(str.match(/\${number_(.*})/)){//数字输入框
- let matchStr = str.match(/\${number_(.*})/)[0]
- let tmpHolder = matchStr.split('${number_')[1].split('}')[0]
- let iptLis = [],join='';
- if(tmpHolder.indexOf('/') != -1){
- let tmpHolderArr = tmpHolder.split('/')
- for(let i = 0;i < tmpHolderArr.length;i++){
- let obj={placeholder:'',value:''}
- let tmpData = tmpHolderArr[i];
- obj.placeholder=tmpData
- if(txt){
- obj.value=txt.split('/')[i]
- }
- iptLis.push(obj)
- }
- join = '/'
- }else{
- let obj={placeholder:'tmpHolder',value:txt}
- iptLis.push(obj)
- }
- result = {
- type:'number',
- placeholder:tmpHolder,
- iptLis:iptLis,
- join:join,
- prefix:str.split(matchStr)[0]||'',
- suffix:str.split(matchStr)[1]||'',
- }
- }else if(str.match(/\${input_(.*})/)){
- let matchStr = str.match(/\${input_(.*})/)[0]
- let tmpHolder = matchStr.split('${input_')[1].split('}')[0]
- let iptLis = [],join='';
- if(tmpHolder.indexOf('/') != -1){
- let tmpHolderArr = tmpHolder.split('/')
- for(let i = 0;i < tmpHolderArr.length;i++){
- let obj={placeholder:'',value:''}
- let tmpData = tmpHolderArr[i];
- obj.placeholder=tmpData
- if(txt){
- obj.value=txt.split('/')[i]
- }
- iptLis.push(obj)
- }
- join = '/'
- }else{
- let obj={placeholder:'tmpHolder',value:txt}
- iptLis.push(obj)
- }
- result = {
- type:'text',
- placeholder:tmpHolder,
- iptLis:iptLis,
- join:join,
- prefix:str.split(matchStr)[0]||'',
- suffix:str.split(matchStr)[1]||'',
- }
- }
- return result
- }
- const getAllStr = (allData) =>{//获取界面数据,拼接字符串
- let allStr = '',data = allData.data;
- for(let i = 0;i < data.length;i++){
- if(data[i].controlType != 3&&data[i].value){
- allStr += (data[i].value).replace('{','').replace('}','')+';'
- }
- if(data[i].controlType == 3){//多列选择
- let tmpStr = '';
- for(let j = 0;j < data[i].questionDetailList.length;j++){
- let tmpName = data[i].questionDetailList[j]
- if(tmpName&&tmpName.value){
- let obj = getModelExpStr(tmpName.name)
- tmpStr+=obj.prefix+tmpName.value+obj.suffix+(j ==(data[i].questionDetailList.length-1)?';':',')
- }
- }
- allStr+=tmpStr
- }
- }
- return allStr;
- }
- const moduleCP = {
- 'symp':1, //症状情况
- 'diagT':51, //诊疗情况
- 'other':3, //其他史
- 'suplement':52,//补充内容
- }
- const moduleConfig = (config,modules) => {
- let activeModule = []
- for(let i = 0;i < config.length;i++){
- let tmpCode = config[i].code
- for(let j = 0;j < modules.length;j++){
- let tmpType = modules[j].type
- if(tmpCode=="symptoms_show"&&tmpType==moduleCP['symp']){
- activeModule.push(modules[j])
- }else if(tmpCode=="diagnosis_show"&&tmpType==moduleCP['diagT']){
- activeModule.push(modules[j])
- }else if(tmpCode=="omhistory_show"&&tmpType==moduleCP['other']){
- activeModule.push(modules[j])
- }else if(tmpCode=="replenish_show"&&tmpType==moduleCP['suplement']){
- activeModule.push(modules[j])
- }
- }
- }
- return {
- data:activeModule,
- len:activeModule.length||0,
- order:activeModule.length>0?activeModule[0].type:''
- }
- }
- // 替换输入框占位符
- const patt = /\$\{[^\]]+\}/g;
- module.exports = {
- imageUrlPrefix,
- getUrlArgObject,
- deepClone,
- getModelExpStr,
- getAllStr,
- moduleConfig,
- patt,
- moduleCP,
- getExpStr
- }
|