import React, { Component } from "react"; import style from "../index.less"; import deleteIcon from '@common/images/delete.png'; import tableIcon from '@common/images/table.png'; import printIcon from '@common/images/team.png'; import allTableIcon from '@common/images/all-table.png'; import level1 from "@common/images/级别1.png"; import checkIcon from '@common/images/check.png'; import {ComplexModal,MiniToast,Radio} from '@commonComp'; import ScaleTable from '@containers/ScaleTable'; import $ from "jquery"; /** * 来源于页面选择 * * **/ class ScaleItem extends Component { constructor(props) { super(props); this.$area = React.createRef(); this.state = { scaleId:'', scaleName:'', parentId:'', showScale:false, optionId:'', possible:props.possible||{}, radioVal:props.radioVal||{}, formulaId:'' }; this.getItems = this.getItems.bind(this); this.getDetailItems = this.getDetailItems.bind(this); this.showScaleFn = this.showScaleFn.bind(this); this.closeScaleFn = this.closeScaleFn.bind(this); this.showOption = this.showOption.bind(this); this.closeOption = this.closeOption.bind(this); this.closeFormula = this.closeFormula.bind(this); this.onPrint = this.onPrint.bind(this); } showOption(id){ this.setState({ optionId:id }) } closeOption(){ this.setState({ optionId:null }) } confirmOption(parent,pIndex){ const {radioVal,possible} = this.state; this.setState({ possible:Object.assign({},possible,radioVal), radioVal:Object.assign({},possible,radioVal),//不设置radioVal只有最近一次选中的值 optionId:null }) } handleRadio(item,parent,pIndex){ let {radioVal} = this.props; this.setState({ radioVal:Object.assign({},radioVal,{[pIndex]:item.detailName}) }) } handleForRadio(){ } showFormula(id){ this.setState({ formulaId:id }) } confirmFormula(){ } closeFormula(){ this.setState({ formulaId:null }) } getDetailItems(item,i){ let arr = [],temp=''; const {indexs} = this.props; const {optionId,radioVal,possible,formulaId} = this.state; item.details.map((it,j)=>{ if(indexs[i]&&indexs[i].includes(j)){ if(it.type==1){ //量表 temp =this.showScaleFn(it.content.name,it.content.id,item.id)}>【{it.content.name}】; }else if(it.type==2){ //计算公式 temp =
计算公式: 请选择 {it.content.details.map((item,idd)=>{ if(item.controlType==0){//单选 return }else if(item.controlType==1){//多选 }else if(item.controlType==2){//输入框 return }else if(item.controlType==3){//下拉 return } })}
{'请选择'+item.name+':'} {item.details.map((ii,ind)=>{ return
})}
{'请输入'+item.name+':'}
{'请选择'+item.name+':'} {item.details.map((ii,ind)=>{ return
})}
计算
}else if(it.type==3){ temp =
可能结果: {possible[i]?possible[i]:'请选择'}
{it.content.name?it.content.name+':':''} {it.content.details&&it.content.details.map((lis,ind)=>{ return
})}
; } arr.push(
  • {item.name}:
    {temp}
    this.props.handleRemove(i,j)}>
  • ); } }); return arr; } getItems(){ const { data } = this.props; return data&&data.map((it,i)=>{ return this.getDetailItems(it,i); }); } showScaleFn(name,id,pid){ const {getScaleData,scaleInfo} = this.props; this.setState({ scaleId:id, scaleName:name, parentId:pid, showScale:true }); if(!scaleInfo[id]){ getScaleData&&getScaleData({id,name}); } } closeScaleFn(){ this.setState({ showScale:false }) } onPrint() { let dom = this.state.showTable?$("#printcontent"):$("#AssistResult"); dom.jqprint({ debug: false, importCSS: true, printContainer: true, operaSupport: false, }); } componentDidMount(){ if(this.props.text){ this.$area.current.value = this.props.text; } } render() { const {title,handleInp,scaleInfo,disabled} = this.props; const {scaleName,scaleId,parentId,showScale} = this.state; const footer =
    打印 {}}>确定
    ; const scaleFooter =
    打印 this.closeTable()}>确定
    ; return

    {title}

    {showScale? :''}
    ; } } export default ScaleItem;