text: import { replaceHtml } from '../utils/util';
  import { modelHTML } from './constant';
  import menuButton from './menuButton';
  import editor from '../global/editor';
  import tooltip from '../global/tooltip';
  import { isEditMode } from '../global/validate';
  import Store from '../store';
  import locale from '../locale/locale';
  
  //更多格式
  const luckysheetMoreFormat = {
      moneyFmtList: [
          {
              "name": "人民币",
              "pos": "before",
              "value": "¥"
          }, {
              "name": "美元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "欧元",
              "pos": "before",
              "value": "€"
          }, {
              "name": "英镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "港元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "日元",
              "pos": "before",
              "value": "￥"
          }, {
              "name": "阿尔巴尼亚列克",
              "pos": "before",
              "value": "Lek"
          }, {
              "name": "阿尔及利亚第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "阿富汗尼",
              "pos": "after",
              "value": "Af"
          }, {
              "name": "阿根廷比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "阿拉伯联合酋长国迪拉姆",
              "pos": "before",
              "value": "dh"
          }, {
              "name": "阿鲁巴弗罗林",
              "pos": "before",
              "value": "Afl"
          }, {
              "name": "阿曼里亚尔",
              "pos": "before",
              "value": "Rial"
          }, {
              "name": "阿塞拜疆马纳特",
              "pos": "before",
              "value": "?"
          }, {
              "name": "埃及镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "埃塞俄比亚比尔",
              "pos": "before",
              "value": "Birr"
          }, {
              "name": "安哥拉宽扎",
              "pos": "before",
              "value": "Kz"
          }, {
              "name": "澳大利亚元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "澳门元",
              "pos": "before",
              "value": "MOP"
          }, {
              "name": "巴巴多斯元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "巴布亚新几内亚基那",
              "pos": "before",
              "value": "PGK"
          }, {
              "name": "巴哈马元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "巴基斯坦卢比",
              "pos": "before",
              "value": "Rs"
          }, {
              "name": "巴拉圭瓜拉尼",
              "pos": "after",
              "value": "Gs"
          }, {
              "name": "巴林第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "巴拿马巴波亚",
              "pos": "before",
              "value": "B/"
          }, {
              "name": "巴西里亚伊",
              "pos": "before",
              "value": "R$"
          }, {
              "name": "白俄罗斯卢布",
              "pos": "after",
              "value": "р"
          }, {
              "name": "百慕大元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "保加利亚列弗",
              "pos": "before",
              "value": "lev"
          }, {
              "name": "冰岛克朗",
              "pos": "before",
              "value": "kr"
          }, {
              "name": "波黑可兑换马克",
              "pos": "before",
              "value": "KM"
          }, {
              "name": "波兰兹罗提",
              "pos": "after",
              "value": "z?"
          }, {
              "name": "玻利维亚诺",
              "pos": "before",
              "value": "Bs"
          }, {
              "name": "伯利兹元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "博茨瓦纳普拉",
              "pos": "before",
              "value": "P"
          }, {
              "name": "不丹努扎姆",
              "pos": "before",
              "value": "Nu"
          }, {
              "name": "布隆迪法郎",
              "pos": "before",
              "value": "FBu"
          }, {
              "name": "朝鲜圆",
              "pos": "before",
              "value": "?KP"
          }, {
              "name": "丹麦克朗",
              "pos": "after",
              "value": "kr"
          }, {
              "name": "东加勒比元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "多米尼加比索",
              "pos": "before",
              "value": "RD$"
          }, {
              "name": "俄国卢布",
              "pos": "after",
              "value": "?"
          }, {
              "name": "厄立特里亚纳克法",
              "pos": "before",
              "value": "Nfk"
          }, {
              "name": "非洲金融共同体法郎",
              "pos": "before",
              "value": "CFA"
          }, {
              "name": "菲律宾比索",
              "pos": "before",
              "value": "?"
          }, {
              "name": "斐济元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "佛得角埃斯库多",
              "pos": "before",
              "value": "CVE"
          }, {
              "name": "福克兰群岛镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "冈比亚达拉西",
              "pos": "before",
              "value": "GMD"
          }, {
              "name": "刚果法郎",
              "pos": "before",
              "value": "FrCD"
          }, {
              "name": "哥伦比亚比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "哥斯达黎加科朗",
              "pos": "before",
              "value": "?"
          }, {
              "name": "古巴比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "古巴可兑换比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "圭亚那元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "哈萨克斯坦坚戈",
              "pos": "before",
              "value": "?"
          }, {
              "name": "海地古德",
              "pos": "before",
              "value": "HTG"
          }, {
              "name": "韩元",
              "pos": "before",
              "value": "?"
          }, {
              "name": "荷属安的列斯盾",
              "pos": "before",
              "value": "NAf."
          }, {
              "name": "洪都拉斯拉伦皮拉",
              "pos": "before",
              "value": "L"
          }, {
              "name": "吉布提法郎",
              "pos": "before",
              "value": "Fdj"
          }, {
              "name": "吉尔吉斯斯坦索姆",
              "pos": "before",
              "value": "KGS"
          }, {
              "name": "几内亚法郎",
              "pos": "before",
              "value": "FG"
          }, {
              "name": "加拿大元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "加纳塞地",
              "pos": "before",
              "value": "GHS"
          }, {
              "name": "柬埔寨瑞尔",
              "pos": "before",
              "value": "Riel"
          }, {
              "name": "捷克克朗",
              "pos": "after",
              "value": "K?"
          }, {
              "name": "津巴布韦元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "卡塔尔里亚尔",
              "pos": "before",
              "value": "Rial"
          }, {
              "name": "开曼群岛元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "科摩罗法郎",
              "pos": "before",
              "value": "CF"
          }, {
              "name": "科威特第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "克罗地亚库纳",
              "pos": "before",
              "value": "kn"
          }, {
              "name": "肯尼亚先令",
              "pos": "before",
              "value": "Ksh"
          }, {
              "name": "莱索托洛蒂",
              "pos": "before",
              "value": "LSL"
          }, {
              "name": "老挝基普",
              "pos": "before",
              "value": "?"
          }, {
              "name": "黎巴嫩镑",
              "pos": "before",
              "value": "L￡"
          }, {
              "name": "立陶宛立特",
              "pos": "before",
              "value": "Lt"
          }, {
              "name": "利比亚第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "利比亚元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "卢旺达法郎",
              "pos": "before",
              "value": "RF"
          }, {
              "name": "罗马尼亚列伊",
              "pos": "before",
              "value": "RON"
          }, {
              "name": "马达加斯加阿里亚里",
              "pos": "before",
              "value": "Ar"
          }, {
              "name": "马尔代夫拉菲亚",
              "pos": "before",
              "value": "Rf"
          }, {
              "name": "马拉维克瓦查",
              "pos": "before",
              "value": "MWK"
          }, {
              "name": "马来西亚林吉特",
              "pos": "before",
              "value": "RM"
          }, {
              "name": "马其顿戴第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "毛里求斯卢比",
              "pos": "before",
              "value": "MURs"
          }, {
              "name": "毛里塔尼亚乌吉亚",
              "pos": "before",
              "value": "MRO"
          }, {
              "name": "蒙古图格里克",
              "pos": "before",
              "value": "?"
          }, {
              "name": "孟加拉塔卡",
              "pos": "before",
              "value": "?"
          }, {
              "name": "秘鲁新索尔",
              "pos": "before",
              "value": "S/"
          }, {
              "name": "缅甸开亚特",
              "pos": "before",
              "value": "K"
          }, {
              "name": "摩尔多瓦列伊",
              "pos": "before",
              "value": "MDL"
          }, {
              "name": "摩洛哥迪拉姆",
              "pos": "before",
              "value": "dh"
          }, {
              "name": "莫桑比克梅蒂卡尔",
              "pos": "before",
              "value": "MTn"
          }, {
              "name": "墨西哥比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "纳米比亚元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "南非兰特",
              "pos": "before",
              "value": "R"
          }, {
              "name": "南苏丹镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "尼加拉瓜科多巴",
              "pos": "before",
              "value": "C$"
          }, {
              "name": "尼泊尔卢比",
              "pos": "before",
              "value": "Rs"
          }, {
              "name": "尼日利亚奈拉",
              "pos": "before",
              "value": "?"
          }, {
              "name": "挪威克朗",
              "pos": "after",
              "value": "kr"
          }, {
              "name": "乔治亚拉瑞",
              "pos": "before",
              "value": "GEL"
          }, {
              "name": "人民币（离岸）",
              "pos": "before",
              "value": "￥"
          }, {
              "name": "瑞典克朗",
              "pos": "after",
              "value": "kr"
          }, {
              "name": "瑞士法郎",
              "pos": "before",
              "value": "CHF"
          }, {
              "name": "塞尔维亚第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "塞拉利昂利昂",
              "pos": "before",
              "value": "SLL"
          }, {
              "name": "塞舌尔卢比",
              "pos": "before",
              "value": "SCR"
          }, {
              "name": "沙特里亚尔",
              "pos": "before",
              "value": "Rial"
          }, {
              "name": "圣多美多布拉",
              "pos": "before",
              "value": "Db"
          }, {
              "name": "圣赫勒拿群岛磅",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "斯里兰卡卢比",
              "pos": "before",
              "value": "Rs"
          }, {
              "name": "斯威士兰里兰吉尼",
              "pos": "before",
              "value": "SZL"
          }, {
              "name": "苏丹镑",
              "pos": "before",
              "value": "SDG"
          }, {
              "name": "苏里南元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "所罗门群岛元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "索马里先令",
              "pos": "before",
              "value": "SOS"
          }, {
              "name": "塔吉克斯坦索莫尼",
              "pos": "before",
              "value": "Som"
          }, {
              "name": "太平洋法郎",
              "pos": "after",
              "value": "FCFP"
          }, {
              "name": "泰国铢",
              "pos": "before",
              "value": "?"
          }, {
              "name": "坦桑尼亚先令",
              "pos": "before",
              "value": "TSh"
          }, {
              "name": "汤加潘加",
              "pos": "before",
              "value": "T$"
          }, {
              "name": "特立尼达和多巴哥元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "突尼斯第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "土耳其里拉",
              "pos": "before",
              "value": "?"
          }, {
              "name": "瓦努阿图瓦图",
              "pos": "before",
              "value": "VUV"
          }, {
              "name": "危地马拉格查尔",
              "pos": "before",
              "value": "Q"
          }, {
              "name": "委内瑞拉博利瓦",
              "pos": "before",
              "value": "Bs"
          }, {
              "name": "文莱元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "乌干达先令",
              "pos": "before",
              "value": "UGX"
          }, {
              "name": "乌克兰格里夫尼亚",
              "pos": "before",
              "value": "грн."
          }, {
              "name": "乌拉圭比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "乌兹别克斯坦苏姆",
              "pos": "before",
              "value": "so?m"
          }, {
              "name": "西萨摩亚塔拉",
              "pos": "before",
              "value": "WST"
          }, {
              "name": "新加坡元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "新台币",
              "pos": "before",
              "value": "NT$"
          }, {
              "name": "新西兰元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "匈牙利福林",
              "pos": "before",
              "value": "Ft"
          }, {
              "name": "叙利亚镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "牙买加元",
              "pos": "before",
              "value": "$"
          }, {
              "name": "亚美尼亚德拉姆",
              "pos": "before",
              "value": "Dram"
          }, {
              "name": "也门里亚尔",
              "pos": "before",
              "value": "Rial"
          }, {
              "name": "伊拉克第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "伊朗里亚尔",
              "pos": "before",
              "value": "Rial"
          }, {
              "name": "以色列新谢克尔",
              "pos": "before",
              "value": "?"
          }, {
              "name": "印度卢比",
              "pos": "before",
              "value": "?"
          }, {
              "name": "印度尼西亚卢比",
              "pos": "before",
              "value": "Rp"
          }, {
              "name": "约旦第纳尔",
              "pos": "before",
              "value": "din"
          }, {
              "name": "越南盾",
              "pos": "after",
              "value": "?"
          }, {
              "name": "赞比亚克瓦查",
              "pos": "before",
              "value": "ZMW"
          }, {
              "name": "直布罗陀镑",
              "pos": "before",
              "value": "￡"
          }, {
              "name": "智利比索",
              "pos": "before",
              "value": "$"
          }, {
              "name": "中非金融合作法郎",
              "pos": "before",
              "value": "FCFA"
          }
      ],
      dateFmtList: [
          {
              "name": "5 May, 1930",
              "value": "d MMM, YYYY"
          },
          {
              "name": "1930-08-05",
              "value": "yyyy-MM-dd"
          },
          {
              "name": "1930/8/5",
              "value": "yyyy/MM/dd"
          },
          {
              "name": "1930年8月5日",
              "value": 'yyyy"年"M"月"d"日"'
          },
          {
              "name": "08-05",
              "value": "MM-dd"
          },
          {
              "name": "8-5",
              "value": "M-d"
          },
          {
              "name": "8月5日",
              "value": 'M"月"d"日"'
          },
          {
              "name": "13:30:30",
              "value": "h:mm:ss"
          },
          {
              "name": "13:30",
              "value": "h:mm"
          },
          {
              "name": "下午01:30",
              "value": '上午/下午 hh:mm'
          },
          {
              "name": "下午1:30",
              "value": '上午/下午 h:mm'
          },
          {
              "name": "下午1:30:30",
              "value": '上午/下午 h:mm:ss'
          },
          {
              "name": "08-05 下午01:30",
              "value": "MM-dd 上午/下午 hh:mm"
          },
          // {
          //     "name": "1930年8月5日星期二",
          //     "value": ''
          // },
          // {
          //     "name": "1930年8月5日星期二 下午1:30:30",
          //     "value": ''
          // },
      ],
      numFmtList: [
          {
              "name": "1235",
              "value": "0"
          },
          {
              "name": "1234.56",
              "value": "0.00"
          },
          {
              "name": "1,235",
              "value": "#,##0"
          },
          {
              "name": "1,234.56",
              "value": "#,##0.00"
          },
          {
              "name": "1,235",
              "value": "#,##0_);(#,##0)"
          },
          {
              "name": "1,235",
              "value": "#,##0_);[Red](#,##0)"
          },
          {
              "name": "1,234.56",
              "value": "#,##0.00_);(#,##0.00)"
          },
          {
              "name": "1,234.56",
              "value": "#,##0.00_);[Red](#,##0.00)"
          },
          {
              "name": "$1,235",
              "value": "$#,##0_);($#,##0)"
          },
          {
              "name": "$1,235",
              "value": "$#,##0_);[Red]($#,##0)"
          },
          {
              "name": "$1,234.56",
              "value": "$#,##0.00_);($#,##0.00)"
          },
          {
              "name": "$1,234.56",
              "value": "$#,##0.00_);[Red]($#,##0.00)"
          },
          {
              "name": "1234.56",
              "value": "@"
          },
          {
              "name": "123456%",
              "value": "0%"
          },
          {
              "name": "123456.00%",
              "value": "0.00%"
          },
          {
              "name": "1.23E+03",
              "value": "0.00E+00"
          },
          {
              "name": "1.2E+3",
              "value": "##0.0E+0"
          },
          {
              "name": "1234 5/9",
              "value": "# ?/?"
          },
          {
              "name": "1234 14/25",
              "value": "# ??/??"
          },
          {
              "name": "$ 1,235",
              "value": '_($* #,##0_);_(...($* "-"_);_(@_)'
          },
          {
              "name": "1,235",
              "value": '_(* #,##0_);_(*..._(* "-"_);_(@_)'
          },
          {
              "name": "$ 1,234.56",
              // "value": '_($* #,##0.00_)...* "-"??_);_(@_)'
              "value": '_($* #,##0.00_);_(...($* "-"_);_(@_)'
          },
          {
              "name": "1,234.56",
              "value": '_(* #,##0.00_);...* "-"??_);_(@_)'
          },
      ],
      createDialog: function(type){
          let _this = this;
  
          const currencyDetail = locale().currencyDetail;
          const locale_format = locale().format;
          const locale_button = locale().button;
  
          this.moneyFmtList = [
              {'name': currencyDetail.RMB,'pos': 'before','value': '¥'},
              {'name': currencyDetail.USdollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.EUR,'pos': 'before','value': '€'},
              {'name': currencyDetail.GBP,'pos': 'before','value': '￡'},
              {'name': currencyDetail.HK,'pos': 'before','value': '$'},
              {'name': currencyDetail.JPY,'pos': 'before','value': '￥'},
              {'name': currencyDetail.AlbanianLek,'pos': 'before','value': 'Lek'},
              {'name': currencyDetail.AlgerianDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.Afghani,'pos': 'after','value': 'Af'},
              {'name': currencyDetail.ArgentinePeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.UnitedArabEmiratesDirham,'pos': 'before','value': 'dh'},
              {'name': currencyDetail.ArubanFlorin,'pos': 'before','value': 'Afl'},
              {'name': currencyDetail.OmaniRial,'pos': 'before','value': 'Rial'},
              {'name': currencyDetail.Azerbaijanimanat,'pos': 'before','value': '?'},
              {'name': currencyDetail.EgyptianPound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.EthiopianBirr,'pos': 'before','value': 'Birr'},
              {'name': currencyDetail.AngolaKwanza,'pos': 'before','value': 'Kz'},
              {'name': currencyDetail.AustralianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.Patacas,'pos': 'before','value': 'MOP'},
              {'name': currencyDetail.BarbadosDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.PapuaNewGuineaKina,'pos': 'before','value': 'PGK'},
              {'name': currencyDetail.BahamianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.PakistanRupee,'pos': 'before','value': 'Rs'},
              {'name': currencyDetail.ParaguayanGuarani,'pos': 'after','value': 'Gs'},
              {'name': currencyDetail.BahrainiDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.PanamanianBalboa,'pos': 'before','value': 'B/'},
              {'name': currencyDetail.Brazilianreal,'pos': 'before','value': 'R$'},
              {'name': currencyDetail.Belarusianruble,'pos': 'after','value': 'р'},
              {'name': currencyDetail.BermudianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.BulgarianLev,'pos': 'before','value': 'lev'},
              {'name': currencyDetail.IcelandKrona,'pos': 'before','value': 'kr'},
              {'name': currencyDetail.BosniaHerzegovinaConvertibleMark,'pos': 'before','value': 'KM'},
              {'name': currencyDetail.PolishZloty,'pos': 'after','value': 'z?'},
              {'name': currencyDetail.Boliviano,'pos': 'before','value': 'Bs'},
              {'name': currencyDetail.BelizeDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.BotswanaPula,'pos': 'before','value': 'P'},
              {'name': currencyDetail.NotDannuzhamu,'pos': 'before','value': 'Nu'},
              {'name': currencyDetail.BurundiFranc,'pos': 'before','value': 'FBu'},
              {'name': currencyDetail.NorthKoreanWon,'pos': 'before','value': '?KP'},
              {'name': currencyDetail.DanishKrone,'pos': 'after','value': 'kr'},
              {'name': currencyDetail.EastCaribbeanDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.DominicaPeso,'pos': 'before','value': 'RD$'},
              {'name': currencyDetail.RussianRuble,'pos': 'after','value': '?'},
              {'name': currencyDetail.EritreanNakfa,'pos': 'before','value': 'Nfk'},
              {'name': currencyDetail.CFAfranc,'pos': 'before','value': 'CFA'},
              {'name': currencyDetail.PhilippinePeso,'pos': 'before','value': '?'},
              {'name': currencyDetail.FijiDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.CapeVerdeEscudo,'pos': 'before','value': 'CVE'},
              {'name': currencyDetail.FalklandIslandsPound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.GambianDalasi,'pos': 'before','value': 'GMD'},
              {'name': currencyDetail.Congolesefranc,'pos': 'before','value': 'FrCD'},
              {'name': currencyDetail.ColombianPeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.CostaRicanColon,'pos': 'before','value': '?'},
              {'name': currencyDetail.CubanPeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.Cubanconvertiblepeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.GuyanaDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.KazakhstanTenge,'pos': 'before','value': '?'},
              {'name': currencyDetail.Haitiangourde,'pos': 'before','value': 'HTG'},
              {'name': currencyDetail.won,'pos': 'before','value': '?'},
              {'name': currencyDetail.NetherlandsAntillesGuilder,'pos': 'before','value': 'NAf.'},
              {'name': currencyDetail.Honduraslempiras,'pos': 'before','value': 'L'},
              {'name': currencyDetail.DjiboutiFranc,'pos': 'before','value': 'Fdj'},
              {'name': currencyDetail.KyrgyzstanSom,'pos': 'before','value': 'KGS'},
              {'name': currencyDetail.GuineaFranc,'pos': 'before','value': 'FG'},
              {'name': currencyDetail.CanadianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.GhanaianCedi,'pos': 'before','value': 'GHS'},
              {'name': currencyDetail.Cambodianriel,'pos': 'before','value': 'Riel'},
              {'name': currencyDetail.CzechKoruna,'pos': 'after','value': 'K?'},
              {'name': currencyDetail.ZimbabweDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.QatariRiyal,'pos': 'before','value': 'Rial'},
              {'name': currencyDetail.CaymanIslandsDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.Comorianfranc,'pos': 'before','value': 'CF'},
              {'name': currencyDetail.KuwaitiDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.CroatianKuna,'pos': 'before','value': 'kn'},
              {'name': currencyDetail.KenyanShilling,'pos': 'before','value': 'Ksh'},
              {'name': currencyDetail.LesothoLoti,'pos': 'before','value': 'LSL'},
              {'name': currencyDetail.LaoKip,'pos': 'before','value': '?'},
              {'name': currencyDetail.LebanesePound,'pos': 'before','value': 'L￡'},
              {'name': currencyDetail.Lithuanianlitas,'pos': 'before','value': 'Lt'},
              {'name': currencyDetail.LibyanDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.LiberianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.RwandaFranc,'pos': 'before','value': 'RF'},
              {'name': currencyDetail.RomanianLeu,'pos': 'before','value': 'RON'},
              {'name': currencyDetail.MalagasyAriary,'pos': 'before','value': 'Ar'},
              {'name': currencyDetail.MaldivianRufiyaa,'pos': 'before','value': 'Rf'},
              {'name': currencyDetail.MalawiKwacha,'pos': 'before','value': 'MWK'},
              {'name': currencyDetail.MalaysianRinggit,'pos': 'before','value': 'RM'},
              {'name': currencyDetail.MacedoniawearingDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.MauritiusRupee,'pos': 'before','value': 'MURs'},
              {'name': currencyDetail.MauritanianOuguiya,'pos': 'before','value': 'MRO'},
              {'name': currencyDetail.MongolianTugrik,'pos': 'before','value': '?'},
              {'name': currencyDetail.BangladeshiTaka,'pos': 'before','value': '?'},
              {'name': currencyDetail.PeruvianNuevoSol,'pos': 'before','value': 'S/'},
              {'name': currencyDetail.MyanmarKyat,'pos': 'before','value': 'K'},
              {'name': currencyDetail.MoldovanLeu,'pos': 'before','value': 'MDL'},
              {'name': currencyDetail.MoroccanDirham,'pos': 'before','value': 'dh'},
              {'name': currencyDetail.MozambiqueMetical,'pos': 'before','value': 'MTn'},
              {'name': currencyDetail.MexicanPeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.NamibianDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.SouthAfricanRand,'pos': 'before','value': 'R'},
              {'name': currencyDetail.SouthSudanesePound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.NicaraguaCordoba,'pos': 'before','value': 'C$'},
              {'name': currencyDetail.NepaleseRupee,'pos': 'before','value': 'Rs'},
              {'name': currencyDetail.NigerianNaira,'pos': 'before','value': '?'},
              {'name': currencyDetail.NorwegianKrone,'pos': 'after','value': 'kr'},
              {'name': currencyDetail.GeorgianLari,'pos': 'before','value': 'GEL'},
              {'name': currencyDetail.RenminbiOffshore,'pos': 'before','value': '￥'},
              {'name': currencyDetail.SwedishKrona,'pos': 'after','value': 'kr'},
              {'name': currencyDetail.SwissFranc,'pos': 'before','value': 'CHF'},
              {'name': currencyDetail.SerbianDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.SierraLeone,'pos': 'before','value': 'SLL'},
              {'name': currencyDetail.SeychellesRupee,'pos': 'before','value': 'SCR'},
              {'name': currencyDetail.SaudiRiyal,'pos': 'before','value': 'Rial'},
              {'name': currencyDetail.SaoTomeDobra,'pos': 'before','value': 'Db'},
              {'name': currencyDetail.SaintHelenapound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.SriLankaRupee,'pos': 'before','value': 'Rs'},
              {'name': currencyDetail.SwazilandLilangeni,'pos': 'before','value': 'SZL'},
              {'name': currencyDetail.SudanesePound,'pos': 'before','value': 'SDG'},
              {'name': currencyDetail.Surinamesedollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.SolomonIslandsDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.SomaliShilling,'pos': 'before','value': 'SOS'},
              {'name': currencyDetail.TajikistanSomoni,'pos': 'before','value': 'Som'},
              {'name': currencyDetail.PacificFranc,'pos': 'after','value': 'FCFP'},
              {'name': currencyDetail.ThaiBaht,'pos': 'before','value': '?'},
              {'name': currencyDetail.TanzanianShilling,'pos': 'before','value': 'TSh'},
              {'name': currencyDetail.TonganPaanga,'pos': 'before','value': 'T$'},
              {'name': currencyDetail.TrinidadandTobagoDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.TunisianDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.TurkishLira,'pos': 'before','value': '?'},
              {'name': currencyDetail.VanuatuVatu,'pos': 'before','value': 'VUV'},
              {'name': currencyDetail.GuatemalanQuetzal,'pos': 'before','value': 'Q'},
              {'name': currencyDetail.CommissionBolivar,'pos': 'before','value': 'Bs'},
              {'name': currencyDetail.BruneiDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.UgandanShilling,'pos': 'before','value': 'UGX'},
              {'name': currencyDetail.UkrainianHryvnia,'pos': 'before','value': 'грн.'},
              {'name': currencyDetail.UruguayanPeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.Uzbekistansom,'pos': 'before','value': 'so?m'},
              {'name': currencyDetail.WesternSamoaTala,'pos': 'before','value': 'WST'},
              {'name': currencyDetail.SingaporeDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.NT,'pos': 'before','value': 'NT$'},
              {'name': currencyDetail.NewZealandDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.HungarianForint,'pos': 'before','value': 'Ft'},
              {'name': currencyDetail.SyrianPound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.JamaicanDollar,'pos': 'before','value': '$'},
              {'name': currencyDetail.ArmenianDram,'pos': 'before','value': 'Dram'},
              {'name': currencyDetail.YemeniRial,'pos': 'before','value': 'Rial'},
              {'name': currencyDetail.IraqiDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.IranianRial,'pos': 'before','value': 'Rial'},
              {'name': currencyDetail.NewIsraeliShekel,'pos': 'before','value': '?'},
              {'name': currencyDetail.IndianRupee,'pos': 'before','value': '?'},
              {'name': currencyDetail.IndonesianRupiah,'pos': 'before','value': 'Rp'},
              {'name': currencyDetail.JordanianDinar,'pos': 'before','value': 'din'},
              {'name': currencyDetail.VND,'pos': 'after','value': '?'},
              {'name': currencyDetail.ZambianKwacha,'pos': 'before','value': 'ZMW'},
              {'name': currencyDetail.GibraltarPound,'pos': 'before','value': '￡'},
              {'name': currencyDetail.ChileanPeso,'pos': 'before','value': '$'},
              {'name': currencyDetail.CFAFrancBEAC,'pos': 'before','value': 'FCFA'}
          ];
  
          this.dateFmtList = locale().dateFmtList;
  
          this.numFmtList = [
              {
                  "name": "1235",
                  "value": "0"
              },
              {
                  "name": "1234.56",
                  "value": "0.00"
              },
              {
                  "name": "1,235",
                  "value": "#,##0"
              },
              {
                  "name": "1,234.56",
                  "value": "#,##0.00"
              },
              {
                  "name": "1,235",
                  "value": "#,##0_);(#,##0)"
              },
              {
                  "name": "1,235",
                  "value": "#,##0_);[Red](#,##0)"
              },
              {
                  "name": "1,234.56",
                  "value": "#,##0.00_);(#,##0.00)"
              },
              {
                  "name": "1,234.56",
                  "value": "#,##0.00_);[Red](#,##0.00)"
              },
              {
                  "name": "$1,235",
                  "value": "$#,##0_);($#,##0)"
              },
              {
                  "name": "$1,235",
                  "value": "$#,##0_);[Red]($#,##0)"
              },
              {
                  "name": "$1,234.56",
                  "value": "$#,##0.00_);($#,##0.00)"
              },
              {
                  "name": "$1,234.56",
                  "value": "$#,##0.00_);[Red]($#,##0.00)"
              },
              {
                  "name": "1234.56",
                  "value": "@"
              },
              {
                  "name": "123456%",
                  "value": "0%"
              },
              {
                  "name": "123456.00%",
                  "value": "0.00%"
              },
              {
                  "name": "1.23E+03",
                  "value": "0.00E+00"
              },
              {
                  "name": "1.2E+3",
                  "value": "##0.0E+0"
              },
              {
                  "name": "1234 5/9",
                  "value": "# ?/?"
              },
              {
                  "name": "1234 14/25",
                  "value": "# ??/??"
              },
              {
                  "name": "$ 1,235",
                  "value": '_($* #,##0_);_(...($* "-"_);_(@_)'
              },
              {
                  "name": "1,235",
                  "value": '_(* #,##0_);_(*..._(* "-"_);_(@_)'
              },
              {
                  "name": "$ 1,234.56",
                  // "value": '_($* #,##0.00_)...* "-"??_);_(@_)'
                  "value": '_($* #,##0.00_);_(...($* "-"_);_(@_)'
              },
              {
                  "name": "1,234.56",
                  "value": '_(* #,##0.00_);...* "-"??_);_(@_)'
              },
          ]    
  
          $("#luckysheet-modal-dialog-mask").show();
          $("#luckysheet-moreFormat-dialog").remove();
  
          let title = "", content = '';
  
          if(type == "morecurrency"){ //货币
              title = locale_format.titleCurrency;
  
              let listHtml = '';
  
              for(let i = 0; i < _this.moneyFmtList.length; i++){
                  let name = _this.moneyFmtList[i]["name"];
                  let pos = _this.moneyFmtList[i]["pos"];
                  let value = _this.moneyFmtList[i]["value"];
  
                  listHtml += '<div class="listItem">'+
                                  '<div class="name">'+ name +'</div>'+
                                  '<div class="value">'+ value +'</div>'+
                                  '<input type="hidden" value="'+ pos +'"/>'+
                              '</div>';
              }
  
              content = '<div class="box" id="morecurrency">'+
                          '<div class="decimal">'+
                              '<label>'+ locale_format.decimalPlaces +'：</label>'+
                              '<input type="number" class="formulaInputFocus" value="2" min="0" max="9"/>'+
                          '</div>'+
                          '<div class="listbox">'+ listHtml +'</div>'+
                        '</div>';
          }
          else if(type == "moredatetime"){ //日期时间
              title = locale_format.titleDateTime;
  
              let listHtml = '';
  
              for(let i = 0; i < _this.dateFmtList.length; i++){
                  let name = _this.dateFmtList[i]["name"];
                  let value = _this.dateFmtList[i]["value"];
  
                  listHtml += '<div class="listItem">'+
                                  '<div class="name">'+ name +'</div>'+
                                  '<div class="value">'+ value +'</div>'+
                              '</div>';
              }
  
              content = '<div class="box" id="moredatetime">'+
                          '<div class="listbox">'+ listHtml +'</div>'+
                        '</div>';
          }
          else if(type == "moredigit"){ //数字
              title = locale_format.titleNumber;
  
              let listHtml = '';
  
              for(let i = 0; i < _this.numFmtList.length; i++){
                  let name = _this.numFmtList[i]["name"];
                  let value = _this.numFmtList[i]["value"];
  
                  listHtml += '<div class="listItem">'+
                                  '<div class="name">'+ name +'</div>'+
                                  '<div class="value">'+ value +'</div>'+
                              '</div>';
              }
  
              content = '<div class="box" id="moredigit">'+
                          '<div class="listbox">'+ listHtml +'</div>'+
                        '</div>';
          }
  
          $("body").append(replaceHtml(modelHTML, { 
              "id": "luckysheet-moreFormat-dialog", 
              "addclass": "luckysheet-moreFormat-dialog", 
              "title": title, 
              "content": content, 
              "botton": '<button id="luckysheet-moreFormat-dialog-confirm" class="btn btn-primary">'+ locale_button.confirm +'</button><button class="btn btn-default luckysheet-model-close-btn">'+ locale_button.cancel +'</button>', 
              "style": "z-index:100003" 
          }));
          let $t = $("#luckysheet-moreFormat-dialog").find(".luckysheet-modal-dialog-content").css("min-width", 400).end(), 
              myh = $t.outerHeight(), 
              myw = $t.outerWidth();
          let winw = $(window).width(), winh = $(window).height();
          let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop();
          $("#luckysheet-moreFormat-dialog").css({ "left": (winw + scrollLeft - myw) / 2, "top": (winh + scrollTop - myh) / 3 }).show();
          
          $("#luckysheet-moreFormat-dialog .listbox .listItem").eq(0).addClass("on");
      },
      init: function(){
          let _this = this;
  
          //选择格式
          $(document).on("click", "#luckysheet-moreFormat-dialog .listbox .listItem", function(){
              $(this).addClass("on").siblings().removeClass("on");
          });
  
          //确定
          $(document).off("click.moreFormatConfirm").on("click.moreFormatConfirm", "#luckysheet-moreFormat-dialog #luckysheet-moreFormat-dialog-confirm", function(){
              $("#luckysheet-moreFormat-dialog").hide();
              $("#luckysheet-modal-dialog-mask").hide();
  
              let d = editor.deepCopyFlowData(Store.flowdata);
  
              let value = $("#luckysheet-moreFormat-dialog .listbox .listItem.on .value").text();
              let id = $(this).parents("#luckysheet-moreFormat-dialog").find(".box").attr("id");
  
              if(id == "morecurrency"){ //货币
                  if(value.indexOf("?") != -1){
                      return;
                  }
  
                  let decimal = parseInt($("#luckysheet-moreFormat-dialog .decimal input").val().trim());
  
                  if(decimal.toString() == "NaN" || decimal < 0 || decimal > 9){
                      if(isEditMode()){
                          alert("小数位数必须在0-9之间！");
                      }   
                      else{
                          tooltip.info("小数位数必须在0-9之间！", "");
                      }
  
                      return;
                  }
  
                  let str = "";
  
                  if(decimal > 0){
                      for(let i = 1; i <= decimal; i++){
                          str += "0";
                      }
  
                      str = "0." + str;
                  }
                  else{
                      str = "#";
                  }
  
                  let pos = $("#luckysheet-moreFormat-dialog .listbox .listItem.on input:hidden").val();
  
                  if(pos == "before"){
                      str = '"' + value + '" ' + str;
                  }
                  else if(pos == "after"){
                      str = str + ' "' + value + '"';
                  }
  
                  menuButton.updateFormat(d, "ct", str);
              }
              else if(id == "moredatetime"){ //日期时间
                  menuButton.updateFormat(d, "ct", value);
              }
              else if(id == "moredigit"){ //数字
                  menuButton.updateFormat(d, "ct", value);
              }
          })
      }
  }
  
  export default luckysheetMoreFormat;