Browse Source

Merge branch 'develop' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop

Li 2 years ago
parent
commit
229ee2406c

+ 1 - 1
TEAMModelBI/ClientApp/public/index.html

@@ -12,7 +12,7 @@
     </title>
     </title>
 </head>
 </head>
 <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
 <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
-<script src="https://at.alicdn.com/t/c/font_2934132_rhiyxk9icjc.js"></script>
+<script src="https://at.alicdn.com/t/c/font_2934132_o51rdr2yzbn.js"></script>
 <script src="../src/access/iconfont.js"></script>
 <script src="../src/access/iconfont.js"></script>
 
 
 <body>
 <body>

+ 8 - 8
TEAMModelBI/ClientApp/src/view/common/aside.vue

@@ -117,14 +117,14 @@ export default {
             isShow: true,
             isShow: true,
             sort: 5,
             sort: 5,
           },
           },
-          {
-            name: '消息推送',
-            router: '/home/pushmsg',
-            icon: '#icon-xiaoxi',
-            permission: [],
-            isShow: true,
-            sort: 6,
-          },
+          // {
+          //   name: '消息推送',
+          //   router: '/home/pushmsg',
+          //   icon: '#icon-xiaoxi',
+          //   permission: [],
+          //   isShow: true,
+          //   sort: 6,
+          // },
         ],
         ],
       },
       },
       {
       {

+ 336 - 3
TEAMModelBI/ClientApp/src/view/systemConfig/pushmsg/createdpush.vue

@@ -61,8 +61,96 @@
         <p class="created-two-title">接收人群</p>
         <p class="created-two-title">接收人群</p>
         <div class="candidate">
         <div class="candidate">
           <div class="candidate-select">
           <div class="candidate-select">
-            <p class="candidate-hint">搜索选人</p>
-            <div class="type-select">类型搜索</div>
+            <div class="candidate-hint">搜索选人</div>
+            <div class="findbox">
+              <div class="type-select">
+                <div class="type-select-header">
+                  <el-image :src="logoImg" fit="cover" v-if="typeselect ===0" class="logoImg" />
+                  <div class="pathtext" v-else>
+                    <span @click="typeselect=0">根据学区选择</span>/
+                    <span>智慧教育学区</span>
+                  </div>
+                </div>
+                <div class="type-select-content">
+                  <!--选择根据学区-->
+                  <div class="type-list" v-if="typeselect ===0">
+                    <div class="itemtype" @click="typeselect=1">
+                      <svg class="select-icon" aria-hidden="true">
+                        <use xlink:href="#icon-icon_yingyongfanweiguang"></use>
+                      </svg>
+                      根据学区选择
+                      <div class="select-icon-next">
+                        <el-icon>
+                          <ArrowRight />
+                        </el-icon>
+                      </div>
+                    </div>
+                    <div class="itemtype" @click="typeselect=1">
+                      <svg class="select-icon" aria-hidden="true">
+                        <use xlink:href="#icon-xuexiao7"></use>
+                      </svg>
+                      根据学校选择
+                      <div class="select-icon-next">
+                        <el-icon>
+                          <ArrowRight />
+                        </el-icon>
+                      </div>
+                    </div>
+                  </div>
+                  <!--选择根据学区end-->
+                  <!--学区选择列表-->
+                  <div class="type-list" v-else-if="typeselect ===1">
+                    <el-checkbox-group v-model="checkList">
+                      <div class="itemtype-area">
+                        <el-checkbox label="智慧教育学区" />
+                        <div class="next-icon" @click="typeselect=2">
+                          下级
+                          <el-icon>
+                            <ArrowRight />
+                          </el-icon>
+                        </div>
+                      </div>
+                      <div class="itemtype-area">
+                        <el-checkbox label="醍摩豆智慧学区" />
+                        <div class="next-icon" @click="typeselect=2">
+                          下级
+                          <el-icon>
+                            <ArrowRight />
+                          </el-icon>
+                        </div>
+                      </div>
+                    </el-checkbox-group>
+                  </div>
+                  <!--学区选择列表end-->
+                  <!--学校选择列表-->
+                  <div class="type-list" v-else-if="typeselect ===2">
+                    <el-checkbox-group v-model="checkList">
+                      <div class="itemtype-area">
+                        <el-checkbox label="成都银都紫藤小学" />
+                        <!-- <div class="next-icon">
+                          下级
+                          <el-icon>
+                            <ArrowRight />
+                          </el-icon>
+                        </div> -->
+                      </div>
+                      <div class="itemtype-area">
+                        <el-checkbox label="成都师范小学" />
+                        <!-- <div class="next-icon">
+                          下级
+                          <el-icon>
+                            <ArrowRight />
+                          </el-icon>
+                        </div> -->
+                      </div>
+                    </el-checkbox-group>
+                  </div>
+                  <!--学小选择列表end-->
+                </div>
+              </div>
+              <i class="line-type"></i>
+              <div class="serach-select">搜索选人</div>
+            </div>
           </div>
           </div>
           <i class="line"></i>
           <i class="line"></i>
           <div class="candidate-result">
           <div class="candidate-result">
@@ -76,8 +164,10 @@
 </template>
 </template>
 <script setup>
 <script setup>
 import { ref, getCurrentInstance, defineProps, watch, defineExpose, onMounted, } from 'vue'
 import { ref, getCurrentInstance, defineProps, watch, defineExpose, onMounted, } from 'vue'
+import { ArrowRight } from '@element-plus/icons-vue'
 import zhCn from "element-plus/lib/locale/lang/zh-cn";
 import zhCn from "element-plus/lib/locale/lang/zh-cn";
 let locale = zhCn
 let locale = zhCn
+let logoImg = require('@/assets/img/logox.png')
 let active = ref(0)
 let active = ref(0)
 const form = ref({
 const form = ref({
   name: '',
   name: '',
@@ -95,6 +185,151 @@ const form = ref({
 })
 })
 let value3 = ref(false)
 let value3 = ref(false)
 let value4 = ref(false)
 let value4 = ref(false)
+let typeselect = ref(0)
+let checkList = ref([])
+let typeLevel = ref({
+  areaName: '',
+  areaId: '',
+  typename: ''
+})
+const options = [
+  {
+    value: 'guide',
+    label: 'Guide',
+    children: [
+      {
+        value: 'disciplines',
+        label: 'Disciplines',
+        children: [
+          {
+            value: 'consistency',
+            label: 'Consistency',
+          },
+          {
+            value: 'feedback',
+            label: 'Feedback',
+          },
+          {
+            value: 'efficiency',
+            label: 'Efficiency',
+          },
+          {
+            value: 'controllability',
+            label: 'Controllability',
+          },
+        ],
+      },
+      {
+        value: 'navigation',
+        label: 'Navigation',
+        children: [
+          {
+            value: 'side nav',
+            label: 'Side Navigation',
+          },
+          {
+            value: 'top nav',
+            label: 'Top Navigation',
+          },
+        ],
+      },
+    ],
+  },
+  {
+    value: 'component',
+    label: 'Component',
+    children: [
+      {
+        value: 'basic',
+        label: 'Basic',
+        children: [
+          {
+            value: 'layout',
+            label: 'Layout',
+          },
+          {
+            value: 'color',
+            label: 'Color',
+          },
+          {
+            value: 'typography',
+            label: 'Typography',
+          },
+          {
+            value: 'icon',
+            label: 'Icon',
+          },
+          {
+            value: 'button',
+            label: 'Button',
+          },
+        ],
+      },
+      {
+        value: 'form',
+        label: 'Form',
+        children: [
+          {
+            value: 'radio',
+            label: 'Radio',
+          },
+          {
+            value: 'checkbox',
+            label: 'Checkbox',
+          },
+          {
+            value: 'input',
+            label: 'Input',
+          },
+          {
+            value: 'input-number',
+            label: 'InputNumber',
+          },
+          {
+            value: 'select',
+            label: 'Select',
+          },
+          {
+            value: 'cascader',
+            label: 'Cascader',
+          },
+          {
+            value: 'switch',
+            label: 'Switch',
+          },
+          {
+            value: 'slider',
+            label: 'Slider',
+          },
+          {
+            value: 'time-picker',
+            label: 'TimePicker',
+          },
+          {
+            value: 'date-picker',
+            label: 'DatePicker',
+          },
+          {
+            value: 'datetime-picker',
+            label: 'DateTimePicker',
+          },
+          {
+            value: 'upload',
+            label: 'Upload',
+          },
+          {
+            value: 'rate',
+            label: 'Rate',
+          },
+          {
+            value: 'form',
+            label: 'Form',
+          },
+        ],
+      },
+    ],
+  },
+]
 function timechange (val) {
 function timechange (val) {
   console.log(val)
   console.log(val)
 }
 }
@@ -173,13 +408,14 @@ function timechange (val) {
 .candidate-select,
 .candidate-select,
 .candidate-result {
 .candidate-result {
   width: 50%;
   width: 50%;
+  height: 55vh;
 }
 }
 .candidate-hint {
 .candidate-hint {
   font-size: 14px;
   font-size: 14px;
   font-weight: bold;
   font-weight: bold;
   height: 18px;
   height: 18px;
   line-height: 18px;
   line-height: 18px;
-  background: #b2bec3;
+  background: #74b9ff;
   color: #ecf0f1;
   color: #ecf0f1;
 }
 }
 .line {
 .line {
@@ -188,6 +424,89 @@ function timechange (val) {
   line-height: 18px;
   line-height: 18px;
   background: #fff;
   background: #fff;
 }
 }
+.findbox {
+  width: 100%;
+  display: flex;
+}
+.type-select,
+.search-select {
+  width: 50%;
+}
+.type-list {
+  width: 100%;
+}
+.itemtype {
+  width: 100%;
+  line-height: 1.3;
+  font-size: 14px;
+  display: flex;
+  /* justify-content: space-between; */
+  border-bottom: 1px solid #ccc;
+  padding: 10px 20px;
+  cursor: pointer;
+  position: relative;
+}
+.itemtype:hover {
+  background-color: #f5f7fa;
+  /* color: #fff; */
+}
+.line {
+  width: 0px;
+  height: 100%;
+  border: 1px solid #ccc;
+}
+.line-type {
+  width: 0px;
+  height: 53vh;
+  border: 1px solid #ccc;
+}
+.select-icon {
+  width: 20px;
+  height: 20px;
+  vertical-align: 0em;
+  fill: currentColor;
+  overflow: hidden;
+  margin-right: 10px;
+}
+.select-icon-next {
+  position: absolute;
+  right: 5%;
+}
+.next-icon {
+  position: absolute;
+  right: 5%;
+  top: 20%;
+}
+.itemtype-area {
+  width: 100%;
+  line-height: 1.3;
+  font-size: 14px;
+  display: flex;
+  /* justify-content: space-between; */
+  border-bottom: 1px solid #ccc;
+  padding: 2px 20px;
+  cursor: pointer;
+  position: relative;
+}
+.type-select-header {
+  border-bottom: 1px solid #ccc;
+  border-top: 1px solid #fff;
+  background-color: #b2bec3;
+  height: 51px;
+}
+.pathtext {
+  font-size: 14px;
+  color: #fff;
+  line-height: 50px;
+  text-align: left;
+  padding-left: 8px;
+}
+.pathtext span {
+  cursor: pointer;
+}
+.pathtext span:hover {
+  color: #0984e3;
+}
 </style>
 </style>
 <style>
 <style>
 .skip-switch .el-form-item__content {
 .skip-switch .el-form-item__content {
@@ -206,4 +525,18 @@ function timechange (val) {
   color: #0984e3 !important;
   color: #0984e3 !important;
   border-color: #0984e3 !important;
   border-color: #0984e3 !important;
 }
 }
+.itemtype-area .el-checkbox__inner {
+  width: 18px;
+  height: 18px;
+}
+.itemtype-area .el-checkbox__inner::after {
+  width: 5px;
+  height: 7px;
+  top: 2px;
+  left: 4px;
+}
+.itemtype-area .el-checkbox {
+  height: 30px;
+  margin-bottom: 0px;
+}
 </style>
 </style>

+ 1 - 1
TEAMModelOS/ClientApp/src/view/research-center/BaseReportPie.vue

@@ -85,7 +85,7 @@ export default {
   },
   },
   mounted() {
   mounted() {
     let pieData = [{ value: this.lessonInfo.clientInteractionAverge, name: '互动教学' },
     let pieData = [{ value: this.lessonInfo.clientInteractionAverge, name: '互动教学' },
-    { value: this.lessonInfo.collateTaskCount, name: '合作学习' },
+    { value: this.lessonInfo.hitaClientCmpCount, name: '合作学习' },
     { value: this.lessonInfo.pushCount, name: '差异教学' },
     { value: this.lessonInfo.pushCount, name: '差异教学' },
     { value: this.lessonInfo.examCount, name: '测验教学' },]
     { value: this.lessonInfo.examCount, name: '测验教学' },]
     this.doRender(pieData)
     this.doRender(pieData)

+ 2 - 2
TEAMModelOS/ClientApp/src/view/research-center/ResearchMgt.vue

@@ -525,12 +525,12 @@ export default {
           }
           }
         },
         },
         {
         {
-          key: 'collateTaskCount',
+          key: 'hitaClientCmpCount',
           align: 'center',
           align: 'center',
           sortable: 'custom',
           sortable: 'custom',
           minWidth: 80,
           minWidth: 80,
           render: (h, params) => {
           render: (h, params) => {
-            return h('strong', { style: { fontSize: '16px', color: params.row.collateTaskCount ? '#00b214' : '#a4a4a4' } }, params.row.collateTaskCount);
+            return h('strong', { style: { fontSize: '16px', color: params.row.hitaClientCmpCount ? '#00b214' : '#a4a4a4' } }, params.row.hitaClientCmpCount);
           },
           },
           renderHeader: (h) => {
           renderHeader: (h) => {
             return h('div', [
             return h('div', [