/**
 * 用“el-form-item”包裹“组件html”
 * @param formJson 表单配置
 * @param component 组件(oneText, multiText, select, radio...)
 * @param componentHtml 组件html
 * @returns {string}
 */
export function formItemWrapper(formJson, component, componentHtml) {
  const config = component.__config__
  // 标题
  let label = `label="${config.label}"`
  // 标题宽度
  let labelWidth = ''
  // 必填
  const required = config.required ? 'required' : ''
  // 如果配置了标题宽度
  if (config.labelWidth && config.labelWidth !== formJson.labelWidth) {
    labelWidth = `label-width="${config.labelWidth}px"`
  }
  // 如果不显示标题
  if (config.showLabel === false) {
    label = ''
    labelWidth = 'label-width="0"'
  }
  // 用“el-form-item”包裹
  return `
        ${componentHtml}
      `
}
/**
 * 用“el-col”包裹“el-form-item”
 * @param component 组件(oneText, multiText, select, radio...)
 * @param formItemHtml formItemHtml
 * @returns {string}
 */
export function colWrapper(component, formItemHtml) {
  return `
      ${formItemHtml}
    `
}
export function templateWrapper(str) {
  return `
    
      ${str}
    
  `
}
export function scriptWrapper(str) {
  return ``
}
export function styleWrapper(cssStr) {
  return ``
}
export function dialogWrapper(formHtml) {
  return `
    
      ${formHtml}
      
        取消
        确定
      
    `
}
/**
 * 获取“vModel”属性的HTML
 * @param formJson 表单配置
 * @param component 组件(oneText, multiText, select, radio...)
 * @param parent 父组件(dialog, table...)
 * @returns {string}
 */
export function getVModelHtml(formJson, component, parent) {
  let vModel = `v-model="${formJson.formModel}.${component.__vModel__}"`
  if (component.inTable) { // 如果该组件在表格中
    vModel = `v-model="scope.row.${component.__vModel__}"`
  } else if (parent && parent.FComponentType === 'dialog') { // 如果该组件在弹框中
    vModel = `v-model="${parent.FFormDataParamName}.${component.__vModel__}"`
  }
  return vModel
}