hailu
2024-02-28 a5c3d8a6a9dee5c50bb39b4b7b625eec81e7da34
A股
7个文件已修改
371 ■■■■■ 已修改文件
dist.rar 补丁 | 查看 | 原始文档 | blame | 历史
src/components/main/components/side-menu/collapsed-menu.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routers.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/admin/dataManagement/Industrial.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/risk-control/Astock.vue 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/risk-control/risk-control-application/znxg.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.rar
Binary files differ
src/components/main/components/side-menu/collapsed-menu.vue
@@ -86,7 +86,7 @@
    turnTo(name) {
      // console.log(this.menu);
      // if (name === 'Macroeconomic-ch' || name === 'Macroeconomic-am' || name === 'policyCountry' || name === 'policyBeijing' || name === 'policyShanghai' || name === 'policyShenzhen' || name === 'enterpriseDataAtlas') {
      if (name === 'Macroeconomic-ch' || name === 'Macroeconomic-am' || name === 'policyCountry' || name === 'policyBeijing' || name === 'policyShanghai' || name === 'policyShenzhen'|| name === 'Astock') {
      if (name === 'Macroeconomic-ch' || name === 'Macroeconomic-am' || name === 'policyCountry' || name === 'policyBeijing' || name === 'policyShanghai' || name === 'policyShenzhen') {
        this.$Message.warning('功能正在开发中...');
      }
      //  else if (name === 'riskControlReportFK'||name === 'SRRHaig'|| name === 'enterpriseSemiconductor'||name === 'rickControlQuantification'||name === 'investmentAdvisory') {
src/router/index.js
@@ -90,7 +90,7 @@
            return false
        } else if (to.path == '/fingpt') {
            window.open('https://76b1fb3a.r8.vip.cpolar.cn/')
            window.open('https://fingpt.vip.cpolar.cn/')
            return false
        }
        if (store.state.user.hasGetInfo) {
src/router/routers.js
@@ -774,7 +774,7 @@
            meta: {
                notCache: true,
                icon: 'custom custom-fangkuan',
                title: 'A股市场全景分析待上线'
                title: 'A股市场全景分析'
            },
            component: () =>
                import('@/view/risk-control/Astock.vue')
@@ -1427,7 +1427,17 @@
                },
                component: () =>
                    import('@/view/risk-control/rzd/rzd.vue')
            }
            },
            {
                path: '/fingpt',
                name: 'fingpt',
                meta: {
                    icon: 'custom custom-dayin',
                    title: '仁软金融GPT'
                },
                component: () =>
                    import('@/view/risk-control/risk-control-application/fingpt.vue')
            },
        ]
    },
@@ -1497,16 +1507,7 @@
                component: () =>
                    import('@/view/risk-control/risk-control-application/investmentAdvisory.vue')
            },
            {
                path: '/fingpt',
                name: 'fingpt',
                meta: {
                    icon: 'custom custom-dayin',
                    title: '仁软金融GPT'
                },
                component: () =>
                    import('@/view/risk-control/risk-control-application/fingpt.vue')
            },
        ]
    },
    ]
src/view/admin/dataManagement/Industrial.vue
@@ -143,8 +143,8 @@
            //     IndustryCategory: '半导体',
            //     ArticleType: '年度复盘',
            // }
            IndustryCategoryList: [{ value: '半导体', label: '半导体' }, { value: '光伏', label: '光伏' }, { value: '新能源车', label: '新能源车' },{ value: 'AIGC行业', label: 'AIGC行业' }],
            ArticleTypeList: [{ value: '年度复盘', label: '年度复盘' }, { value: '细分赛道', label: '细分赛道' }, { value: '硅晶圆', label: '硅晶圆' }, { value: 'EDA', label: 'EDA' }, { value: '上市公司微点评', label: '上市公司微点评' },{ value: 'GPT大模型应用资讯', label: 'GPT大模型应用资讯' },{ value: 'GPT大模型国内开源', label: 'GPT大模型国内开源' },{ value: 'GPT大模型国外开源', label: 'GPT大模型国外开源' }],
            IndustryCategoryList: [{ value: '半导体', label: '半导体' }, { value: '光伏', label: '光伏' }, { value: '新能源车', label: '新能源车' },{ value: 'AIGC行业', label: 'AIGC行业' },{ value: 'A股市场全景分析', label: 'A股市场全景分析' }],
            ArticleTypeList: [{ value: '年度复盘', label: '年度复盘' }, { value: '细分赛道', label: '细分赛道' }, { value: '硅晶圆', label: '硅晶圆' }, { value: 'EDA', label: 'EDA' }, { value: '上市公司微点评', label: '上市公司微点评' },{ value: 'GPT大模型应用资讯', label: 'GPT大模型应用资讯' },{ value: 'GPT大模型国内开源', label: 'GPT大模型国内开源' },{ value: 'GPT大模型国外开源', label: 'GPT大模型国外开源' },{ value: 'A股', label: 'A股' }],
            addModal: false,
            updataModal: false,
            pageIndex: 1,
