Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

LIVE_YE 2 недель назад
Родитель
Сommit
430e0ccee0

+ 2 - 0
ruoyi-ui-gongdan/package.json

@@ -37,6 +37,8 @@
   },
   "dependencies": {
     "@riophae/vue-treeselect": "0.4.0",
+    "@vue-office/docx": "^1.6.3",
+    "@vue/composition-api": "^1.7.2",
     "axios": "0.28.1",
     "clipboard": "2.0.8",
     "core-js": "3.37.1",

+ 10 - 2
ruoyi-ui-gongdan/public/index.html

@@ -30,6 +30,7 @@
       width: 100%;
       height: 100%;
       z-index: 999999;
+      background: linear-gradient(90deg, #62d4b9, #cff0d5,#81b7d0);
     }
 
     #loader {
@@ -118,7 +119,8 @@
       top: 0;
       width: 51%;
       height: 100%;
-      background: #7171C6;
+      /* background: #7171C6; */
+/* background: linear-gradient(to top, #62d4b9, #cff0d5,#81b7d0); */
       z-index: 1000;
       -webkit-transform: translateX(0);
       -ms-transform: translateX(0);
@@ -135,7 +137,7 @@
 
 
     .loaded #loader-wrapper .loader-section.section-left {
-      -webkit-transform: translateX(-100%);
+     -webkit-transform: translateX(-100%);
       -ms-transform: translateX(-100%);
       transform: translateX(-100%);
       -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
@@ -154,6 +156,7 @@
       opacity: 0;
       -webkit-transition: all 0.3s ease-out;
       transition: all 0.3s ease-out;
+
     }
 
     .loaded #loader-wrapper {
@@ -163,6 +166,7 @@
       transform: translateY(-100%);
       -webkit-transition: all 0.3s 1s ease-out;
       transition: all 0.3s 1s ease-out;
+
     }
 
     .no-js #loader-wrapper {
@@ -193,6 +197,9 @@
       color: #FFF;
       opacity: 0.5;
     }
+    .ngse{
+      position: absolute;
+    }
   </style>
   </head>
   <body>
@@ -201,6 +208,7 @@
 		    <div id="loader"></div>
 		    <div class="loader-section section-left"></div>
 		    <div class="loader-section section-right"></div>
+        <!-- <div class="ngse"></div> -->
 		    <div class="load_title">正在加载系统资源,请耐心等待</div>
         </div>
 	</div>

+ 26 - 0
ruoyi-ui-gongdan/src/api/index.js

@@ -32,6 +32,7 @@ export function recordlist(query) {
     params: query
   })
 }
+
 export function px(query) {
   return request({
     url: '/work/info/month/px',
@@ -39,6 +40,31 @@ export function px(query) {
     params: query
   })
 }
+export function yearpx(query) {
+  return request({
+    url: '/work/info/year/px',
+    method: 'get',
+    params: query
+  })
+}
+
+export function fwlx(query) {
+  return request({
+    url: '/work/info/year/fwlx',
+    method: 'get',
+    params: query
+  })
+}
+
+export function month(query) {
+  return request({
+    url: '/work/info/year/month',
+    method: 'get',
+    params: query
+  })
+}
+
+
 
 
 

+ 8 - 0
ruoyi-ui-gongdan/src/api/system/info.js

@@ -59,3 +59,11 @@ export function delInfo(orderId) {
     method: 'get'
   })
 }
+
+export function dzgd(orderId) {
+  return request({
+    url: '/work/info/dzgd/' + orderId,
+    method: 'get'
+  })
+}
+

+ 4 - 1
ruoyi-ui-gongdan/src/settings.js

