write备份

//
//  Write.swift
//  可读
//
//  Created by dengxinkaiacca@163.com on 2022/9/23.
//
import SwiftUI
import NaturalLanguage
import CoreML
import CoreData
import Vision
import Foundation
struct Write: View {
    @State var gesjuli = 0.6
    var jiazhipre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.价值列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
          return container
        }
    var chengzhangpre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.成长列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
          return container
        }
    var fapre : [String]{
        var container = [String]()
        for lie in labelnews.法列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
          return container
        }
    var fengxianpre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.险列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
           if let range = texts2.range(of: lie,options: .regularExpression) {
               container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
          return container
        }
    var kuaijipre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.会计列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
        return container
    }
    var jianglaipre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.将来列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
        return container
    }
    var guoqupre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.过去列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
        return container
    }
    var yanfapre : [String]{
        var container = [String]()
        var container1 = [String]()
        for lie in labelnews.研发列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        for lie in labelnews.去除列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container1.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""}).filter({!container1.contains($0)})
        return container
    }
    var duanyanpre : [String]{
        var container = [String]()
        for lie in yuyongnews.断言列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
        return container
    }
    var chengnuopre : [String]{
        var container = [String]()
        for lie in yuyongnews.承诺列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
        return container
    }
    var biaodapre : [String]{
        var container = [String]()
        for lie in yuyongnews.表达列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
        return container
    }
    var xuangaopre : [String]{
        var container = [String]()
        for lie in yuyongnews.宣告列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
        return container
    }
    var zhilingpre : [String]{
        var container = [String]()
        for lie in yuyongnews.指令列表 {
            if let range = texts2.range(of: lie,options: .regularExpression) {
                container.append(String(texts2[range]))
            }
        }
        container = Array(Set(container)).filter({ $0 != ""})
        return container
    }
    @Binding var texts2 : String
    @State var writeji = [String]()
    let colors = ["竞争", "财报", "语用", "场景"]
    let 竞争 = ["成长", "价值", "风险","研发"]
    let 语用 = ["承诺", "断言", "宣告","表达","指令"]
    let 财报 = ["问题","标注","分词"]
    let 标注 = ["选择", "颜色", "大小"]
    let 分词 = ["系统分词", "自定义分词","设置"]
    let 场景 = ["时态", "合规"]
    let 时态 = ["将来", "过去"]
    let 合规 = ["会计", "法律"]
    @State private var selectedColor = "财报"
    @State private var selectedColor1 = "成长"
    @State private var selectedColor2 = "承诺"
    @State private var selectedColor3 = "问题"
    @State private var selectedColor4 = ""
    @State private var selectedColor5 = ""
    @State private var selectedColor6 = ""
    @State private var selectedColor7 = "将来"
    @State private var selectedColor8 = "会计"
    @State private var selectedColor9 = 1
    @State var tabViewSelection = 0
    @State var 机器判定类别 = "炒作"
    @State var numberOfretries = 3
    @Environment(\.colorScheme) var colorScheme: ColorScheme
    @State var middleoffset = true
    @State var 乐观 = ""
    @State var 乐观1 = 0.0
    @State var 悲观 = ""
    @State var 悲观1 = 0.0
    @State var 炒作 = ""
    @State var 炒作1 = 0.0
    @State var 资金占用 = ""
    @State var 资金占用1 = 0.0
    @State var 产能过剩 = ""
    @State var 产能过剩1 = 0.0
    @State var 忽悠增持 = ""
    @State var 忽悠增持1 = 0.0
    @State var 内控缺陷 = ""
    @State var 内控缺陷1 = 0.0
    @State var 利益输送 = ""
    @State var 利益输送1 = 0.0
    @State var 瞒报 = ""
    @State var 瞒报1 = 0.0
    @State var 流动性风险 = ""
    @State var 流动性风险1 = 0.0
    @State var 提前确认收入 = ""
    @State var 提前确认收入1 = 0.0
    @State var 同业竞争 = ""
    @State var 同业竞争1 = 0.0
    @State var 盈余管理 = ""
    @State var 盈余管理1 = 0.0
    @State var 项目进展缓慢 = ""
    @State var 项目进展缓慢1 = 0.0
    @State var 忽悠重组 = ""
    @State var 忽悠重组1 = 0.0
    @State var 业绩下滑 = ""
    @State var 业绩下滑1 = 0.0
    @State var 管理层短视 = ""
    @State var 管理层短视1 = 0.0
    @State var 自利归因 = ""
    @State var 自利归因1 = 0.0
    @State private var image : UIImage? = nil
    @State private var showSheet = false
    @State var image1 : UIImage? = nil
    @State var 选择照片1 = true
    @AppStorage("动词颜色") var dongciColor: Color = Color.purple
    @AppStorage("动词大小") var dongcisize: Int = 20
    @AppStorage("名词颜色") var mingciColor: Color = Color.purple
    @AppStorage("名词大小") var mingcisize: Int = 20
    @AppStorage("形容词颜色") var xingrongciColor: Color = Color(red: 228/255, green: 45/255, blue: 68/255).opacity(0.75)
    @AppStorage("形容词大小") var xingrongcisize: Int = 18
    @AppStorage("介词颜色") var jieciColor: Color = Color.indigo
    @AppStorage("介词大小") var jiecisize: Int = 18
    @AppStorage("连词颜色") var lianciColor: Color = Color.cyan
    @AppStorage("连词大小") var liancisize: Int = 18
    @AppStorage("副词颜色") var fuciColor: Color = Color.pink
    @AppStorage("副词大小") var fucisize: Int = 18
    @AppStorage("代词颜色") var daiciColor: Color = Color.blue
    @AppStorage("代词大小") var daicisize: Int = 18
    @AppStorage("将来时态颜色") var jiangColor: Color =  Color(red: 170/255, green: 171/255, blue: 119/255)
    @AppStorage("将来大小") var jiangsize: Int = 18
    @AppStorage("过去时态颜色") var guoquColor: Color =  Color(red: 177/255, green: 177/255, blue: 177/255)
    @AppStorage("过去大小") var guoqusize: Int = 18
    @AppStorage("正面颜色") var posColor: Color = Color.red
    @AppStorage("正面大小") var possize: Int = 18
    @AppStorage("负面颜色") var negColor: Color = Color.blue
    @AppStorage("负面大小") var negsize: Int = 18
    @AppStorage("礼仪颜色") var liyiColor: Color = Color("礼").opacity(0.55)
    @AppStorage("礼仪大小") var liyisize: Int = 10
    @AppStorage("经济颜色") var jingjiColor: Color = Color("经济")
    @AppStorage("经济大小") var jingjisize: Int = 18
    @AppStorage("风险颜色") var fengxianColor: Color = Color.yellow.opacity(0.2)
    @AppStorage("风险大小") var fengxiansize: Int = 18
    @AppStorage("价值颜色") var jiazhiColor: Color = Color("价值")
    @AppStorage("价值大小") var jiazhisize: Int = 18
    @AppStorage("成长颜色") var chengzhangColor: Color = Color("成长")
    @AppStorage("成长大小") var chengzhangsize: Int = 18
    @AppStorage("法规颜色") var faColor: Color = Color("背景1")
    @AppStorage("法规大小") var fasize: Int = 18
    @Environment(\.managedObjectContext) var managedObjectContext
    @FetchRequest(entity: Bagword.entity(),
               sortDescriptors: [NSSortDescriptor(key: "name", ascending: true)])
    var bagword: FetchedResults<Bagword>
    @FetchRequest(entity: Tingyongci.entity(),
    sortDescriptors: [NSSortDescriptor(key: "name", ascending: true)])
    var tingyongci: FetchedResults<Tingyongci>
    @AppStorage("选择词频逆文本") var 词频逆文本 = true
    @AppStorage("选择动词") var selectedVerb = true
    @AppStorage("选择名词") var selectedNoun = true
    @AppStorage("选择介词") var selectedPreposition = true
    @AppStorage("选择形容词") var selectedAdjective = false
    @AppStorage("选择代词") var selectedPronoun = false
    @AppStorage("选择副词") var selectedAdverb = true
    @AppStorage("选择连词") var selectedConjunction = true
    @AppStorage("选择过去") var selectedGuoqu = false
    @AppStorage("选择将来") var selectedJianglai = false
    @AppStorage("选择经济") var selectedjingji = false
    @AppStorage("选择正面") var selectedpos = false
    @AppStorage("选择负面") var selectedneg = false
    @AppStorage("选择礼") var selectedli = true
    @AppStorage("选择价值") var selectedjiazhi = false
    @AppStorage("选择成长") var selectedchengzhang = false
    @AppStorage("选择险") var selectedfengxian = true
    @AppStorage("选择法") var selectedfa = true
    @AppStorage("paixu") private var paixu = true
    @AppStorage("paixu1") private var paixu1 = true
    @AppStorage("paixu2") private var paixu2 = true
    @AppStorage("分词最小字数") var fencislider = 1.0
    @AppStorage("自定义输入文本") var shuru3 = ""
    @AppStorage("用户输入") var shuru = "我要投资"
    {
        didSet {
            语录输入判定=news.mlmodel_t(text:shuru)
            news.tokenizeText(text: texts2, shuru: shuru)
        }
    }
    @AppStorage("总字数") private var zishu_total = 0
    @AppStorage("篇章") private var pian_total = 0.0
    @AppStorage("语录") var 语录 = "永远不要问理发师你是否需要理发。"
    {
        didSet{
            语录输入判定=news.mlmodel_t(text:语录)
            news.tokenizeText(text: texts2, shuru: 语录)
        }
    }
    @AppStorage("网址") private var api="https://hhzjp3y4p6pjfqbkkbhzwgyoqa0ngqep.lambda-url.ap-southeast-1.on.aws/"
    @State var juzichuyizishu = Double()
    let titles = ["证券代码", "证券简称", "语调","可读性","字数","公告编号","可读"]
    let bigFont = UIFont.systemFont(ofSize: 14)
    let bigFont1 = UIFont.systemFont(ofSize: 12)
    let smallFont = UIFont.systemFont(ofSize: 8)
    let modes1 = ["是", "否","均可"]
    @State public var heji = [Gonggao]()
    @State public var xiazaigonggao = Gonggao(id: 0, zhqdm: "", zhqjc: "", ggbh: "", name: "", riqi: "", mch: "")
    @State var pinglun = [String]()
    @State var dianzan123 = "0"
    @State var dianzan1231 = "0"
    @State var isFlagged = false
    @State var isFlagged1 = false
    @State var shuru1 = ""
    @State var name = ""
    @State var matches: [Caijing] = []
    @State var caijing: NSFetchRequest<Caijing> = Caijing.fetchRequest()
    @State private var showingPopover1 = false
    @State private var showingPopover2 = false
    @State private var showingPopover3 = false
    @State private var showingPopover4 = false
    @State private var showingPopover5 = true
    @State private var showingPopover6 = false
    @State private var showingPopover7 = false
    @State private var showingPopover8 = false
    @State private var showingPopover9 = false
    @State private var firstbutton = true
    @State var text1 = ""
    @State private var showingSheet = false
    @State var zhqdm = ""
    @State var zhqjc = ""
    @State var ggbh = ""
    @State var riqi = ""
    @State var mch = ""
    @State var keduxing = 0.0
    @State var yudiao = 0.0
    @State var aa = ""
    @Binding var selectedmode : String
    @Binding var selectedyulu : String
    @Binding var zidingyi: Double
    @Binding var xitong: Double
    @Binding var zishuslider: Double
    @Binding var keduxingslider: Double
    @Binding var yudiaoslider: Double
    @ObservedObject var yuyongnews: 语用数据
    @ObservedObject var news: 新闻数据
    @ObservedObject var labelnews: 标注数据
    @ObservedObject var writenews: 书写数据
    @State var isLoading = false
    @State private var zishowingSheet = false
    @State var keys = [String]()
    @State var values = [Double]()
    @State var tfidfkeys = [String]()
    @State var tfidfvalues = [Double]()
    @State var zi_tfidfkeys = [String]()
    @State var zi_tfidfvalues = [Double]()
    @State var values2 = [Double]()
    @State var zi_values2 = [Double]()
    @State var zi_keys = [String]()
    @State var zi_values = [Double]()
    @State var zi: [String] = []
    @State var isPerformingTask = false
    @State var isPerformingTask2 = false
    @State var 识别结果=""
    @State var apilist = ["https://hhzjp3y4p6pjfqbkkbhzwgyoqa0ngqep.lambda-url.ap-southeast-1.on.aws/",
                          "https://2efw7yzcxgdsbobntpxetl5phm0nolob.lambda-url.ap-southeast-1.on.aws/",
                          "https://rgqalhxxrbfc7l75xyowue4o3q0bdtgd.lambda-url.ap-southeast-1.on.aws/",
                          "https://okb4vohu2a6alfqbvzrzhmvs6y0culfs.lambda-url.ap-southeast-1.on.aws/",
                          "https://wsm3dvauy4niozkr2m7zpyrekq0xpjwf.lambda-url.ap-southeast-1.on.aws/",
                          "https://m6gj4e2ob7nq743kkv2hl467pq0wbbkg.lambda-url.ap-southeast-1.on.aws/"
    ]
    @State var 语录输入判定="??"
    @State var zishu = Int()
    @State private var rating = 0
    @State var juzi = Int()
    @State var adv = Double()
    @State var meijuadv = Double()
    let base = -3.0
    let base1 = -0.00001
    var verb: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = dongciColor
        container.font = .systemFont(ofSize: CGFloat(dongcisize))
          return container
        }
    var adjective: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = xingrongciColor
        container.font = .systemFont(ofSize: CGFloat(xingrongcisize))
          return container
        }
    var noun: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = mingciColor
        container.font = .systemFont(ofSize: CGFloat(mingcisize))
          return container
        }
    var preposition: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = jieciColor
        container.font = .systemFont(ofSize: CGFloat(jiecisize))
          return container
        }
    var conjunction: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = lianciColor
        container.font = .systemFont(ofSize: CGFloat(liancisize))
        return container
        }
    var adverb: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = fuciColor
        container.font = .systemFont(ofSize: CGFloat(fucisize))
          return container
        }
    var pronoun: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = daiciColor
        container.font = .systemFont(ofSize: CGFloat(daicisize))
          return container
        }
    var 过去: AttributeContainer {
        var container = AttributeContainer()
        container.backgroundColor = guoquColor
        container.font = .systemFont(ofSize: CGFloat(guoqusize))
        return container
        }
    var 将来: AttributeContainer {
        var container = AttributeContainer()
        container.backgroundColor = jiangColor
        container.font = .systemFont(ofSize: CGFloat(jiangsize))
        return container
        }
    var positive: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = posColor
        container.font = .systemFont(ofSize: CGFloat(possize))
          return container
        }
    var negative: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = negColor
        container.font = .systemFont(ofSize: CGFloat(negsize))
          return container
        }
    var 礼: AttributeContainer {
          var container = AttributeContainer()
        container.foregroundColor = liyiColor
        container.font = .systemFont(ofSize: CGFloat(liyisize))
          return container
        }
    var 经济: AttributeContainer {
        var container = AttributeContainer()
        container.backgroundColor = jingjiColor
        container.font = .systemFont(ofSize: CGFloat(jingjisize))
        return container
        }
    var 险: AttributeContainer {
          var container = AttributeContainer()
        container.backgroundColor = fengxianColor
        container.font = .systemFont(ofSize: CGFloat(fengxiansize))
          return container
        }
    var 价值: AttributeContainer {
        var container = AttributeContainer()
            container.foregroundColor = jiazhiColor
        container.font = .systemFont(ofSize: CGFloat(jiazhisize))
        return container
        }
    var 成长: AttributeContainer {
          var container = AttributeContainer()
              container.foregroundColor = chengzhangColor
        container.font = .systemFont(ofSize: CGFloat(chengzhangsize))
          return container
        }
    var 法: AttributeContainer {
          var container = AttributeContainer()
        container.backgroundColor = faColor
        container.font = .systemFont(ofSize: CGFloat(fasize))
          return container
        }
    @State private var 选择照片 = false
    var body: some View {
        let attext: AttributedString = {
            do {
           var text = try  AttributedString(markdown: texts2)
                if selectedVerb{
                let Verb = news.tag(text: texts2).filter { $0.value == "Verb" }
                for lie in Verb.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(verb)
                    }
                }
                }
                if selectedNoun{
                let Noun = news.tag(text: texts2).filter { $0.value == "Noun" }
                for lie in Noun.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(noun)
                    }
                }}
                if selectedPreposition {
                let Preposition = news.tag(text: texts2).filter { $0.value == "Preposition" }
                for lie in Preposition.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(preposition)
                    }
                }}
                if selectedAdjective {
                let Adjective = news.tag(text: texts2).filter { $0.value == "Adjective" }
                for lie in Adjective.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(adjective)
                    }
                }}
                if selectedPronoun {
                let Pronoun = news.tag(text: texts2).filter { $0.value == "Pronoun" }
                for lie in Pronoun.keys  {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(pronoun)
                    }
                }}
                if selectedAdverb {
                let Adverb = news.tag(text: texts2).filter { $0.value == "Adverb" }
                for lie in Adverb.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(adverb)
                    }
                }}
                if selectedConjunction {
                let Conjunction = news.tag(text: texts2).filter { $0.value == "Conjunction" }
                for lie in Conjunction.keys {
                   if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(conjunction)
                    }
                }}
                if selectedjingji  {
                for lie in labelnews.经济列表 {
                   if let range = text.range(of: lie,options: .regularExpression) {
                       text[range].mergeAttributes(经济)
                    }
                }}
                if selectedpos {
                for lie in pos{
                  if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(positive)
                    }
                }
                }
                if selectedneg {
                for lie in neg{
                  if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(negative)
                    }
                }
                }
                if selectedli {
                for lie in labelnews.礼列表 {
                  if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(礼)
                    }
                }}
                if selectedjiazhi  {
                for lie in labelnews.价值列表 {
                   if let range = text.range(of: lie,options: .regularExpression) {
                       text[range].mergeAttributes(价值)
                    }
                }}
                if selectedchengzhang  {
                for lie in labelnews.成长列表 {
                   if let range = text.range(of: lie,options: .regularExpression) {
                       text[range].mergeAttributes(成长)
                    }
                }}
                if selectedfengxian {
                for lie in labelnews.险列表 {
                    if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(险)
                    }
                }}
                if selectedfa {
                for lie in labelnews.法列表 {
                    if let range = text.range(of: lie,options: .regularExpression) {
                        text[range].mergeAttributes(法)
                    }
                }}
                return text
            } catch {
                return "暂时未连接上"}}()
        ScrollView{
            VStack{
                    if writeji != [] || texts2 != ""{
                        TabView(selection: $selectedColor9) {
                            if writeji != []{
                                List(writeji, id: \.self) {xiazaigonggao in
                                    Text(xiazaigonggao)
                                        .font(.system(size: 14.0))
                                        .fontWeight(.medium)
                                        .lineLimit(nil)
                                        .onTapGesture(perform: {
                                            if self.texts2 == "输入财报内容"{
                                                self.texts2 = ""
                                                self.texts2 += xiazaigonggao
                                            }
                                            else{
                                                self.texts2 += xiazaigonggao
                                            }
                                                selectedColor9 = 1
                                                UIApplication.shared.endEditing()
                                            }
                                        )
                                }
                                .listStyle(PlainListStyle())
                                .tabItem {
                                    Text("目录").padding()
                                }
                                .tag(0)
                            }
                            if image1 != nil || texts2 != ""{
                                ZStack(alignment:.topTrailing){
                                    ZStack(alignment:.bottom){
                                        ScrollView
                                        {
                                            if image1 != nil {
                                                Image(uiImage: self.image1!)
                                                    .resizable()
                                                    .aspectRatio(contentMode: .fill)
                                            }
                                            else{
                                                Text(attext).frame(width:UIScreen.main.bounds.width*0.9)
                                                    .lineSpacing(8)
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        HStack{
                                            Text("难度:\(keduxing, specifier: "%.1f")").font(.system(size: 12))
                                                .foregroundStyle(keduxing > 1.2 ?
                                                                 LinearGradient(
                                                                    colors:  [.yellow,.purple],
                                                                    startPoint: .leading,
                                                                    endPoint: .trailing
                                                                 )
                                                                 :
                                                                    LinearGradient(
                                                                        colors: [.green, .blue],
                                                                        startPoint: .leading,
                                                                        endPoint: .trailing
                                                                    )
                                                )
                                                .textSelection(.enabled)
                                            switch keduxing {
                                            case 3...:
                                                Image("含蓄的笑")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case 1.2...3:
                                                Image("犯傻")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case 0.0001...1.2:
                                                Image("简单")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case base...base1:
                                                Image("很简单")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case ...base:
                                                Image("超级简单")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            default:
                                                Image("简单")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            }
                                            
                                            Text("语调:\(yudiao, specifier: "%.1f")").font(.system(size: 12))
                                                .foregroundStyle(yudiao > 0 ?
                                                                 LinearGradient(
                                                                    colors: [.yellow,.purple],
                                                                    startPoint: .leading,
                                                                    endPoint: .trailing
                                                                 )
                                                                 :
                                                                    LinearGradient(
                                                                        colors: [.green, .blue],
                                                                        startPoint: .leading,
                                                                        endPoint: .trailing
                                                                    )
                                                )
                                                .textSelection(.enabled)
                                            switch yudiao {
                                            case 3...:
                                                Image("增长")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case 0.0001...3:
                                                Image("自信")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case base...base1:
                                                Image("笑哭")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            case ...base:
                                                Image("犯傻")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            default:
                                                Image("自信")
                                                    .resizable()
                                                    .scaledToFit()
                                                    .frame(width: 16, height: 16)
                                            }
                                            
                                            Text("字数:\(zishu)")
                                                .textSelection(.enabled)
                                                .font(.system(size: 12)).foregroundColor(zishu > 3000 ? .red.opacity(0.75): .blue.opacity(0.75))
                                        }.padding(EdgeInsets(top: 5, leading: 5, bottom: 5, trailing: 5))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(.gray.opacity(0.3), lineWidth: 1))
                                    }
                                    Menu {
                                        Button(action: {
                                            选择照片1 = false
                                            selectedColor9 = 1
                                            选择照片 = true                }, label: {
                                                HStack{
                                                    Image(systemName: "camera")
                                                    Text("拍照")
                                                }
                                            })
                                        Button(action: {
                                            选择照片1 = true
                                            selectedColor9 = 1
                                            选择照片 = true                }, label: {
                                                HStack{
                                                    Image(systemName: "photo")
                                                    Text("照片")
                                                }})
                                        Button(action: {
                                            if image1 != nil {
                                                self.texts2 = processImage(image: self.image1!)
                                                self.image1 = nil
                                                self.zhqdm = ""
                                                self.zhqjc = ""
                                                self.ggbh = ""
                                                self.riqi = ""
                                                self.mch = ""
                                                self.zishu = self.texts2.count
                                                self.juzi = news.juzi(text: self.texts2)
                                                self.juzichuyizishu = Double(self.zishu / self.juzi)
                                                let conj = news.tag(text: texts2).filter { $0.value == "Conjunction" }.count
                                                let adv = news.tag(text: texts2).filter { $0.value == "Adverb" }.count
                                                self.keduxing = juzichuyizishu/100 +  Double(conj)/(Double(zishu)/Double(juzichuyizishu)) + Double(adv) / (Double(zishu)/Double(juzichuyizishu))
                                                self.yudiao = ((news.sentipos(text: texts2)-news.sentineg(text: texts2))/(news.sentipos(text: texts2)+news.sentineg(text: texts2)) - 0.3 ) * 10
                                                self.pinglun = [String]()
                                                
                                            }
                                        }) {
                                            Text("确认").font(.system(size: 14))
                                        }.disabled(image1 == nil)
                                    } label: {
                                        Image(systemName: "plus.viewfinder")
                                            .font(.system(size: 18))
                                    }.sheet(isPresented: $选择照片) {
                                        if 选择照片1{
                                            ImagePicker(sourceType: .photoLibrary, selectedImage: self.$image1)
                                        }
                                        else{
                                            ImagePicker(sourceType: .camera, selectedImage: self.$image1)
                                        }
                                    }
                                    .padding(EdgeInsets(top: 5, leading: 5, bottom: 5, trailing: 5))
                                    .background(
                                        .ultraThickMaterial,
                                        in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                    )
                                    .cornerRadius(8)
                                    .overlay(RoundedRectangle(cornerRadius: 6)
                                        .stroke(.gray.opacity(0.3), lineWidth: 1))
                                    .padding(EdgeInsets(top: 30, leading: 0, bottom: 0, trailing: 20))
                                    
                                }
                                .tabItem {
                                    Text("内容").padding()
                                }
                                .tag(1)
                            }
                        }.tabViewStyle(PageTabViewStyle()).frame(height:UIScreen.main.bounds.height * 0.35).padding()
                    }
                    Divider()
                    ZStack(alignment:.bottom){
                        ZStack(alignment:.bottomTrailing){
                            TextEditor(text: $texts2).padding() .frame(height:UIScreen.main.bounds.height * 0.5)
                            Button(action: {
                                UIApplication.shared.endEditing()
                                text1 = texts2
                                self.zishu = self.texts2.count
                                self.juzi = news.juzi(text: self.texts2)
                                self.juzichuyizishu = Double(self.zishu / self.juzi)
                                let conj = news.tag(text: texts2).filter { $0.value == "Conjunction" }.count
                                let adv = news.tag(text: texts2).filter { $0.value == "Adverb" }.count
                                self.keduxing = juzichuyizishu/100 +  Double(conj)/(Double(zishu)/Double(juzichuyizishu)) + Double(adv) / (Double(zishu)/Double(juzichuyizishu))
                                self.yudiao = ((news.sentipos(text: texts2)-news.sentineg(text: texts2))/(news.sentipos(text: texts2)+news.sentineg(text: texts2)) - 0.3 ) * 10
                                zi = []
                                for aRate in bagword {
                                    zi.append(aRate.name ?? "")}
                                news.fenci1()
                                for aRate in tingyongci {
                                    news.aa.append(aRate.name ?? "")}
                                let fencicus1 = fencicus.filter { !news.aa.contains($0) }
                                let zi_bagOfWords1 = news.zigonggaokey(text: &text1, mubiao: fencicus1, zishu: fencislider)
                                news.aa += fencicus
                                var bagOfWords = news.gonggaokey(text: texts2, zishu: fencislider)
                                let totalcip = bagOfWords.map {$0.value}.reduce(0, +)
                                text1 = texts2
                                let zi_bagOfWords = news.zigonggaokey(text: &text1, mubiao: zi,zishu: 1.0)
                                zi_bagOfWords1.forEach {bagOfWords[$0.key] = $0.value}
                                let 筛选后字典 = bagOfWords.sorted{ $0.1 > $1.1 }.filter { $0.1 >= xitong }
                                keys = 筛选后字典.map{$0.key}
                                values = 筛选后字典.map {$0.value}
                                let values1 = values.map{$0 / totalcip}
                                let fetchRequest: NSFetchRequest<Caijing> = Caijing.fetchRequest()
                                fetchRequest.entity = Caijing.entity()
                                fetchRequest.resultType = .countResultType
                                let valuescoretotal = try! managedObjectContext.count(for: fetchRequest)
                                values2 = keys.map{
                                    fetchRequest.predicate = NSPredicate(
                                        format: "name contains %@",$0
                                    )
                                    let valuescoretotal1 = try! managedObjectContext.count(for: fetchRequest)
                                    let valuescoretotal3 = Double(valuescoretotal)/Double(valuescoretotal1+1)
                                    let valuescoretotal2 = log(valuescoretotal3)
                                    return Double(valuescoretotal2)
                                }
                                let values4 = zip(values2, values1).map(*)
                                let tfidf = Dictionary(uniqueKeysWithValues: zip(keys, values4))
                                let tfidf1 = tfidf.sorted{ $0.1 > $1.1 }
                                tfidfkeys = tfidf1.map{$0.key}
                                tfidfvalues = tfidf1.map {$0.value}
                                let zi_筛选后字典 = zi_bagOfWords.sorted{ $0.1 > $1.1 }.filter { $0.1 >= zidingyi }
                                zi_keys = zi_筛选后字典.map{$0.key}
                                zi_values = zi_筛选后字典.map {$0.value}
                                let zi_values1 = zi_values.map{$0 / totalcip}
                                zi_values2 = zi_keys.map{
                                    fetchRequest.predicate = NSPredicate(
                                        format: "name contains %@",$0
                                    )
                                    let valuescoretotal1 = try! managedObjectContext.count(for: fetchRequest)
                                    let valuescoretotal3 = Double(valuescoretotal)/Double(valuescoretotal1)
                                    let valuescoretotal2 = log(valuescoretotal3)
                                    return Double(valuescoretotal2)
                                }
                                let zi_values4 = zip(zi_values2, zi_values1).map(*)
                                let zi_tfidf = Dictionary(uniqueKeysWithValues: zip(zi_keys, zi_values4))
                                let zi_tfidf1 = zi_tfidf.sorted{ $0.1 > $1.1 }
                                zi_tfidfkeys = zi_tfidf1.map{$0.key}
                                zi_tfidfvalues = zi_tfidf1.map {$0.value}
                                firstbutton = false
                                showingPopover6 = false
                                isPerformingTask = false
                                isPerformingTask2 = false
                                isLoading = false
                                Task{
                                     (self.炒作,self.炒作1)=news.炒作(text:self.texts2)
                                     (self.资金占用,self.资金占用1)=news.大股东资金占用(text: self.texts2)
                                      (self.产能过剩,self.产能过剩1)=news.产能过剩风险(text: self.texts2)
                                     (self.忽悠增持,self.忽悠增持1)=news.忽悠增持(text: self.texts2)
                                     (self.内控缺陷,self.内控缺陷1)=news.内控缺陷(text: self.texts2)
                                     (self.同业竞争,self.同业竞争1)=news.同业竞争(text: self.texts2)
                                     (self.利益输送,self.利益输送1)=news.利益输送(text: self.texts2)
                                     (self.盈余管理,self.盈余管理1)=news.盈余管理(text: self.texts2)
                                      (self.忽悠重组,self.忽悠重组1)=news.忽悠重组(text: self.texts2)
                                      (self.流动性风险,self.流动性风险1)=news.流动性风险(text: self.texts2)
                                      (self.项目进展缓慢,self.项目进展缓慢1)=news.项目进展缓慢(text: self.texts2)
                                      (self.瞒报,self.瞒报1)=news.瞒报(text: self.texts2)
                                     (self.提前确认收入,self.提前确认收入1)=news.提前确认收入(text: self.texts2)
                                      (self.业绩下滑,self.业绩下滑1)=news.业绩下滑(text: self.texts2)
                                      (self.管理层短视,self.管理层短视1)=news.管理层短视(text: self.texts2)
                                     (self.乐观,self.乐观1)=news.乐观(text: self.texts2)
                                      (self.悲观,self.悲观1)=news.悲观(text: self.texts2)
                                     (self.自利归因,self.自利归因1)=news.自利归因(text: self.texts2)
                                }
                            }) {
                                Label("完成", systemImage: "rectangle.and.pencil.and.ellipsis")
                            }.disabled(texts2 == "")
                                .symbolRenderingMode(.palette)
                                .symbolRenderingMode(.hierarchical)
                                .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                .background(
                                    .ultraThickMaterial,
                                    in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                )
                                .cornerRadius(8)
                                .overlay(RoundedRectangle(cornerRadius: 6)
                                    .stroke(.teal))
                                .foregroundColor(.teal)
                                .padding(EdgeInsets(top: 0, leading: 0, bottom: 10, trailing: 5))
                        }
                        VStack{
                            HStack{
                                Group{
                                    Menu("利益相关方") {
                                        Menu("监事会") {
                                            Button(action: {
                                                self.writeji = writenews.利益相关方_监事会_募集资金
                                                selectedColor9 = 0
                                            }) {
                                                Text("募集资金")
                                            }
                                        }
                                        Menu("独立董事") {
                                            Button(action: {
                                                self.writeji = writenews.利益相关方_独立董事_募集资金
                                                selectedColor9 = 0
                                            }) {
                                                Text("募集资金")
                                            }
                                        }
                                    }
                                    Menu("基本信息") {
                                        Button(action: {
                                            self.writeji = writenews.基本信息_登记
                                            selectedColor9 = 0
                                        }) {
                                            Text("登记")
                                        }
                                    }
                                    Menu("财务状况") {
                                        Menu("财务状况") {
                                            Button(action: {
                                                self.writeji = writenews.财务状况
                                                self.middleoffset = true
                                            }) {
                                                Text("财务")
                                            }
                                        }.frame(width:100)
                                    }
                                    Menu("审议") {
                                        Menu("管理") {
                                            Button(action: {
                                                self.writeji = writenews.审议_管理_人事
                                                selectedColor9 = 0
                                            }) {
                                                Text("人事")
                                            }
                                        }.frame(width:80)
                                    }
                                    
                                }.padding(EdgeInsets(top: 5, leading: 5, bottom: 5, trailing: 5))
                                    .background(
                                        .ultraThickMaterial,
                                        in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                    )
                                    .cornerRadius(8)
                                    .overlay(RoundedRectangle(cornerRadius: 6)
                                        .stroke(.gray.opacity(0.3), lineWidth: 1))
                            }
                            HStack{
                                Group{
                                    Menu("市场操作") {
                                        Menu("发行") {
                                            Button(action: {
                                                self.writeji = writenews.市场操作_发行_短期融资券
                                                selectedColor9 = 0
                                            }) {
                                                Text("短期融资券")
                                            }
                                        }.frame(width:80)
                                        Menu("股份") {
                                            Button(action: {
                                                self.writeji = writenews.市场操作_股份_增持
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("增持")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_股份_回购
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("回购")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_股份_减持
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("减持")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_投资_减资
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("减资")
                                            }
                                            
                                        }
                                        Menu("投资") {
                                            Menu("基金") {
                                                Button(action: {
                                                    self.writeji = writenews.市场操作_投资_基金_基金设立
                                                    selectedColor9 = 0
                                                }) {
                                                    
                                                    Text("基金设立")
                                                }
                                            }.frame(width:100)
                                            Menu("项目") {
                                                Button(action: {
                                                    self.writeji = writenews.市场操作_投资_项目_必要性
                                                    selectedColor9 = 0
                                                }) {
                                                    
                                                    Text("项目必要性")
                                                }
                                                Button(action: {
                                                    self.writeji = writenews.市场操作_投资_项目_可行性
                                                    selectedColor9 = 0
                                                }) {
                                                    
                                                    Text("项目可行性")
                                                }
                                            }.frame(width:80)
                                            Button(action: {
                                                self.writeji = writenews.市场操作_投资_合资
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("合资")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_投资_减资
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("减资")
                                            }
                                            
                                        }.frame(width:80)
                                        Menu("股权激励") {
                                            Button(action: {
                                                self.writeji = writenews.市场操作_股权激励_发起
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("发起")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_股权激励_考核
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("考核")
                                            }
                                        }
                                        Menu("现金管理") {
                                            Button(action: {
                                                self.writeji = writenews.现金管理_发起
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("发起")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.现金管理_风险控制
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("风控")
                                            }
                                            Menu("品种") {
                                                Button(action: {
                                                    self.writeji = writenews.现金管理_品种_委托理财
                                                    selectedColor9 = 0
                                                }) {
                                                    
                                                    Text("委托理财")
                                                }
                                                Button(action: {
                                                    self.writeji = writenews.现金管理_风险控制
                                                    selectedColor9 = 0
                                                }) {
                                                    
                                                    Text("风控")
                                                }
                                            }
                                        }
                                        Menu("担保") {
                                            Button(action: {
                                                self.writeji = writenews.市场操作_担保_被担保方
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("被担保方")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_担保_继续担保
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("继续担保")
                                            }
                                        }.frame(width:80)
                                        
                                    }
                                    Menu("会计准则") {
                                        
                                        Button(action: {
                                            self.writeji = writenews.会计准则_政府补助
                                            selectedColor9 = 0
                                        }) {
                                            Text("补助")
                                        }
                                        
                                    }
                                    Menu("管理") {
                                        Menu("员工持股计划") {
                                            Button(action: {
                                                self.writeji = writenews.管理_员工持股计划_目的
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("目的")
                                            }}
                                        Menu("人事") {
                                            Button(action: {
                                                self.writeji = writenews.管理_人事_简历
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("简历")
                                            }
                                            Menu("任免") {
                                                Menu("监事") {
                                                    Button(action: {
                                                        self.writeji = writenews.管理_人事_任免_监事_审议
                                                        selectedColor9 = 0
                                                    }) {
                                                        
                                                        Text("审议")
                                                    }
                                                    Button(action: {
                                                        self.writeji = writenews.管理_人事_任免_监事_原因
                                                        selectedColor9 = 0
                                                    }) {
                                                        
                                                        Text("原因")
                                                    }
                                                }.frame(width:80)
                                                
                                                
                                            }
                                            Button(action: {
                                                self.writeji = writenews.市场操作_发行_短期融资券
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("短期融资券")
                                            }
                                            
                                        }
                                        Menu("现金") {
                                            Button(action: {
                                                self.writeji = writenews.现金管理_发起
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("发起")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.现金管理_风险控制
                                                selectedColor9 = 0
                                            }) {
                                                Text("风控")
                                            }
                                        }.frame(width:80)
                                    }
                                    Menu("风险") {
                                        Button(action: {
                                            self.writeji = writenews.风险_研发
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("研发")
                                        }
                                        Button(action: {
                                            self.writeji = writenews.风险_手续
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("手续")
                                        }
                                        Button(action: {
                                            self.writeji = writenews.风险_市场
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("市场")
                                        }
                                        Button(action: {
                                            self.writeji = writenews.风险_回购
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("回购")
                                        }
                                    }
                                }
                                .padding(EdgeInsets(top: 5, leading: 5, bottom: 5, trailing: 5))
                                .background(
                                    .ultraThickMaterial,
                                    in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                )
                                .cornerRadius(8)
                                .overlay(RoundedRectangle(cornerRadius: 6)
                                    .stroke(.gray.opacity(0.3), lineWidth: 1))
                            }
                            HStack{
                                Group{
                                    Menu("时间安排") {
                                        Button(action: {
                                            self.writeji = writenews.时间安排
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("时间")
                                        }
                                        
                                    }
                                    Menu("影响") {
                                        Menu("管理") {
                                            Button(action: {
                                                self.writeji = writenews.影响_管理_人事
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("人事")
                                            }
                                        }
                                        Menu("研发") {
                                            Button(action: {
                                                self.writeji = writenews.影响_研发_专利
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("专利")
                                            }
                                        }
                                        Menu("市场操作") {
                                            Button(action: {
                                                self.writeji = writenews.影响_市场操作_增资
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("增资")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.影响_市场操作_质押
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("质押")
                                            }
                                            
                                            Button(action: {
                                                self.writeji = writenews.影响_市场操作_募集资金
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("募集资金")
                                            }
                                            Button(action: {
                                                self.writeji = writenews.影响_市场操作_股份冻结
                                                selectedColor9 = 0
                                            }) {
                                                
                                                Text("股份冻结")
                                            }
                                        }
                                        Button(action: {
                                            self.writeji = writenews.影响_政府_补助
                                            selectedColor9 = 0
                                        }) {
                                            
                                            Text("补助")
                                        }
                                    }
                                    Menu("协议") {
                                        Button(action: {
                                            self.writeji = writenews.协议_担保
                                            selectedColor9 = 0
                                        }) {
                                            Text("担保")
                                        }
                                    }
                                }.padding(EdgeInsets(top: 5, leading: 5, bottom: 5, trailing: 5))
                                    .background(
                                        .ultraThickMaterial,
                                        in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                    )
                                    .cornerRadius(8)
                                    .overlay(RoundedRectangle(cornerRadius: 6)
                                        .stroke(.gray.opacity(0.3), lineWidth: 1))
                            }
                        }.padding(EdgeInsets(top: 0, leading: 0, bottom: 10, trailing: 0))
                    }
                    .padding(.bottom,30)
                Divider()
                VStack{
                    VStack {
                        Picker("Please choose a color", selection: $selectedColor) {
                            ForEach(colors, id: \.self) {
                                Text($0)
                            }
                        }.pickerStyle(SegmentedPickerStyle())
                        if selectedColor == "场景" {Picker("Please choose a color", selection: $selectedColor6) {
                            ForEach(场景, id: \.self) {
                                Text($0)
                            }
                        }.pickerStyle(SegmentedPickerStyle())}
                        if selectedColor == "财报" {Picker("Please choose a color", selection: $selectedColor3) {
                            ForEach(财报, id: \.self) {
                                Text($0)
                            }
                        }.pickerStyle(SegmentedPickerStyle())}
                    }
                    .background(colorScheme == .light ? Color.white : Color.black)
                    Group{
                        if selectedColor == "财报" && selectedColor3 == "问题"{
                            VStack(alignment:.center){
                                HStack(alignment:.center){
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("瞒报").font(Font(bigFont1)).foregroundColor(self.瞒报 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.瞒报 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  瞒报1 > 0.8{        Text("\(瞒报1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("大股东资金占用").font(Font(bigFont1)).foregroundColor(self.资金占用 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.资金占用 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  资金占用1 > 0.8{        Text("\(资金占用1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("利益输送").font(Font(bigFont1)).foregroundColor(self.利益输送 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.利益输送 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  利益输送1 > 0.8{        Text("\(利益输送1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("盈余管理").font(Font(bigFont1)).foregroundColor(self.盈余管理 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.盈余管理 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  盈余管理1 > 0.8{        Text("\(盈余管理1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                }
                                HStack(alignment:.center){
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("同业竞争").font(Font(bigFont1)).foregroundColor(self.同业竞争 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.同业竞争 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  同业竞争1 > 0.8{        Text("\(同业竞争1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("产能过剩").font(Font(bigFont1)).foregroundColor(self.产能过剩 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.产能过剩 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  产能过剩1 > 0.8{        Text("\(产能过剩1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("忽悠增持").font(Font(bigFont1)).foregroundColor(self.忽悠增持 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.忽悠增持 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  忽悠增持1 > 0.8{        Text("\(忽悠增持1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("内控缺陷").font(Font(bigFont1)).foregroundColor(self.内控缺陷 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.内控缺陷 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  内控缺陷1 > 0.8{        Text("\(内控缺陷1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                }
                                HStack(alignment:.center){
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("炒作")
                                            .font(Font(bigFont1)).foregroundColor(self.炒作 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.炒作 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  炒作1 > 0.8{        Text("\(炒作1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("流动性风险").font(Font(bigFont1)).foregroundColor(self.流动性风险 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.流动性风险 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  流动性风险1 > 0.8{        Text("\(流动性风险1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("忽悠重组").font(Font(bigFont1)).foregroundColor(self.忽悠重组 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.忽悠重组 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  忽悠重组1 > 0.8{        Text("\(忽悠重组1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("项目进展缓慢").font(Font(bigFont1)).foregroundColor(self.项目进展缓慢 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.项目进展缓慢 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  项目进展缓慢1 > 0.8{        Text("\(项目进展缓慢1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                }
                                HStack(alignment:.center){
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("提前确认收入").font(Font(bigFont1)).foregroundColor(self.提前确认收入 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.提前确认收入 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  提前确认收入1 > 0.8{        Text("\(提前确认收入1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("业绩下滑").font(Font(bigFont1)).foregroundColor(self.业绩下滑 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.业绩下滑 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  业绩下滑1 > 0.8{        Text("\(业绩下滑1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("短视").font(Font(bigFont1)).foregroundColor(self.管理层短视 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.管理层短视 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  管理层短视1 > 0.8{        Text("\(管理层短视1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("自利归因").font(Font(bigFont1)).foregroundColor(self.自利归因 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.自利归因 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  自利归因1 > 0.8{        Text("\(自利归因1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                }
                                HStack(alignment:.center){
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("乐观").font(Font(bigFont1)).foregroundColor(self.乐观 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.乐观 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  乐观1 > 0.8{        Text("\(乐观1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                        Text("悲观").font(Font(bigFont1)).foregroundColor(self.悲观 == "yes" ? .red : .gray.opacity(0.3))
                                            .padding(EdgeInsets(top: 0, leading: 2, bottom: 2, trailing: 2))
                                            .background(
                                                .ultraThickMaterial,
                                                in: RoundedRectangle(cornerRadius: 2, style: .continuous)
                                            )
                                            .cornerRadius(8)
                                            .overlay(RoundedRectangle(cornerRadius: 6)
                                                .stroke(self.悲观 == "yes" ? .red : .gray.opacity(0.3), lineWidth: 1))
                                        if  悲观1 > 0.8{        Text("\(悲观1,specifier: "%.2f")").foregroundColor(.red).baselineOffset((bigFont1.capHeight - smallFont.capHeight)).font(Font(smallFont))}
                                    }
                                }
                            }
                            
                            .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                        
                    }.padding(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 4))
                    Group{
                        if selectedColor == "财报" && selectedColor3 == "标注" {
                            TabView(selection: $selectedColor4) {
                                HStack(alignment: .center, spacing: 10){
                                    VStack{
                                        Group{
                                            Button(action: {selectedVerb.toggle()}) {
                                                Label("动", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedVerb ? dongciColor : .gray.opacity(0.3))
                                            Button(action: {selectedNoun.toggle()}) {
                                                Label("名", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedNoun ? mingciColor : .gray.opacity(0.3))
                                            Button(action: {selectedAdjective.toggle()}) {
                                                Label("形", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedAdjective ? xingrongciColor: .gray.opacity(0.3))
                                            Button(action: {selectedPronoun.toggle()}) {
                                                Label("代", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedPronoun ? daiciColor : .gray.opacity(0.3))
                                            Button(action: {selectedAdverb.toggle()}) {
                                                Label("副", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedAdverb ?fuciColor : .gray.opacity(0.3))
                                        }.padding(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 4))
                                    }
                                    VStack{
                                        Group{
                                            Button(action: {selectedPreposition.toggle()}) {
                                                Label("介", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedPreposition ?jieciColor : .gray.opacity(0.3))
                                            Button(action: {selectedConjunction.toggle()}) {
                                                Label("连", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedConjunction ?lianciColor: .gray.opacity(0.3))
                                            Button(action: {selectedJianglai.toggle()}) {
                                                Label("将", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.background(selectedJianglai ?jiangColor: .gray.opacity(0.3))
                                            Button(action: {selectedGuoqu.toggle()}) {
                                                Label("过", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.background(selectedGuoqu ?guoquColor: .gray.opacity(0.3))
                                            
                                        }.padding(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 4))
                                    }
                                    VStack{
                                        Group{
                                            Button(action: {selectedli.toggle()}) {
                                                Label("礼", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedli ?liyiColor: .gray.opacity(0.3))
                                            Button(action: {selectedpos.toggle()}) {
                                                Label("正", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedpos ?posColor: .gray.opacity(0.3))
                                            Button(action: {selectedneg.toggle()}) {
                                                Label("负", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedneg ?negColor: .gray.opacity(0.3))
                                            Button(action: {selectedjingji.toggle()}) {
                                                Label("经", systemImage: "eyeglasses").labelStyle(.titleOnly) .background(selectedjingji ?jingjiColor: .white)
                                            }.background(selectedjingji ?jingjiColor: .gray.opacity(0.3))
                                        }.padding(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 4))
                                    }
                                    VStack{
                                        Group{
                                            Button(action: {selectedjiazhi.toggle()}) {
                                                Label("值", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedjiazhi ?jiazhiColor : .gray.opacity(0.3))
                                            Button(action: {selectedchengzhang.toggle()}) {
                                                Label("成", systemImage: "eyeglasses").labelStyle(.titleOnly)
                                            }.foregroundColor(selectedchengzhang ?chengzhangColor: .gray.opacity(0.3))
                                            Button(action: {selectedfengxian.toggle()}) {
                                                Label("险", systemImage: "eyeglasses").labelStyle(.titleOnly).background(selectedfengxian ?fengxianColor: .white)
                                            }.background(selectedfengxian ?fengxianColor: .gray.opacity(0.3))
                                            Button(action: {selectedfa.toggle()}) {
                                                Label("法", systemImage: "eyeglasses").labelStyle(.titleOnly) .background(selectedfa ?faColor: .white)
                                            }.background(selectedfa ?faColor: .gray.opacity(0.3))
                                        }.padding(EdgeInsets(top: 4, leading: 4, bottom: 4, trailing: 4))
                                    }
                                }
                                .tabItem {
                                    Text("选择").padding()
                                }
                                .tag("选择")
                                ScrollView(.horizontal){
                                    HStack{ VStack{
                                        ColorPicker("动词", selection: $dongciColor)
                                        ColorPicker("名词", selection: $mingciColor)
                                        ColorPicker("形容词", selection: $xingrongciColor)
                                        ColorPicker("代词", selection: $daiciColor)
                                    }
                                        VStack{
                                            ColorPicker("副词", selection: $fuciColor)
                                            ColorPicker("介词", selection: $jieciColor)
                                            ColorPicker("连词", selection: $lianciColor)
                                            ColorPicker("礼仪", selection: $liyiColor)
                                        }
                                        VStack{
                                            ColorPicker("正面", selection: $posColor)
                                            ColorPicker("负面", selection: $negColor)
                                            ColorPicker("价值", selection: $jiazhiColor)
                                            ColorPicker("成长", selection: $chengzhangColor)
                                        }
                                        VStack{
                                            ColorPicker("将来(背景)", selection: $jiangColor)
                                            ColorPicker("过去(背景)", selection: $guoquColor)
                                            ColorPicker("经济(背景)", selection: $jingjiColor)
                                            ColorPicker("风险(背景)", selection: $fengxianColor)
                                            ColorPicker("法(背景)", selection: $faColor)
                                        }
                                    }
                                }
                                .tabItem {
                                    Text("颜色").padding()
                                }
                                .tag("颜色")
                                ScrollView(.horizontal){
                                    HStack{
                                        VStack{
                                            Stepper("动词:\(dongcisize) ",value: $dongcisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("名词:\(mingcisize) ",value: $mingcisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("代词:\(daicisize) ",value: $daicisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("形词:\(xingrongcisize) ",value: $xingrongcisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("副词:\(fucisize) ",value: $fucisize, in: 1...50, step: 1).frame(height:15)
                                            
                                        }
                                        VStack{
                                            Stepper("介词:\(jiecisize) ",value: $jiecisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("连词:\(liancisize) ",value: $liancisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("将来:\(jiangsize) ",value: $jiangsize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("过去:\(guoqusize) ",value: $guoqusize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("礼用:\(liyisize) ",value: $liyisize, in: 1...50, step: 1).frame(height:15)
                                        }
                                        VStack{
                                            Stepper("正面:\(possize) ",value: $possize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("负面:\(negsize) ",value: $negsize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("经济:\(jingjisize) ",value: $jingjisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("价值:\(jiazhisize) ",value: $jiazhisize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("成长:\(chengzhangsize) ",value: $chengzhangsize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("风险:\(fengxiansize) ",value: $fengxiansize, in: 1...50, step: 1).frame(height:15)
                                            Stepper("法律:\(fasize) ",value: $fasize, in: 1...50, step: 1).frame(height:15)
                                        }
                                    }
                                }
                                .tabItem {
                                    Text("大小").padding()
                                }
                                .tag("大小")
                            }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
                                .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                    }
                    Group{
                        if selectedColor == "财报" && selectedColor3 == "分词" {
                            TabView(selection: $selectedColor5) {
                                if tfidfkeys != []{
                                    VStack(alignment:.center){
                                        Button(action: {
                                            词频逆文本.toggle()
                                        }, label: {
                                            Text("系统分词").fontWeight(.medium)
                                                .opacity(词频逆文本 ? 1 : 0.6)
                                            .font(.system(size: 12.0))}
                                        )
                                        .frame(width:60)
                                        ScrollViewReader { scrollView in
                                            ScrollView {
                                                List{ForEach(tfidfkeys.indices,id:\.self) {index in
                                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                                        Text(tfidfkeys[index]).font(Font(bigFont)).foregroundColor(index > 2 ?(colorScheme == .light ? .black :.white) : .red).id(index)
                                                        if 词频逆文本{
                                                            Text("\(tfidfvalues[index],specifier: "%.3f")").baselineOffset((bigFont.capHeight - smallFont.capHeight)).font(Font(smallFont)).foregroundColor(index > 2 ?.secondary : .red)
                                                        }
                                                    }}
                                                    
                                                }
                                                
                                                .textSelection(.enabled)
                                                .onTapGesture(perform: {
                                                    scrollView.scrollTo(1, anchor: .center)
                                                })
                                                .frame(height:UIScreen.main.bounds.height*gesjuli)                                                   .listStyle(PlainListStyle())
                                            }
                                            HStack{
                                                Button(action: {
                                                    withAnimation {
                                                        scrollView.scrollTo(1, anchor: .center)
                                                    }
                                                }) {
                                                    Image(systemName: "backward.end")
                                                        .opacity(keys.count > 6 ? 1 : 0)
                                                        .font(.system(size: 16))
                                                        .foregroundColor(colorScheme == .light ? .black :.white)
                                                }.padding(.vertical,5)
                                                    .disabled(showingPopover6)
                                                Button(action: {
                                                    withAnimation {
                                                        scrollView.scrollTo(keys.count - 1)
                                                    }
                                                }) {
                                                    Image(systemName: "forward.end")
                                                        .opacity(keys.count > 6 ? 1 : 0)
                                                        .font(.system(size: 16))
                                                        .foregroundColor(colorScheme == .light ? .black :.white)
                                                }.padding(.vertical,5)
                                                    .disabled(showingPopover6)
                                            }
                                        }
                                    }
                                    .tabItem {
                                        Text("系统分词").padding()
                                    }
                                    .tag("系统分词")
                                }
                                if zi_tfidfkeys != []{
                                    VStack(alignment:.center){
                                        Button(action: {
                                            词频逆文本.toggle()
                                        }, label: {
                                            Text("自定义分词").fontWeight(.medium)
                                                .opacity(词频逆文本 ? 1 : 0.6)
                                            .font(.system(size: 12.0))}
                                        )
                                        .frame(width:100)
                                        ScrollViewReader { scrollView in
                                            ScrollView {
                                                List{ForEach(zi_tfidfkeys.indices,id:\.self) {index in
                                                    HStack(alignment: .firstTextBaseline, spacing: 0) {
                                                        Text(zi_tfidfkeys[index]).font(Font(bigFont)).foregroundStyle(
                                                            LinearGradient(
                                                                colors: [.purple,.pink],
                                                                startPoint: .leading,
                                                                endPoint: .trailing
                                                            )).id(index)
                                                        if 词频逆文本{
                                                            Text("\(zi_tfidfvalues[index],specifier: "%.3f")").baselineOffset((bigFont.capHeight - smallFont.capHeight)).font(Font(smallFont)).foregroundStyle(
                                                                LinearGradient(
                                                                    colors: [.purple,.pink],
                                                                    startPoint: .leading,
                                                                    endPoint: .trailing
                                                                ))
                                                        }
                                                    }
                                                }}
                                                .textSelection(.enabled)
                                                .onTapGesture(perform: {
                                                    scrollView.scrollTo(1, anchor: .center)
                                                })
                                                .frame(height:UIScreen.main.bounds.height*gesjuli)                                                  .listStyle(PlainListStyle())
                                            }
                                            HStack{
                                                Button(action: {
                                                    withAnimation {
                                                        scrollView.scrollTo(1, anchor: .center)
                                                    }
                                                }) {
                                                    Image(systemName: "backward.end")
                                                        .opacity(zi_keys.count > 5 ? 1 : 0)
                                                        .font(.system(size: 16))
                                                        .foregroundColor(colorScheme == .light ? .black :.white)
                                                }
                                                Button(action: {
                                                    withAnimation {
                                                        scrollView.scrollTo(zi_keys.count - 1)
                                                    }
                                                }) {
                                                    Image(systemName: "forward.end")
                                                        .opacity(zi_keys.count > 6 ? 1 : 0)
                                                        .font(.system(size: 16))
                                                        .foregroundColor(colorScheme == .light ? .black :.white)
                                                }
                                            }
                                        }
                                    }
                                    .tabItem {
                                        Text("自定义分词").padding()
                                    }
                                    .tag("自定义分词")
                                }
                                VStack{
                                    VStack{
                                        Stepper("自定义最小词频:\(zidingyi, specifier: "%.0f") ",value: $zidingyi, in: 1...50, step: 1).frame(height:15).accentColor(.teal).padding(.bottom,5)
                                        Stepper("系统最小词频:\(xitong, specifier: "%.0f")  ",value: $xitong, in: 1...50, step: 1).frame(height:15).padding(.bottom,5)
                                        Stepper("系统最小字数:\(fencislider, specifier: "%.0f")  ",value: $fencislider, in: 1...20, step: 1).frame(height:15).padding(.bottom,5)
                                    }
                                    HStack{
                                        Spacer()
                                        Button(action: {
                                            zishowingSheet.toggle()
                                        }, label: {
                                            VStack{
                                                Image(systemName: "scissors").foregroundColor(colorScheme == .light ? Color.black : Color.white)
                                                Text("自定义分词").foregroundColor(colorScheme == .light ? Color.black : Color.white)
                                                .font(.system(size: 12.0))}
                                        }).sheet(isPresented: $zishowingSheet) {
                                            CustomBag()}
                                        Spacer()
                                        Button(action: {
                                            showingSheet.toggle()
                                        }, label: {
                                            Image("停用词")
                                                .resizable()
                                                .scaledToFit()
                                            .frame(width: 35, height: 35)}
                                        )
                                        .sheet(isPresented: $showingSheet) {
                                            xianshi()}
                                        Spacer()
                                    }
                                    Button(action: {
                                        text1 = texts2
                                        zi = []
                                        for aRate in bagword {
                                            zi.append(aRate.name!)
                                        }
                                        news.fenci1()
                                        for aRate in tingyongci {
                                            news.aa.append(aRate.name!)}
                                        let fencicus1 = fencicus.filter {!news.aa.contains($0)}
                                        let zi_bagOfWords1 = news.zigonggaokey(text: &text1, mubiao: fencicus1,zishu: fencislider)
                                        news.aa += fencicus
                                        var bagOfWords = news.gonggaokey(text: texts2, zishu: fencislider)
                                        text1 = texts2
                                        let zi_bagOfWords = news.zigonggaokey(text: &text1, mubiao: zi,zishu: 1.0)
                                        zi_bagOfWords1.forEach {bagOfWords[$0.key] = $0.value
                                        }
                                        let 筛选后字典 = bagOfWords.sorted{ $0.1 > $1.1 }.filter { $0.1 >= xitong }
                                        keys = 筛选后字典.map{$0.key}
                                        values = 筛选后字典.map {$0.value}
                                        let zi_筛选后字典 = zi_bagOfWords.sorted{ $0.1 > $1.1 }.filter { $0.1 >= zidingyi }
                                        zi_keys = zi_筛选后字典.map{$0.key}
                                        zi_values = zi_筛选后字典.map {$0.value}
                                    }, label: {
                                        HStack(spacing:0){
                                            Image(systemName: "checkmark.shield")
                                            Text("确认")
                                            .font(.system(size: 14.0))}
                                    })
                                }
                                .tabItem {
                                    Text("设置").padding()
                                }
                                .tag("设置")
                            }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always)).padding()
                                .overlay(
                                    RoundedRectangle(cornerRadius: 16)
                                        .stroke(.gray.opacity(0.3), lineWidth: 1)
                                ).padding()
                                .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                    }
                    Group{
                        if selectedColor == "财报" && selectedColor3 == "匹配" {
                            VStack{
                                HStack{
                                    Spacer()
                                    VStack{
                                        Button(action: {
                                            showingPopover1 = true
                                        }, label: {
                                            Text(语录输入判定)
                                                .font(.caption).bold()
                                                .foregroundColor(语录输入判定 == "投机" ? .red.opacity(0.75): .blue.opacity(0.75))
                                        })
                                        .popover(isPresented: $showingPopover1) {
                                            Text("使用训练好的自然语言模型对语录和用户输入进行投资还是投机的判定,仅供参考")
                                            .font(.headline)}
                                    }
                                    Spacer()
                                }
                                HStack{
                                    ZStack(alignment: .topLeading){
                                        TextEditor(text: $shuru)
                                        if shuru.isEmpty {
                                            Text("请输入预匹配内容")
                                                .foregroundColor(Color(UIColor.placeholderText))
                                                .padding(15)
                                        }
                                    }
                                    .padding(7)
                                    .padding(.horizontal, 25)
                                    .background(Color(.systemGray6))
                                    .cornerRadius(8)
                                    .overlay(
                                        Image(systemName: "magnifyingglass")
                                            .foregroundColor(.gray)
                                            .frame(minWidth: 0, maxWidth: .infinity, alignment: .topLeading)
                                    )
                                    .shadow(color: .gray, radius: 5, x: 1, y: 1)
                                    .foregroundColor(Color.gray)
                                    .frame(height:100)
                                    Button(action: {
                                        语录输入判定=news.mlmodel_t(text:shuru)
                                        news.tokenizeText(text: texts2, shuru: shuru)
                                        UIApplication.shared.endEditing()
                                    }) {
                                        Image(systemName: "wand.and.rays")
                                            .font(.system(size: 24))
                                            .foregroundColor(.blue)
                                    }
                                }.padding()
                                HStack{Text("语录匹配句") .font(.headline).padding(.leading,6)
                                    Image(systemName: "wonsign.circle")
                                        .symbolRenderingMode(.hierarchical)
                                        .foregroundColor(.indigo)
                                        .font(.system(size: 25.0))
                                    Spacer()}
                                .padding(.leading,5)
                                ScrollView{
                                    Text(news.显示字典)
                                        .font(.system(size: 15.0))
                                }.frame(height:100)
                                    .padding()
                            }
                            .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                    }
                    Group{
                        if selectedColor == "竞争" && (jiazhipre.count + fengxianpre.count + chengzhangpre.count + yanfapre.count) != 0 {
                            TabView(selection: $selectedColor1) {
                                if chengzhangpre.count != 0 {
                                        VStack(alignment:.leading){
                                            Text("成长(\(chengzhangpre.count))").padding()
                                            List{ForEach(chengzhangpre,id:\.self) {index in
                                                GroupBox{
                                                    Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                        }
                                    .tabItem {
                                        Text("成长").padding()
                                    }
                                    .tag("成长")
                                }
                                if jiazhipre.count != 0 {
                                        VStack(alignment:.leading){
                                            Text("价值(\(jiazhipre.count))").padding()
                                            List{ForEach(jiazhipre,id:\.self) {index in
                                                GroupBox{
                                                    Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                        }
                                    
                                    .tabItem {
                                        Text("价值").padding()
                                    }
                                    .tag("价值")
                                }
                                if fengxianpre.count != 0 {
                                        VStack(alignment:.leading){
                                            Text("风险(\(fengxianpre.count))").padding()
                                            List{ForEach(fengxianpre,id:\.self) {index in
                                                GroupBox{
                                                    Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                    }
                                    .tabItem {
                                        Text("风险").padding()
                                    }
                                    .tag("风险")
                                }
                                if yanfapre.count != 0 {
                                        VStack(alignment:.leading){
                                            Text("研发(\(yanfapre.count))").padding()
                                            List{ForEach(yanfapre,id:\.self) {index in
                                                GroupBox{
                                                    Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                        }
                                    .tabItem {
                                        Text("研发").padding()
                                    }
                                    .tag("研发")
                                }
                            }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
                                .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                    }
                    ScrollView{
                        let yuyong = chengnuopre.count + duanyanpre.count + xuangaopre.count + biaodapre.count + zhilingpre.count
                        if selectedColor == "语用" && yuyong != 0 {
                            TabView(selection: $selectedColor2) {
                                if chengnuopre.count != 0 {
                                    VStack(alignment:.leading)
                                    {
                                        Text("承诺(\(chengnuopre.count))").padding()
                                        List{ForEach(chengnuopre,id:\.self) {index in
                                            GroupBox{
                                                Text(index).lineLimit(nil)
                                                    .font(.system(size: 12.0))
                                                    .lineLimit(nil)
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        }.listStyle(.plain)
                                        Spacer()
                                    }
                                    .tabItem {
                                        Text("承诺").padding()
                                    }
                                    .tag("承诺")
                                }
                                if duanyanpre.count != 0 {
                                    VStack(alignment:.leading)
                                    {Text("断言(\(duanyanpre.count))").padding()
                                        List{ForEach(duanyanpre,id:\.self) {index in
                                            GroupBox{
                                                Text(index).lineLimit(nil)
                                                    .font(.system(size: 12.0))
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        }.listStyle(.plain)
                                        Spacer()
                                    }
                                    .tabItem {
                                        Text("断言").padding()
                                    }
                                    .tag("断言")
                                }
                                if xuangaopre.count != 0 {
                                    VStack(alignment:.leading)
                                    {Text("宣告(\(xuangaopre.count))").padding()
                                        List{ForEach(xuangaopre,id:\.self) {index in
                                            GroupBox{
                                                Text(index).lineLimit(nil)
                                                    .font(.system(size: 12.0))
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        }.listStyle(.plain)
                                        Spacer()
                                    }
                                    .tabItem {
                                        Text("宣告").padding()
                                    }
                                    .tag("宣告")
                                }
                                if biaodapre.count != 0 {
                                    VStack(alignment:.leading)
                                    {Text("表达(\(biaodapre.count))").padding()
                                        List{ForEach(biaodapre,id:\.self) {index in
                                            GroupBox{
                                                Text(index).lineLimit(nil)
                                                    .font(.system(size: 12.0))
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        }.listStyle(.plain)
                                        Spacer()
                                    }
                                    .tabItem {
                                        Text("表达").padding()
                                    }
                                    .tag("表达")
                                }
                                if zhilingpre.count != 0 {
                                    VStack(alignment:.leading)
                                    {Text("指令(\(zhilingpre.count))").padding()
                                        List{ForEach(zhilingpre,id:\.self) {index in
                                            GroupBox{
                                                Text(index).lineLimit(nil)
                                                    .font(.system(size: 12.0))
                                                    .textSelection(.enabled)
                                            }
                                        }
                                        }.listStyle(.plain)
                                        Spacer()
                                    }
                                    .tabItem {
                                        Text("指令").padding()
                                    }
                                    .tag("指令")
                                }
                            }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
                                .frame(height:UIScreen.main.bounds.height*gesjuli)
                        }
                        Group{
                            if selectedColor == "场景" && selectedColor6 == "时态" && (jianglaipre.count + guoqupre.count) != 0 {
                                TabView(selection: $selectedColor7) {
                                    if jianglaipre.count != 0 {
                                        VStack(alignment:.leading)
                                        {Text("将来(\(jianglaipre.count))").padding()
                                            List{ForEach(jianglaipre,id:\.self) {index in
                                                GroupBox{   Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                            Spacer()
                                        }
                                        .tabItem {
                                            Text("将来").padding()
                                        }
                                        .tag("将来")
                                    }
                                    if guoqupre.count != 0 {
                                        VStack(alignment:.leading)
                                        {
                                            Text("过去(\(guoqupre.count))").padding()
                                            List{ForEach(guoqupre,id:\.self) {index in
                                                GroupBox{   Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                            Spacer()
                                        }
                                        .tabItem {
                                            Text("过去").padding()
                                        }
                                        .tag("过去")
                                    }
                                }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
                                    .frame(height:UIScreen.main.bounds.height*gesjuli)
                            }
                            if selectedColor == "场景" && selectedColor6 == "合规" && (kuaijipre.count + fapre.count) != 0 {
                                TabView(selection: $selectedColor8) {
                                    if kuaijipre.count != 0 {
                                        VStack(alignment:.leading)
                                        {Text("会计(\(kuaijipre.count))").padding()
                                            List{ForEach(kuaijipre,id:\.self) {index in
                                                GroupBox{   Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                            Spacer()
                                        }
                                        .tabItem {
                                            Text("会计").padding()
                                        }
                                        .tag("会计")
                                    }
                                    if fapre.count != 0 {
                                        VStack(alignment:.leading)
                                        {
                                            Text("法律(\(fapre.count))").padding()
                                            List{ForEach(fapre,id:\.self) {index in
                                                GroupBox{   Text(index).lineLimit(nil)
                                                        .font(.system(size: 12.0))
                                                        .textSelection(.enabled)
                                                }
                                            }
                                            }.listStyle(.plain)
                                            Spacer()
                                        }
                                        .tabItem {
                                            Text("法律").padding()
                                        }
                                        .tag("法律")
                                    }
                                }.tabViewStyle(PageTabViewStyle()).indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
                                    .frame(height:UIScreen.main.bounds.height*gesjuli)
                            }
                        }
                    }
                    Spacer()
                }
                .frame(height:UIScreen.main.bounds.height*gesjuli).background(colorScheme == .light ? Color.white : Color.black)
            }
        }
    }
}

 

posted @ 2022-12-01 07:38  速搞  阅读(10)  评论(0编辑  收藏  举报