src/view/risk-control/Astock.vue
@@ -0,0 +1,330 @@
<template>
    <div class="rentClass receivableClass">
      <Card v-if="showTabTitle" class="customTitle">
        <div >
          <Icon custom="custom custom-fangkuan"></Icon>
          <span style="margin-left: 6px;">A股市场全景分析</span>
        </div>
      </Card>
      <Card style="padding-bottom:60px;margin-top:3px;">
        <div class="lists_readAndEdit2" style="margin-top: 0;padding-top: 0;display: flex;"
          v-if="showTabTitle">
          <div>
            <Select v-model="article" style="width:100px;padding-right: 12px" size="large">
              <Option value="0">标题</Option>
              <Option value="1">摘要</Option>
              <Option value="2">内容</Option>
            </Select>
            <Input v-model="searchName" clearable size="large" style="width: 400px;font-size:14px;margin-right: 12px;"
              placeholder="请输入标题摘要或内容"></Input>
            <Button size="large" icon="ios-search" type="primary" @click="searchClick">搜索</Button>
          </div>
        </div>
        <div class="rentScrollOut" style="margin-top: 12px">
          <Table ref="datalist" :data="datalist" :columns="datalistcol" transfer :loading="loading" border>
            <template slot="action" slot-scope="params">
              <Tooltip content="查看" class="tableActionMargin" theme="light" transfer max-width="200" placement="top">
                <Icon class="action_class" custom="custom custom-chakan" size="18" style="color:#2D8CF0;cursor: pointer;"
                  @click="checkArticle(params.row)" />
              </Tooltip>
            </template>
          </Table>
          <Page :current="CurrentPage" :total="totalItems" :page-size="8" @on-change="changePage"
            style="float: right;margin-top: 12px;" />
        </div>
      </Card>
    </div>
  </template>
  <script>
  import axios from '@/libs/api.request'
  import $ from 'jquery'
  export default {
    name: '',
    props: {
      showTabTitle: {
        type: Boolean,
        default: true
      },
      name: {
        type: String,
        default: ''
      },
      fullCompanyName: {
        type: String,
        default: ''
      }
    },
    data() {
      return {
        searchName: '',
        article: '0',
        pageIndex: 1,
        pageSize: 8,
        totalItems: 0,
        totalPages: 0,
        datalist: [],
        loading: false,
        titleKeyword: '',
        abstractKeyword: '',
        CurrentPage: 0,
      }
    },
    watch: {
    },
    mounted() {
      if (this.name) {
        console.log(this.fullCompanyName, this.name);
        this.searchName = this.name
        this.article = '2'
        this.searchClick()
        // this.getPage()
      } else {
        this.getPage()
      }
    },
    created() {
    },
    methods: {
      searchClick() {
        this.pageIndex = 1
        this.loading = true
        let data = {
          fullName: this.fullCompanyName,
          pageIndex: this.pageIndex,
          pageSize: this.pageSize,
          industryCategoryKeyword: 'A股市场全景分析',
          ArticleTypeKeyword: 'A股',
          titleKeyword: '',
          abstractKeyword: '',
          contentKeyword: '',
        }
        if (this.article === '0') {
          data.titleKeyword = this.searchName
          data.abstractKeyword = ''
          data.contentKeyword = ''
        } else if (this.article === '1') {
          data.titleKeyword = ''
          data.contentKeyword = ''
          data.abstractKeyword = this.searchName
        } else if (this.article === '2') {
          data.contentKeyword = this.searchName
          data.titleKeyword = ''
          data.abstractKeyword = ''
        }
        axios.request({
          url: '/IndustryChain/GetPage',
          data,
          method: 'post'
        }).then(res => {
          if (res.data.Check) {
            this.datalist = res.data.Data.Items
            this.loading = false
            this.totalItems = res.data.Data.TotalItems
            this.totalPages = res.data.Data.TotalPages
            this.CurrentPage = res.data.Data.CurrentPage
          } else {
            this.loading = false
          }
        }, res => {
        })
      },
      changePage(index) {
        this.pageIndex = index
        this.getPage()
      },
      getPage() {
        this.loading = true
        let data = {
          fullName: this.fullCompanyName,
          pageIndex: this.pageIndex,
          pageSize: this.pageSize,
          industryCategoryKeyword: 'A股市场全景分析',
          ArticleTypeKeyword: 'A股',
          titleKeyword: '',
          abstractKeyword: '',
          contentKeyword: '',
        }
        if (this.article === '0') {
          data.titleKeyword = this.searchName
          data.abstractKeyword = ''
          data.contentKeyword = ''
        } else if (this.article === '1') {
          data.titleKeyword = ''
          data.contentKeyword = ''
          data.abstractKeyword = this.searchName
        } else if (this.article === '2') {
          data.contentKeyword = this.searchName
          data.titleKeyword = ''
          data.abstractKeyword = ''
        }
        axios.request({
          url: '/IndustryChain/GetPage',
          data,
          method: 'post'
        }).then(res => {
          if (res.data.Check) {
            this.datalist = res.data.Data.Items
            this.loading = false
            this.totalItems = res.data.Data.TotalItems
            this.totalPages = res.data.Data.TotalPages
            this.CurrentPage = res.data.Data.CurrentPage
          } else {
            this.loading = false
          }
        }, res => {
        })
      },
      checkArticle(params) {
        // console.log(params);
        // this.$router.push('/artDetail')
        this.$router.push({
          name: "artDetail",
          query: {
            id: params.Id
          },
          params: {
            // name: params.Title
            name: params.Title.length > 15 ? params.Title.substring(0, 15) + '...' : params.Title,
          }
        });
      },
    },
    computed: {
      datalistcol() {
        // 标题 摘要 内容,发布时间 修改时间,浏览次数,发布者,附件,标签,行业分类 文章类型
        let columns = [];
        columns.push({
          title: "序号",
          key: "id",
          render: (h, params) => {
            return h("span", params.index + 1 + (this.pageIndex - 1) * 8);
          },
          width: 100,
          align: "center",
          fixed: 'left'
        });
        columns.push({
          title: "标题",
          key: "Title",
          minWidth: 200,
          render: (h, params) => {
            return h("span",
              {
                style: {
                  margin: '0 0 0 3px',
                }
              },
              params.row.Title);
          },
          className: 'tablecontent',
          align: 'center',
        });
        columns.push({
          title: "摘要",
          key: "Abstract",
          minWidth: 380,
          className: 'tablecontent',
          align: 'center',
          render: (h, params) => {
            return h('Tooltip', {
              props: {
                placement: 'bottom-start', transfer: true, maxWidth: 500,
              },
            },
              [
                h('div', {
                  style: {
                    width: '380px',
                    overflow: 'hidden',
                    whiteSpace: 'nowrap',
                    textOverflow: 'ellipsis',
                    margin: '0 0 0 3px',
                  }
                }, params.row.Abstract),
                h('span', {
                  slot: 'content',
                  style: {
                    whiteSpace: 'normal',
                    wordBreak: 'break-all',
                  }
                }, params.row.Abstract)
              ]
            )
          }
        });
        columns.push({
          title: "发布时间",
          key: "PubTime",
          width: 150,
          align: 'center'
        });
        // columns.push({
        //   title: "修改时间",
        //   key: "UpdateTime",
        //   width: 200,
        //   align: 'center'
        // });
        columns.push({
          title: "标签",
          key: "Tag",
          render: (h, params) => {
            return h("span", params.row.Tag.join());
          },
          width: 100,
          align: 'center'
        });
        // columns.push({
        //   title: "行业分类",
        //   key: "IndustryCategory",
        //   // solt: 'IndustryCategoryParams',
        //   width: 200,
        //   align: 'center',
        // });
        // columns.push({
        //   title: "文章类型",
        //   key: "ArticleType",
        //   // solt: "ArticleTypeParams",
        //   width: 200,
        //   align: 'center',
        // });
        columns.push({
          title: '操作',
          key: 'action',
          slot: 'action',
          width: 100,
          align: 'center',
          fixed: 'right'
        })
        return columns;
      },
    }
  }
  </script>
  <style scoped>
  </style>
src/view/risk-control/risk-control-application/znxg.vue
@@ -307,10 +307,14 @@
                    question: this.searchName
                }
            }).then(res => {
                this.loading = false
                if (res.data.Check) {
                    let data = JSON.parse(res.data.Data).data.answer[0].txt[0].content.components[0].data
                    this.setRqpmColumns(data.columns, data.datas)
                    console.log(111111);
                    console.log(JSON.parse(res.data.Data));
                    // let data = JSON.parse(res.data.Data).data.answer[0].txt[0].content.components[0].data
                    // console.log(data);
                    // this.setRqpmColumns(data.columns, data.datas)
                } else {
                    this.$Message.error(res.msg)
                }