@@ -1,5 +1,8 @@
 module.exports = {
-  urls: `http://192.168.101.86:8077`,
+  // urls: `http://192.168.101.86:8077`,
+  urls: `https://zxygd.qs163.cn`,
+  // 弹出层标题
+
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
    */

+ 1 - 0
ruoyi-ui-gongdan/src/store/getters.js

@@ -10,6 +10,7 @@ const getters = {
   name: state => state.user.name,
   id: state => state.user.id,
   nickName: state => state.user.nickName,
+  loginDate: state => state.user.loginDate,
   phonenumber: state => state.user.phonenumber,
   introduction: state => state.user.introduction,
   roles: state => state.user.roles,

+ 7 - 2
ruoyi-ui-gongdan/src/store/modules/user.js

@@ -12,7 +12,8 @@ const user = {
     avatar: '',
     roles: [],
     permissions: [],
-    phonenumber:''
+    phonenumber:'',
+    loginDate:''
   },
 
   mutations: {
@@ -37,9 +38,13 @@ const user = {
     SET_NIKE_NAME: (state, nickName) => {
       state.nickName = nickName
     },
+
     SET_PHONENUMBER: (state, phonenumber) => {
       state.phonenumber = phonenumber
     },
+    SET_LOGINDATE: (state, loginDate) => {
+      state.loginDate = loginDate
+    },
   },
 
   actions: {
@@ -80,7 +85,7 @@ const user = {
           commit('SET_NIKE_NAME', user.nickName)
           commit('SET_AVATAR', avatar)
           commit('SET_PHONENUMBER', user.phonenumber)
-
+          commit('SET_LOGINDATE', user.loginDate)
           resolve(res)
         }).catch(error => {
           reject(error)

+ 4 - 3
ruoyi-ui-gongdan/src/views/dashboard/LineChart.vue

@@ -61,10 +61,11 @@ export default {
       this.chart = echarts.init(this.$el, 'macarons')
       this.setOptions(this.chartData)
     },
-    setOptions({ expectedData, actualData } = {}) {
+    setOptions({ x, y } = {}) {
+      console.log(x,y)
       this.chart.setOption({
         xAxis: {
-          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+          data: x,
           boundaryGap: false,
           axisTick: {
             show: false
@@ -124,7 +125,7 @@ export default {
               }
             }
           },
-          data: [12,13,19,39,45,78,13],
+          data: y,
           animationDuration: 2800,
           animationEasing: 'quadraticOut'
         }]

+ 14 - 14
ruoyi-ui-gongdan/src/views/dashboard/PieChartone.vue

@@ -59,7 +59,7 @@ watch: {
        this.setOptions(this.chartData)
      },
        setOptions(row) {
-         console.log(row,56)
+         console.log(row,566)
           var colors = ["#00B278","#91CC75","#FAC858", "#EE6666","#73C0DE","#5470C6"];
         this.chart.setOption({
 
@@ -81,7 +81,7 @@ watch: {
                                                                     show: true,
                                                                     position: 'center',
                                                                     color:'#4c4a4a',
-                                                                    formatter:  '{active|总告警数}' + '\n\r' +  ' {total|' + 200 + '}' + '{activen|/次}' ,
+                                                                    formatter:  '{active|总告警数}' + '\n\r' +  ' {total|' + row.zs + '}' + '{activen|/次}' ,
                                                                     rich: {
                                                                         total:{
 
@@ -111,8 +111,8 @@ watch: {
 
 
                              data:[
-                               {value:4,
-                                   name:'120%',
+                               {value:row.wlfw,
+                                   name:'网络服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {
@@ -123,8 +123,8 @@ watch: {
                                    }
                                },
                                {
-                                   value:4,
-                                   name:'12%',
+                                   value:row.sbfw,
+                                   name:'设备服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {
@@ -135,8 +135,8 @@ watch: {
                                    }
                                },
                                {
-                                   value:2,
-                                   name:'12%',
+                                   value:row.rjfw,
+                                   name:'软件服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {
@@ -147,8 +147,8 @@ watch: {
                                    }
                                },
                                {
-                                   value:10,
-                                   name:'12%',
+                                   value:row.kffw,
+                                   name:'开发服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {
@@ -159,8 +159,8 @@ watch: {
                                    }
                                },
                                {
-                                   value:15,
-                                   name:'12%',
+                                   value:row.sjfw,
+                                   name:'设计服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {
@@ -171,8 +171,8 @@ watch: {
                                    }
                                },
                                {
-                                   value:8,
-                                   name:'12%',
+                                   value:row.qtfw,
+                                   name:'其他服务',
                                    hoverAnimation: false,
                                    itemStyle: {
                                        normal: {

+ 8 - 3
ruoyi-ui-gongdan/src/views/gongdan/gongdanxq/index.vue

@@ -398,7 +398,7 @@
 // import { listTime, getTime, delTime, addTime, updateTime } from "@/api/system/time";
 // import { listDept} from "@/api/system/dept";
 // import { listCheckPointManage, getCheckPointManage, delCheckPointManage, addCheckPointManage, updateCheckPointManage,addCheckPointManageadd } from "@/api/wuguan/checkPointManage";
-import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/system/info"
+import { listInfo, getInfo, delInfo, addInfo, updateInfo,dzgd } from "@/api/system/info"
 import Decimal from 'decimal.js';
 export default {
   name: "Time",
@@ -763,8 +763,13 @@ export default {
             console.log(this.form,this.shangwu,7)
             // return
             updateInfo(this.form).then(response => {
-              this.$modal.msgSuccess("操作成功");
-              this.$router.go(-1)
+              dzgd(this.form.orderId).then(response => {
+                this.$modal.msgSuccess("操作成功");
+                this.$router.go(-1)
+                // this.open = false;
+                // this.getList();
+              });
+
               // this.open = false;
               // this.getList();
             });

+ 74 - 28
ruoyi-ui-gongdan/src/views/gongdan/gongdanzhipai/index.vue

@@ -140,11 +140,12 @@
                     	</div>
 
                     	<div class="collapse" @click.stop=""  >
-                        <el-tooltip class="item" effect="dark" content="暂无数据" placement="top-start">
+
                     						<div class="chtop flexc" v-if="item.serviceProgress ==0">
                     							<div style="width: 40%;" class="over">暂无数据</div>
                     							<div style="width: 60%;" class="over">暂无数据接下了该客户的工单</div>
                     						</div>
+                                <el-tooltip class="item" effect="dark" :content="item.takeTime + ' '+ item.responsiblePhone +'接下了该客户的工单'" placement="top-start">
                                 <div class="chtop flexc" v-if="item.serviceProgress !=0">
                                 	<div style="width: 40%;" class="over">{{item.takeTime}}</div>
                                 	<div style="width: 60%;" class="over">{{item.responsibleName + item.responsiblePhone}} 接下了该客户的工单</div>
@@ -362,7 +363,7 @@
                   </div>
       					</div>
       	</div>
-        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null">
+        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null && chakn.serviceProgress >1">
         			<div class="bsers" style="padding-top: 20px;" >
         			 <div>
         			   <p> <img src="../../../assets/images/wenjian.png" alt="" style="width: 20px;height: 20px;"></p>
@@ -370,8 +371,8 @@
         			 </div>
         			  <div>
         			              <!-- + baseUrl -->
-        			              <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-        			              <p @click="downloadFileg(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+        			              <p @click="yuanglw(defaultSettings.urls + baseUrl + chakn.workOrderFjgd.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+        			              <p @click="downloadFileg(defaultSettings.urls+ baseUrl  + chakn.workOrderFjgd.url,chakn.workOrderFjgd.name)" style="color: #658CF8; font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
         			            </div>
         			</div>
 
@@ -395,12 +396,12 @@
          </div>
           <div>
             <!-- + baseUrl -->
-            <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-            <p @click="downloadFile(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+            <p @click="yuangl(defaultSettings.urls+ baseUrl  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+            <p @click="downloadFile(defaultSettings.urls+ baseUrl  + item.url,item.name)" style="color: #658CF8; font-size: 14px; cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
           </div>
         </div>
         <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
-          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_type" :value="chakn.type"/></div></div>
+          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_evaluation" :value="chakn.evaluation"/></div></div>
           <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
            {{chakn.evaluationContent ==null? '暂无数据' : chakn.evaluationContent}}
           </div>
@@ -415,12 +416,24 @@
             <p  v-if="chakn.serviceProgress == 1" v-hasPermi="['work:info:add']"   style="cursor: pointer;color: #28C529;" @click="tianxie(chakn)" ><span  >填写</span></span>  </p>
             <!-- <p style="cursor: pointer;" @click="handleUpdatef(chakn)"><span  >查看</span></span>  </p> -->
            <!-- <span @click="handleUpdatef(item)">查看</span> -->
-           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;" @click="handleDelete(chakn)">删除  </p>
+           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;flex: 1;" @click="handleDelete(chakn)">删除  </p>
         </div>
 
 
       </div>
     </el-dialog>
+     <el-dialog title="查看图片" :visible.sync="openc" width="640px" append-to-body class="boet">
+      <el-carousel trigger="click" height="450px">
+            <el-carousel-item  v-for = "(item,index) in  chakn.imgelis"  :key="index">
+             <img :src="defaultSettings.urls + baseUrl+ item.url " alt="" style="width: 100%;height: 100%;">
+            </el-carousel-item>
+      </el-carousel>
+     </el-dialog>
+     <el-dialog title="查看文件" :visible.sync="openw" width="840px" append-to-body class="boet">
+        <VueOfficeDocx :src="docx" />
+      </el-carousel>
+     </el-dialog>
+
 
   </div>
 </template>
@@ -429,8 +442,10 @@
 // import 'videojs-flash'
 import { listInfo, getInfo, delInfo, addInfo, updateInfo,jd,listStaffManageNoPage } from "@/api/system/info"
 const defaultSettings = require("@/settings.js");
+import VueOfficeDocx from '@vue-office/docx';
 import download from 'downloadjs'
 export default {
+  components: { VueOfficeDocx },
   name: "Repair",
     dicts: ['baoxiutype', 'work_order_evaluation', 'shelf_life', 'work_order_type', 'sys_yes_no', 'service_progress', 'order_placement'],
   data() {
@@ -445,6 +460,7 @@ export default {
       wicoc:require('../../../assets/images/wicoc.png'),
       code:require('../../../assets/images/code.png'),
       openzx:false,
+      openc:false,
       actjse:1,
       ite:{
         name:'嘉欣医疗用品有限公司',type:'1'
@@ -468,6 +484,8 @@ export default {
       // 是否显示弹出层
       open: false,
       openz:false,
+      openw:false,
+      docx:'',
       houseInfoLise:[],
       defaultSettings:defaultSettings,
       baseUrl: process.env.VUE_APP_BASE_API,
@@ -563,7 +581,12 @@ export default {
     }
     },
   created() {
-
+   if(process.env.VUE_APP_BASE_API == '/dev-api'){
+     // console.log(process.env.VUE_APP_BASE_API)
+     this.baseUrl = ''
+   }else{
+     this.baseUrl = process.env.VUE_APP_BASE_API
+   }
     this.getList()
     this.getstaffManageList()
 
@@ -602,20 +625,13 @@ export default {
       this.loading = true;
       listInfo(this.queryParams).then(response => {
         this.infoList  = response.rows;
-        this.getDicts("work_order_type").then(response => {
-          this.buyTypeOptions = response.data;
-           this.buyTypeOptions.filter(rou=>{
-                  rou.value = rou.dictValue
-                  rou.label = rou.dictLabel
-                })
-          this.infoList.filter(rou=>{
-            rou.isnum = false
-            rou.isryr = true
-            rou.rttie=rou.unitName.substr(0,2)
-            this.selectDictLabel(this.buyTypeOptions ,rou.type)
-            console.log(this.selectDictLabel(this.buyTypeOptions ,rou.type))
-          })
-        });
+        this.infoList.filter(rou=>{
+          rou.isnum = false
+          rou.isryr = true
+          rou.rttie=rou.unitName.substr(0,2)
+          this.selectDictLabel(this.buyTypeOptions ,rou.type)
+
+        })
 
         this.total = response.total;
         this.loading = false;
@@ -747,6 +763,26 @@ export default {
         }else{
           this.chakn.titke = '无'
         }
+        if(this.chakn.workOrderFjXqList!=null && this.chakn.workOrderFjXqList.length !=0){
+          this.chakn.imgelis=[]
+          this.chakn.workOrderFjXqList.filter(rou=>{
+            if (!/\.(png|PNG|jpg|JPG)$/.test(rou.url)) {
+
+                    }else{
+                        // 图片格式
+                      this.chakn.imgelis.push(rou)
+                    }
+            // if (!/\.(pdf|PDF|png|PNG|jpg|JPG)$/.test(rou.url)) {
+            //         } else  {
+            //         // pdf 格式
+
+
+            //         }
+
+          })
+          console.log(this.chakn.imgelis)
+        }
+
         this.actjse = this.chakn.serviceProgress - 0
         this.openzx = true
         // this.title = "查看工单信息"
@@ -818,11 +854,21 @@ export default {
                   " https://view.officeapps.live.com/op/view.aspx?src=" + row,
                   "_blank"
                 );
-              } else  {
-              // pdf 格式
-               window.open(row, '_blank');
+              } else{
+                console.log(this.chakn.imgelis)
+                if (!/\.(png|PNG|jpg|JPG)$/.test(row)) {
+                    // pdf 格式
+                     window.open(row, '_blank');
+                        }else{
+                            // 图片格式
+                          this.openc = true
+                        }
               }
-
+    },
+    yuanglw(row){
+      console.log(row)
+      this.docx = row
+      this.openw = true
     },
     /** 提交按钮 */
     submitForm: function() {
@@ -1210,7 +1256,7 @@ export default {
     color: #FFA20C !important;
   }
   .coaf{
-    color: #FFA20C !important;
+    color: #5470C6 !important;
   }
   .coafs{
     color: #00B278 !important;

+ 80 - 37
ruoyi-ui-gongdan/src/views/gongdan/gongdanzhipaime/index.vue

@@ -53,18 +53,6 @@
                        </el-select>
                      </el-form-item>
               </el-col>
-              <el-col :span="8">
-               <el-form-item label="派单情况" prop="orderPlacement">
-                       <el-select v-model="queryParams.orderPlacement" placeholder="请选择派单情况" clearable>
-                         <el-option
-                           v-for="dict in dict.type.order_placement"
-                           :key="dict.value"
-                           :label="dict.label"
-                           :value="dict.value"
-                         />
-                       </el-select>
-                     </el-form-item>
-              </el-col>
               <el-col :span="8">
                 <el-form-item class="butt bnjle">
                   <el-button size="mini" type="primary" style="background-color: #1BDD96; border: #1BDD96;"   @click="handleQuery">搜索</el-button>
@@ -145,17 +133,19 @@
                             </el-tooltip>
                     			</div>
                     		</div>
+                    		<!-- <img :src='phone' class="phone"  @click.stop="getPhone()"></img> -->
                         <div style="width: 90% ;height: 1px; background-color: #f1f1f1;position: absolute;bottom: 0;">
 
                         </div>
-                    		<!-- <img :src='phone' class="phone"  @click.stop="getPhone()"></img> -->
                     	</div>
+
                     	<div class="collapse" @click.stop=""  >
-                        <el-tooltip class="item" effect="dark" content="暂无数据" placement="top-start">
+
                     						<div class="chtop flexc" v-if="item.serviceProgress ==0">
                     							<div style="width: 40%;" class="over">暂无数据</div>
                     							<div style="width: 60%;" class="over">暂无数据接下了该客户的工单</div>
                     						</div>
+                                <el-tooltip class="item" effect="dark" :content="item.takeTime + ' '+ item.responsiblePhone +'接下了该客户的工单'" placement="top-start">
                                 <div class="chtop flexc" v-if="item.serviceProgress !=0">
                                 	<div style="width: 40%;" class="over">{{item.takeTime}}</div>
                                 	<div style="width: 60%;" class="over">{{item.responsibleName + item.responsiblePhone}} 接下了该客户的工单</div>
@@ -373,7 +363,7 @@
                   </div>
       					</div>
       	</div>
-        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null">
+        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null && chakn.serviceProgress >1">
         			<div class="bsers" style="padding-top: 20px;" >
         			 <div>
         			   <p> <img src="../../../assets/images/wenjian.png" alt="" style="width: 20px;height: 20px;"></p>
@@ -381,8 +371,8 @@
         			 </div>
         			  <div>
         			              <!-- + baseUrl -->
-        			              <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-        			              <p @click="downloadFileg(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+        			              <p @click="yuanglw(defaultSettings.urls + baseUrl + chakn.workOrderFjgd.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+        			              <p @click="downloadFileg(defaultSettings.urls+ baseUrl  + chakn.workOrderFjgd.url,chakn.workOrderFjgd.name)" style="color: #658CF8; font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
         			            </div>
         			</div>
 
@@ -406,12 +396,12 @@
          </div>
           <div>
             <!-- + baseUrl -->
-            <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-            <p @click="downloadFile(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+            <p @click="yuangl(defaultSettings.urls+ baseUrl  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+            <p @click="downloadFile(defaultSettings.urls+ baseUrl  + item.url,item.name)" style="color: #658CF8; font-size: 14px; cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
           </div>
         </div>
         <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
-          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_type" :value="chakn.type"/></div></div>
+          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_evaluation" :value="chakn.evaluation"/></div></div>
           <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
            {{chakn.evaluationContent ==null? '暂无数据' : chakn.evaluationContent}}
           </div>
@@ -426,12 +416,24 @@
             <p  v-if="chakn.serviceProgress == 1" v-hasPermi="['work:info:add']"   style="cursor: pointer;color: #28C529;" @click="tianxie(chakn)" ><span  >填写</span></span>  </p>
             <!-- <p style="cursor: pointer;" @click="handleUpdatef(chakn)"><span  >查看</span></span>  </p> -->
            <!-- <span @click="handleUpdatef(item)">查看</span> -->
-           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;" @click="handleDelete(chakn)">删除  </p>
+           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;flex: 1;" @click="handleDelete(chakn)">删除  </p>
         </div>
 
 
       </div>
     </el-dialog>
+     <el-dialog title="查看图片" :visible.sync="openc" width="640px" append-to-body class="boet">
+      <el-carousel trigger="click" height="450px">
+            <el-carousel-item  v-for = "(item,index) in  chakn.imgelis"  :key="index">
+             <img :src="defaultSettings.urls + baseUrl+ item.url " alt="" style="width: 100%;height: 100%;">
+            </el-carousel-item>
+      </el-carousel>
+     </el-dialog>
+     <el-dialog title="查看文件" :visible.sync="openw" width="640px" append-to-body class="boet">
+        <VueOfficeDocx :src="docx" />
+      </el-carousel>
+     </el-dialog>
+
 
   </div>
 </template>
@@ -440,10 +442,12 @@
 // import 'videojs-flash'
 import { listInfo, getInfo, delInfo, addInfo, updateInfo,jd,listStaffManageNoPage } from "@/api/system/info"
 const defaultSettings = require("@/settings.js");
+import VueOfficeDocx from '@vue-office/docx';
 import download from 'downloadjs'
 export default {
+  components: { VueOfficeDocx },
   name: "Repair",
-    dicts: ['baoxiutype', 'work_order_evaluation', 'shelf_life', 'work_order_type', 'sys_yes_no', 'service_progress', 'order_placement',],
+    dicts: ['baoxiutype', 'work_order_evaluation', 'shelf_life', 'work_order_type', 'sys_yes_no', 'service_progress', 'order_placement'],
   data() {
     return {
       list:[{},{name:'嘉欣医疗用品有限公司',type:'2'},{name:'嘉欣医疗用品有限公司',type:'3'},{name:'嘉欣医疗用品有限公司',type:'4'}],
@@ -456,6 +460,7 @@ export default {
       wicoc:require('../../../assets/images/wicoc.png'),
       code:require('../../../assets/images/code.png'),
       openzx:false,
+      openc:false,
       actjse:1,
       ite:{
         name:'嘉欣医疗用品有限公司',type:'1'
@@ -479,6 +484,8 @@ export default {
       // 是否显示弹出层
       open: false,
       openz:false,
+      openw:false,
+      docx:'',
       houseInfoLise:[],
       defaultSettings:defaultSettings,
       baseUrl: process.env.VUE_APP_BASE_API,
@@ -559,7 +566,8 @@ export default {
        staffManageList: [],
        tableMaxHeight:'200',
        isryr:true,
-       chakn:{}
+       chakn:{},
+       buyTypeOptions:[]
 
     };
   },
@@ -574,16 +582,15 @@ export default {
     },
   created() {
     this.queryParams.responsibleId = this.$store.getters.id
-    if(this.$route.query.type == 1){
-      this.queryParams.orderPlacement = '1'
-      this.queryParams.serviceProgress = '1'
-    }else{
-      this.queryParams.orderPlacement = null
-      this.queryParams.serviceProgress = null
-    }
-    console.log(this.queryParams)
+   if(process.env.VUE_APP_BASE_API == '/dev-api'){
+     // console.log(process.env.VUE_APP_BASE_API)
+     this.baseUrl = ''
+   }else{
+     this.baseUrl = process.env.VUE_APP_BASE_API
+   }
     this.getList()
     this.getstaffManageList()
+
     console.log(this.$store.getters)
   window.onresize = () => {
   	      this.changeTableMaxHeight()
@@ -608,6 +615,10 @@ export default {
     getListhouvr() {
        listNoPage().then(response => {
          this.houseInfoLise  = response.data;
+         this.houseInfoLise.filter(rou=>{
+           this.selectDictLabel(this.buyTypeOptions ,rou.orderId)
+          console.log(this.selectDictLabel(this.buyTypeOptions ,rou.orderId))
+         })
        });
      },
     /** 查询岗位列表 */
@@ -615,11 +626,14 @@ export default {
       this.loading = true;
       listInfo(this.queryParams).then(response => {
         this.infoList  = response.rows;
-        this.infoList .filter(rou=>{
+        this.infoList.filter(rou=>{
           rou.isnum = false
           rou.isryr = true
           rou.rttie=rou.unitName.substr(0,2)
+          this.selectDictLabel(this.buyTypeOptions ,rou.type)
+
         })
+
         this.total = response.total;
         this.loading = false;
       });
@@ -750,6 +764,26 @@ export default {
         }else{
           this.chakn.titke = '无'
         }
+        if(this.chakn.workOrderFjXqList!=null && this.chakn.workOrderFjXqList.length !=0){
+          this.chakn.imgelis=[]
+          this.chakn.workOrderFjXqList.filter(rou=>{
+            if (!/\.(png|PNG|jpg|JPG)$/.test(rou.url)) {
+
+                    }else{
+                        // 图片格式
+                      this.chakn.imgelis.push(rou)
+                    }
+            // if (!/\.(pdf|PDF|png|PNG|jpg|JPG)$/.test(rou.url)) {
+            //         } else  {
+            //         // pdf 格式
+
+
+            //         }
+
+          })
+          console.log(this.chakn.imgelis)
+        }
+
         this.actjse = this.chakn.serviceProgress - 0
         this.openzx = true
         // this.title = "查看工单信息"
@@ -821,11 +855,20 @@ export default {
                   " https://view.officeapps.live.com/op/view.aspx?src=" + row,
                   "_blank"
                 );
-              } else  {
-              // pdf 格式
-               window.open(row, '_blank');
+              } else{
+                console.log(this.chakn.imgelis)
+                if (!/\.(png|PNG|jpg|JPG)$/.test(row)) {
+                    // pdf 格式
+                     window.open(row, '_blank');
+                        }else{
+                            // 图片格式
+                          this.openc = true
+                        }
               }
-
+    },
+    yuanglw(row){
+      this.docx = row
+      this.openw = true
     },
     /** 提交按钮 */
     submitForm: function() {
@@ -1213,7 +1256,7 @@ export default {
     color: #FFA20C !important;
   }
   .coaf{
-    color: #FFA20C !important;
+    color: #5470C6 !important;
   }
   .coafs{
     color: #00B278 !important;

+ 27 - 9
ruoyi-ui-gongdan/src/views/gongdan/gongdanzhipaipj/index.vue

@@ -129,11 +129,11 @@
                     		<!-- <img :src='phone' class="phone"  @click.stop="getPhone()"></img> -->
                     	</div>
                     	<div class="collapse" @click.stop="" style="background-color: #F4F7FF;" >
-                        <el-tooltip class="item" effect="dark" content="暂无数据" placement="top-start">
                     						<div class="chtop flexc" v-if="item.serviceProgress ==0">
                     							<div style="width: 40%;" class="over">暂无数据</div>
                     							<div style="width: 60%;" class="over">暂无数据接下了该客户的工单</div>
                     						</div>
+                                 <el-tooltip class="item" effect="dark" :content="item.takeTime + ' '+ item.responsiblePhone +'接下了该客户的工单'" placement="top-start">
                                 <div class="chtop flexc" v-if="item.serviceProgress !=0">
                                 	<div style="width: 40%;" class="over">{{item.takeTime}}</div>
                                 	<div style="width: 60%;" class="over">{{item.responsibleName + item.responsiblePhone}} 接下了该客户的工单</div>
@@ -351,7 +351,7 @@
                   </div>
       					</div>
       	</div>
-        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null">
+        <div class="collapse" @click.stop="" style="border-top: 1px  solid #E6E6E6;" v-if="chakn.workOrderFjgd!=null && chakn.serviceProgress >1">
         			<div class="bsers" style="padding-top: 20px;" >
         			 <div>
         			   <p> <img src="../../../assets/images/wenjian.png" alt="" style="width: 20px;height: 20px;"></p>
@@ -359,8 +359,8 @@
         			 </div>
         			  <div>
         			              <!-- + baseUrl -->
-        			              <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-        			              <p @click="downloadFileg(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+        			              <p @click="yuanglw(defaultSettings.urls + baseUrl + chakn.workOrderFjgd.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+        			              <p @click="downloadFileg(defaultSettings.urls+ baseUrl  + chakn.workOrderFjgd.url,chakn.workOrderFjgd.name)" style="color: #658CF8; font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
         			            </div>
         			</div>
 
@@ -384,12 +384,12 @@
          </div>
           <div>
             <!-- + baseUrl -->
-            <p @click="yuangl(defaultSettings.urls  + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
-            <p @click="downloadFile(defaultSettings.urls  + item.url,item.name)" style="color: #658CF8; font-size: 14px;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
+            <p @click="yuangl(defaultSettings.urls + baseUrl + item.url)" style="color: #658CF8;margin-right: 10px;font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_yl.png" alt="" style="width: 15px;height: 10px;">预览</p>
+            <p @click="downloadFile(defaultSettings.urls + baseUrl + item.url,item.name)" style="color: #658CF8; font-size: 14px;cursor: pointer;"><img src="../../../assets/images/icon_xq_xz.png" alt=""  style="width: 15px;height: 15px;">下载</p>
           </div>
         </div>
         <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
-          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_type" :value="chakn.type"/></div></div>
+          <div style="display: flex; ">服务评价  <div style="color: #00B278;margin-left: 10px;"><dict-tag :options="dict.type.work_order_evaluation" :value="chakn.evaluation"/></div></div>
           <div style="padding: 20px;font-size: 14px;color: #161616;line-height: 30px;" v-if="isshoe == 1">
            {{chakn.evaluationContent ==null? '暂无数据' : chakn.evaluationContent}}
           </div>
@@ -404,12 +404,16 @@
             <p  v-if="chakn.serviceProgress == 1" v-hasPermi="['work:info:add']"   style="cursor: pointer;color: #28C529;" @click="tianxie(chakn)" ><span  >填写</span></span>  </p>
             <!-- <p style="cursor: pointer;" @click="handleUpdatef(chakn)"><span  >查看</span></span>  </p> -->
            <!-- <span @click="handleUpdatef(item)">查看</span> -->
-           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;" @click="handleDelete(chakn)">删除  </p>
+           <p  v-hasPermi="['work:info:remove']" style="color:red;cursor: pointer;flex:1" @click="handleDelete(chakn)">删除  </p>
         </div>
 
 
       </div>
     </el-dialog>
+    <el-dialog title="查看文件" :visible.sync="openw" width="640px" append-to-body class="boet">
+       <VueOfficeDocx :src="docx" />
+     </el-carousel>
+    </el-dialog>
 
   </div>
 </template>
@@ -418,8 +422,10 @@
 // import 'videojs-flash'
 import { listInfo, getInfo, delInfo, addInfo, updateInfo,jd,listStaffManageNoPage } from "@/api/system/info"
 const defaultSettings = require("@/settings.js");
+import VueOfficeDocx from '@vue-office/docx';
 import download from 'downloadjs'
 export default {
+  components: { VueOfficeDocx },
   name: "Repair",
     dicts: ['baoxiutype', 'work_order_evaluation', 'shelf_life', 'work_order_type', 'sys_yes_no', 'service_progress', 'order_placement'],
   data() {
@@ -457,6 +463,8 @@ export default {
       // 是否显示弹出层
       open: false,
       openz:false,
+      openw:false,
+      docx:'',
       houseInfoLise:[],
       defaultSettings:defaultSettings,
       baseUrl: process.env.VUE_APP_BASE_API,
@@ -551,6 +559,12 @@ export default {
     }
     },
   created() {
+    if(process.env.VUE_APP_BASE_API == '/dev-api'){
+      // console.log(process.env.VUE_APP_BASE_API)
+      this.baseUrl = ''
+    }else{
+      this.baseUrl = process.env.VUE_APP_BASE_API
+    }
     this.getList()
     this.getstaffManageList()
     console.log(this.$store.getters)
@@ -796,6 +810,10 @@ export default {
               }
 
     },
+    yuanglw(row){
+      this.docx = row
+      this.openw = true
+    },
     /** 提交按钮 */
     submitForm: function() {
       this.$refs["form"].validate(valid => {
@@ -1182,7 +1200,7 @@ export default {
     color: #FFA20C !important;
   }
   .coaf{
-    color: #FFA20C !important;
+    color: #5470C6 !important;
   }
   .coafs{
     color: #00B278 !important;

+ 6 - 6
ruoyi-ui-gongdan/src/views/gongdan/kehurenyuan/index.vue

@@ -152,9 +152,9 @@
 
                      <!-- <img v-if="item.isnum == true" src="../../../assets/images/icon_htgl_kp_gx.png" alt="" style="width: 35px;height: 35px;position: absolute;bottom: 0;right: 0;"> -->
                      <div class="bortt tongty" style="justify-content: space-between; margin-top: 0;">
-                        <p style="cursor: pointer;" @click="handleUpdate(item)"><span  >查看</span></span>  </p>
+                        <!-- <p style="cursor: pointer;" @click="handleUpdate(item)"><span  >查看</span></span>  </p> -->
                        <!-- <span @click="handleUpdatef(item)">查看</span> -->
-                       <p  v-hasPermi="['basic:info:remove']" style="color:red;cursor: pointer;" @click="handleDelete(item)">删除  </p>
+                       <p  v-hasPermi="['basic:info:remove']" style="color:red;cursor: pointer; width: 100%;" @click="handleDelete(item)">删除  </p>
                      </div>
                     </div>
                   </el-col>
@@ -458,7 +458,7 @@ export default {
         },
     // 多选框选中数据
        handleSelectionChange(selection) {
-         this.ids = selection.map(item => item.staffId)
+         this.ids = selection.map(item => item.id)
          this.single = selection.length!==1
          this.multiple = !selection.length
        },
@@ -471,7 +471,7 @@ export default {
         /** 修改按钮操作 */
         handleUpdate(row) {
           this.reset()
-          const staffId = row.staffId || this.ids
+          const staffId = row.id || this.ids
           getStaffManage(staffId).then(response => {
             this.form = response.data
             this.open = true
@@ -483,7 +483,7 @@ export default {
 
           this.$refs["form"].validate(valid => {
             if (valid) {
-              if (this.form.staffId != null) {
+              if (this.form.id != null) {
                 updateStaffManage(this.form).then(response => {
                   this.$modal.msgSuccess("修改成功")
                   this.open = false
@@ -501,7 +501,7 @@ export default {
         },
         /** 删除按钮操作 */
         handleDelete(row) {
-          const staffIds = row.staffId || this.ids
+          const staffIds = row.id || this.ids
           this.$modal.confirm('是否确认删除人员管理编号为"' + staffIds + '"的数据项?').then(function() {
             return delStaffManage(staffIds)
           }).then(() => {

+ 239 - 72
ruoyi-ui-gongdan/src/views/index.vue

@@ -55,7 +55,7 @@
                   <div class="group_11 flex-col"></div>
                   <div class="group_12 flex-row justify-between">
                     <div class="text-wrapper_19 flex-col justify-between">
-                      <span class="text_100">评价</span>
+                      <span class="text_100">评价</span>
                       <span class="text_101">{{dongdannu.dpj}}</span>
                     </div>
                     <img
@@ -157,6 +157,27 @@
                           />
                         </div>
                         <div class="group_4 flex-col" v-if="fuweush">
+                          <span class="text_13" >{{fuwudong[0].createTime}}</span>
+                          <div class="text-wrapper_2" >
+                            <span style="color: #161616;">{{fuwudong[0].record == null?'暂无数据' : fuwudong[0].record}}</span>
+                          </div>
+
+                          <!-- 1 -->
+                          <span class="text_22" >{{fuwudong[1].createTime}}</span>
+                          <div class="text-wrapper_2" >
+                                                      <span style="color: #161616;">{{fuwudong[1].record == null?'暂无数据' : fuwudong[1].record}}</span>
+                                                    </div>
+
+
+                          <span class="text_29" >{{fuwudong[2].createTime}}</span>
+
+                        </div>
+
+
+
+
+
+                        <!-- <div class="group_4 flex-col" v-if="fuweush">
                           <span class="text_13" v-if="fuwudong[0].serviceProgress == 0">{{fuwudong[0].createTime}}</span>
                           <span class="text_13" v-if="fuwudong[0].serviceProgress == 1">{{fuwudong[0].takeTime}}</span>
                           <span class="text_13" v-if="fuwudong[0].serviceProgress == 2">{{fuwudong[0].updateTime}}</span>
@@ -182,9 +203,6 @@
                                 <span style="color: #161616;">{{fuwudong[0].type == null?'暂无数据' : fuwudong[0].type}}</span>工单已完成;客户评价
                                 <span style="color: #161616;">{{fuwudong[0].evaluation == null?'暂无数据' : fuwudong[0].evaluation}}</span>
                           </div>
-
-                          <!-- 1 -->
-
                           <span class="text_22" v-if="fuwudong[1].serviceProgress == 0">{{fuwudong[1].createTime}}</span>
                           <span class="text_22" v-if="fuwudong[1].serviceProgress == 1">{{fuwudong[1].takeTime}}</span>
                           <span class="text_22" v-if="fuwudong[1].serviceProgress == 2">{{fuwudong[1].updateTime}}</span>
@@ -216,8 +234,7 @@
                           <span class="text_29" v-if="fuwudong[2].serviceProgress == 1">{{fuwudong[2].takeTime}}</span>
                           <span class="text_29" v-if="fuwudong[2].serviceProgress == 2">{{fuwudong[2].updateTime}}</span>
                           <span class="text_29" v-if="fuwudong[2].serviceProgress == 3">{{fuwudong[2].updateTime}}</span>
-
-                        </div>
+                        </div> -->
                       </div>
                       <div class="group_5 flex-col"></div>
                       <div class="group_6 flex-col"></div>
@@ -255,7 +272,7 @@
                                       </div>
                                     </div>
                 </div>
-          <div class="box_19 flex-col">
+          <div class="box_19 flex-col" v-if="isshue">
                   <span class="text_60">员工业绩Top6排名</span>
                   <div class="group_7 " style="margin-top: 20px;">
                     <el-row>
@@ -282,7 +299,7 @@
                     </el-row>
 
                   </div>
-                  <div class="group_8 ">
+                  <div class="group_8 " >
                     <el-row>
                                           <el-col :span="3">
                    <img
@@ -292,13 +309,13 @@
                                        />
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                           <span class="text_64">孙丽</span>
+                                           <span class="text_64">{{topwlist[0].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">开发部</span>
+                                             <span class="text_64">{{topwlist[0].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[0].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -312,13 +329,13 @@
                                        />
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                           <span class="text_64">王伟民</span>
+                                           <span class="text_64">{{topwlist[1].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">网络服务部</span>
+                                             <span class="text_64">{{topwlist[1].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[1].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -332,13 +349,13 @@
                                        />
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                           <span class="text_64">王伟民</span>
+                                           <span class="text_64">{{topwlist[2].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">网络服务部</span>
+                                             <span class="text_64">{{topwlist[2].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[2].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -348,13 +365,13 @@
                    <span class="text_81">4</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                           <span class="text_64">王伟民</span>
+                                           <span class="text_64">{{topwlist[3].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">开发部</span>
+                                             <span class="text_64">{{topwlist[3].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[3].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -364,13 +381,13 @@
                    <span class="text_81">5</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                           <span class="text_64">王伟民</span>
+                                           <span class="text_64">{{topwlist[4].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">开发部</span>
+                                             <span class="text_64">{{topwlist[4].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[4].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -380,13 +397,13 @@
                   <span class="text_81">6</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: center;">
-                                          <span class="text_64">刘琪琪</span>
+                                          <span class="text_64">{{topwlist[5].name}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                             <span class="text_64">运维部</span>
+                                             <span class="text_64">{{topwlist[5].deptName}}</span>
                                           </el-col>
                                           <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                            <span class="text_64">14单</span>
+                                            <span class="text_64">{{topwlist[5].num}}单</span>
                                           </el-col>
                                         </el-row>
                   </div>
@@ -430,7 +447,7 @@
                 >您有<span style="color: #F06011;margin-right: 8px;margin-left: 5px;">{{dabnum}}</span>条新消息等待处理!</span
               >
               <span class="text_152"
-                >上次登录时间:{{getyer}}年{{getmor}}月{{getday}}日&nbsp;&nbsp;{{getshifL}}</span
+                >上次登录时间:{{dateFormat('YYYY年mm月dd日 HH:MM:',this.$store.state.user.loginDate) + '00'}}&nbsp;&nbsp;</span
               >
             </div>
             <div class="box_25 flex-col">
@@ -448,7 +465,7 @@
               </div>
 
                     <span class="text_128">客户工单</span>
-                    <div :class="item == 2? 'group_18 group_18it flex-col' : 'group_18 flex-col'" v-for="(item,index) in  infoList" :key="index">
+                    <div :class="{'co77b flex-col group_18':item.type==1,' group_18 co06b flex-col':item.type==2,' group_18 cofbb flex-col':item.type==3,' group_18 coafb flex-col':item.type==4,'group_18 coafsb flex-col':item.type==5,'group_18 coafssb flex-col':item.type==6,}"  v-for="(item,index) in  infoList" :key="index">
                       <div class="group_19 flex-row justify-between">
                         <span class="text_129">{{item.unitName == null ? '暂无数据' : item.unitName}}</span>
                         <img
@@ -514,7 +531,8 @@
                         />
                         <div class="text-group_5">
                           <span class="text_132">服务类型:</span>
-                          <div class="text_133" style="color: #5470C6;"><dict-tag :options="dict.type.work_order_type" :value="item.type"/></div>
+                          <div class="text_133" :class="{'co77':item.type==1,'co06':item.type==2,'cofb':item.type==3,'coaf':item.type==4,'coafs':item.type==5,'coafss':item.type==6,}">
+                            <dict-tag :options="dict.type.work_order_type" :value="item.type"/></div>
                         </div>
                       </div>
 
@@ -547,7 +565,7 @@
            <span style="position: absolute;bottom: 14px;left: 175px;font-weight: bold;
                font-size: 18px;color: #FFFFFF;"> 服务类型单量统计</span>
          </div>
-         <pie-chartone :chart-data="huanxi"/>
+         <pie-chartone :chart-data="yearfuwulist"/>
                <div class="section_6 flex-row" style="justify-content: space-between;margin-top: 45px; padding: 0 20px;">
                  <div style="flex: 1;display: flex;justify-content: center;">
                    <div class="section_7 flex-col"></div>
@@ -579,37 +597,37 @@
                <el-row :gutter="20" style="padding: 20px;">
                  <el-col :span="8" style="margin-bottom: 10px;">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.wlfw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">网络服务</p>
                    </div>
                  </el-col>
                  <el-col :span="8" style="margin-bottom: 10px;">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.sbfw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">设备服务</p>
                    </div>
                  </el-col>
                  <el-col :span="8" style="margin-bottom: 10px;">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.rjfw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">软件服务</p>
                    </div>
                  </el-col>
                  <el-col :span="8" style="margin-bottom: 10px;">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.kffw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">开发服务</p>
                    </div>
                  </el-col>
                  <el-col :span="8">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.sjfw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">设计服务</p>
                    </div>
                  </el-col>
                  <el-col :span="8">
                    <div style="width: 100%;height: 56px;background: #E6ECFE;border-radius: 10px;text-align: center;padding-top: 10px;">
-                     <i style="font-weight: bold;font-size: 16px;color: #333333;">47</i>
+                     <i style="font-weight: bold;font-size: 16px;color: #333333;">{{yearfuwulist.qtfw}}</i>
                      <p style="margin: 0;font-weight: 500;font-size: 16px;color: #333333;">其他服务</p>
                    </div>
                  </el-col>
@@ -623,22 +641,22 @@
            <span style="position: absolute;bottom: 14px;left: 175px;font-weight: bold;
                font-size: 18px;color: #FFFFFF;"> 年度单量统计</span>
          </div>
-         <line-chart :chart-data="lineChartData" />
+         <line-chart :chart-data="monthlist" />
 
 
 
              </div>
      </div>
-     <div style="padding: 20px; background-color: rgba(255,255,255,0.5);">
+     <div style="padding: 20px; background-color: rgba(255,255,255,0.5);" v-if="isyearsh">
        <div class=" flex-col" style="margin-top: 0;padding-top: 0;background-color: rgba(255,243,224,0.5); padding: 0 20px 20px 20px; " >
          <div style="position: relative;">
            <img src="../assets/images/pic_ndzj_bt_orang.png" alt=""style="width: 100%;height: 46px;">
-           <span style="position: absolute;bottom: 14px;left: 175px;font-weight: bold;
+           <span style="position: absolute;bottom: 14px;left: 114px;font-weight: bold;
                font-size: 18px;color: #FFFFFF;"> 员工业绩Top 6</span>
          </div>
          <div class="box_19 flex-col" style="background-color: #FBEFDC;">
                            <div class="group_7 " style="margin-top: 20px; width: 100%;">
-                             <el-row>
+                             <el-row >
                                <el-col :span="3">
                                                        <div style="width: 100%;height: 26px;">
 
@@ -672,13 +690,13 @@
                                                 />
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                    <span class="text_64">孙丽</span>
+                                                    <span class="text_64">{{topyearwlist[0].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">开发部</span>
+                                                      <span class="text_64">{{topyearwlist[0].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[0].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -692,13 +710,13 @@
                                                 />
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                    <span class="text_64">王伟民</span>
+                                                    <span class="text_64">{{topyearwlist[1].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">网络服务部</span>
+                                                      <span class="text_64">{{topyearwlist[1].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[1].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -712,13 +730,13 @@
                                                 />
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                    <span class="text_64">王伟民</span>
+                                                    <span class="text_64">{{topyearwlist[2].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">网络服务部</span>
+                                                      <span class="text_64">{{topyearwlist[2].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[2].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -728,13 +746,13 @@
                             <span class="text_81">4</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                    <span class="text_64">王伟民</span>
+                                                    <span class="text_64">{{topyearwlist[3].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">开发部</span>
+                                                      <span class="text_64">{{topyearwlist[3].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[3].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -744,13 +762,13 @@
                             <span class="text_81">5</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                    <span class="text_64">王伟民</span>
+                                                    <span class="text_64">{{topyearwlist[4].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">开发部</span>
+                                                      <span class="text_64">{{topyearwlist[4].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[4].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -760,13 +778,13 @@
                            <span class="text_81">6</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: center;">
-                                                   <span class="text_64">刘琪琪</span>
+                                                   <span class="text_64">{{topyearwlist[5].name}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                      <span class="text_64">运维部</span>
+                                                      <span class="text_64">{{topyearwlist[5].deptName}}</span>
                                                    </el-col>
                                                    <el-col :span="7" style="display: flex;justify-content: flex-end;">
-                                                     <span class="text_64">14单</span>
+                                                     <span class="text_64">{{topyearwlist[5].num}}单</span>
                                                    </el-col>
                                                  </el-row>
                            </div>
@@ -784,7 +802,7 @@
 
 <script>
   import { listInfo, getInfo, delInfo, addInfo, updateInfo,jd,listStaffManageNoPage } from "@/api/system/info"
-  import { lc,fw,bj,num,recordlist,px } from "@/api/index"
+  import { lc,fw,bj,num,recordlist,px,yearpx,fwlx,month } from "@/api/index"
   import PanelGroup from './dashboard/PanelGroup'
   import LineChart from './dashboard/LineChart'
   import RaddarChart from './dashboard/RaddarChart'
@@ -845,11 +863,18 @@ export default {
         fuweush:false,
         buyTypeOptions:[],
         buyTypeOptionsmy:[],
-        isgegs:[]
+        isgegs:[],
+        topwlist:[],
+        topyearwlist:[],
+        yearfuwulist:[],
+        monthlist:{},
+        isshue:false,
+        isyearsh:false
     }
   },
   created() {
     this.avatar = this.$store.state.user.avatar
+    console.log(this.dateFormat('YYYY年mm月dd日 HH时MM分',this.$store.state.user.loginDate))
     this.getDicts("work_order_type").then(response => {
       this.buyTypeOptions = response.data;
       this.buyTypeOptions.filter(rou=>{
@@ -871,6 +896,11 @@ export default {
     this.getzhuzh()
     this.getdaiban()
     this.fuwudongg()
+    this.gettop()
+    // 年度总结
+    this.yeartop()
+    this.getyearfu()
+    this.getmonth()
   },
   methods: {
     // 工单数量
@@ -899,28 +929,21 @@ export default {
        this.fuweush = false
       recordlist(nsgh).then(response => {
       this.fuwudong = response.rows
+      let gd={unitName:null,responsibleName:'暂无数据',type:'暂无数据',orderId:'暂无数据',record:'暂无数据',
+      updateTime:'暂无数据',takeTime:'暂无数据',createTime:'暂无数据',serviceProgress:0,evaluation:'暂无数据'
+      }
       this.fuwudong.filter(rou=>{
         rou.type = this.selectDictLabel(this.buyTypeOptions ,rou.type)
         rou.evaluation = this.selectDictLabel(this.buyTypeOptionsmy ,rou.evaluation)
       })
-
       if(this.fuwudong.length == 0){
-        let gd={unitName:null,responsibleName:'暂无数据',type:'暂无数据',orderId:'暂无数据',
-        updateTime:'暂无数据',takeTime:'暂无数据',createTime:'暂无数据',serviceProgress:0,evaluation:'暂无数据'
-        }
         this.fuwudong.push(gd)
         this.fuwudong.push(gd)
         this.fuwudong.push(gd)
       }else if(this.fuwudong.length == 1){
-        let gd={unitName:null,responsibleName:'暂无数据',type:'暂无数据',orderId:'暂无数据',
-        updateTime:'暂无数据',takeTime:'暂无数据',createTime:'暂无数据',serviceProgress:0,evaluation:'暂无数据'
-        }
         this.fuwudong.push(gd)
         this.fuwudong.push(gd)
       }else if(this.fuwudong.length == 2){
-        let gd={unitName:null,responsibleName:'暂无数据',type:'暂无数据',orderId:'暂无数据',
-        updateTime:'暂无数据',takeTime:'暂无数据',createTime:'暂无数据',serviceProgress:0,evaluation:'暂无数据'
-        }
          this.fuwudong.push(gd)
       }
       // console.log(this.fuwudong)
@@ -936,8 +959,91 @@ export default {
     },
     // 月top6
     gettop(){
+      this.isshue = false
+        px().then(response => {
+        this.topwlist = response.data
+        let snge={xh:'暂无数据','name':'暂无数据','deptName':'暂无数据','num':'暂无数据'}
+        if(this.topwlist.length == 0){
+         this.topwlist.push(snge)
+         this.topwlist.push(snge)
+         this.topwlist.push(snge)
+         this.topwlist.push(snge)
+         this.topwlist.push(snge)
+         this.topwlist.push(snge)
+        }else if(this.topwlist.length == 1){
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+        }else if(this.topwlist.length == 2){
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+        }else if(this.topwlist.length == 3){
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+        }else if(this.topwlist.length == 4){
+          this.topwlist.push(snge)
+          this.topwlist.push(snge)
+        }else if(this.topwlist.length == 5){
+          this.topwlist.push(snge)
+        }
+        this.isshue = true
+          })
+    },
+    // 年度总结统计
+    yeartop(){
+      this.isyearsh = false
+      yearpx().then(response => {
+      this.topyearwlist = response.data
+      let snge={xh:'暂无数据','name':'暂无数据','deptName':'暂无数据','num':'暂无数据'}
+      if(this.topyearwlist.length == 0){
+       this.topyearwlist.push(snge)
+       this.topyearwlist.push(snge)
+       this.topyearwlist.push(snge)
+       this.topyearwlist.push(snge)
+       this.topyearwlist.push(snge)
+       this.topyearwlist.push(snge)
+      }else if(this.topyearwlist.length == 1){
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+      }else if(this.topyearwlist.length == 2){
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+      }else if(this.topyearwlist.length == 3){
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+      }else if(this.topyearwlist.length == 4){
+        this.topyearwlist.push(snge)
+        this.topyearwlist.push(snge)
+      }else if(this.topyearwlist.length == 5){
+        this.topyearwlist.push(snge)
+      }
+      this.isyearsh = true
+        })
 
     },
+    // 年度服务类型单量统计
+    getyearfu(){
+      fwlx().then(response => {
+      this.yearfuwulist = response.data
+        })
+    },
+    // 年度单量统计
+    getmonth(){
+      month().then(response => {
+      this.monthlist = response.data
+        })
+    },
     // 日历
     getList(row) {
       this.loading = true;
@@ -996,11 +1102,35 @@ export default {
       _this.getyer = yy;
       _this.getmor = mm;
       _this.getday = dd;
-      _this.getshifL = hh + ':' + mf + ':' + ss;
+      _this.getshifL =  ss;
       // _this.getweek = week;
 
       // console.log(this.gettime)
     },
+    // 日期转换
+    dateFormat(fmt, date) {
+          let ret="";
+          date=new Date(date);
+          const opt = {
+            'Y+': date.getFullYear().toString(), // 年
+            'm+': (date.getMonth() + 1).toString(), // 月
+            'd+': date.getDate().toString(), // 日
+            'H+': date.getHours().toString(), // 时
+            'M+': date.getMinutes().toString(), // 分
+            'S+': date.getSeconds().toString() // 秒
+            // 有其他格式化字符需求可以继续添加,必须转化成字符串
+          }
+          for (let k in opt) {
+            ret = new RegExp('(' + k + ')').exec(fmt)
+            if (ret) {
+              fmt = fmt.replace(
+                ret[1],
+                ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+              )
+            }
+          }
+          return fmt
+        },
     // 快捷方式跳转
     tiaoz(row){
       if(row == 0){
@@ -2419,7 +2549,6 @@ export default {
 }
 
 .group_7 {
-  width: 240px;
   height: 26px;
   // margin: 14px 0 0 66px;
 }
@@ -4557,5 +4686,43 @@ button:active {
     background: #00A06E !important;
     border-radius: 2px !important;
   }
+  .co77{
+   color: #779AF9 !important;
+
+  }
+  .co06{
+    color: #AF88B8 !important;
+  }
+  .cofb{
+    color: #FFA20C !important;
+  }
+  .coaf{
+    color: #5470C6 !important;
+  }
+  .coafs{
+    color: #00B278 !important;
+  }
+  .coafss{
+    color: #FF6969 !important;
+  }
+  .co77{
+   color: #779AF9 !important;
+
+  }
+  .co06b{
+    border-color: #AF88B8 !important;
+  }
+  .cofbb{
+    border-color: #FFA20C !important;
+  }
+  .coafb{
+    border-color: #5470C6 !important;
+  }
+  .coafsb{
+    border-color: #00B278 !important;
+  }
+  .coafssb{
+    border-color: #FF6969 !important;
+  }
 </style>
 

+ 1 - 1
ruoyi-ui-gongdan/src/views/login.vue

@@ -607,7 +607,7 @@ export default {
       border-radius: 21px;
       background-color: #0391FD;
       // border-color: #F7F6FC;s
-      background-color:#fff
+      background-color:#fff ;
     }
   }
   .el-checkbox__inner{