Browse Source

首页,login图标修改

huahaiyan 6 years ago
parent
commit
603b7dce87

+ 1 - 1
src/dashoo.cn/frontend_web/src/components/Headbar.vue

@@ -16,7 +16,7 @@
       </router-link>
     </div>
     <nav class="toolbar" style="margin-top: 3px;">
-      <img src="../assets/img/title_right.png" style="height:35px;padding-top:5px;" />
+      <img src="../assets/img/标题2.png" style="height:35px;padding-top:5px;" />
       <div style="margin: 10px 0px 0px 20px;"></div>
       <el-tag type="text" size="mini" style="margin-top:12px">{{department}}</el-tag>
 

+ 922 - 3
src/dashoo.cn/frontend_web/src/pages/index.vue

@@ -1,6 +1,164 @@
 <template>
-  <div>
-    
+  <div v-loading="downloading" element-loading-text="数据拼命读取中,请稍候。。。">
+    <div slot="header" style="padding-top: 0px">
+      <el-card>
+        <span style="float: left; margin-top:10px;">
+          <img v-if="user.photo" :src="'http://'+user.host+user.photo" class="avatar-index">
+          <img v-else class="avatar-index" src="../assets/img/avatar-default.jpg" :alt="user.name"> &nbsp;[
+          {{user.Realname}} ]
+        </span>
+        <span style="float: right; margin-right:10px;">
+          <el-form ref="form" :inline="true" style="float: right;">
+            <el-form-item label="查询日期">
+              <el-date-picker v-model="Getime" size="mini" type="daterange" range-separator="至" start-placeholder="开始日期"
+                end-placeholder="结束日期" style="width:200px" @change="getNewData"></el-date-picker>
+            </el-form-item>
+            <el-form-item>
+              <el-select v-if="allshow" v-model="Department" clearable filterable placeholder="请选择公司" size="mini" style="width: 110px"
+                @change="getNewData">
+                <el-option v-for="item in departmentList" :key="item.value" :label="item.Name" :value="item.Id"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-form>
+        </span>
+        <el-form ref="form" :inline="true" style="float: left; margin-left:20px;">
+          <el-form-item>
+            <router-link :to="'/lims/dataentry/tacktodo'">
+              <el-button type="primary" plain style="margin-left:5px;" size="mini" v-if="!allshow && permissions[permissionscode.entry]">
+                数据录入
+                <span style="color:#0000FF">【{{usertotal.EntryTotal}}】</span>
+              </el-button>
+            </router-link>
+          </el-form-item>
+          <el-form-item>
+            <router-link :to="'/lims/dataentry/tacktodo'">
+              <el-button type="primary" plain style="margin-left:5px;" size="mini" v-if="!allshow && permissions[permissionscode.check]">
+                数据校核
+                <span style="color:#0000FF">【{{usertotal.CheckTotal}}】</span>
+              </el-button>
+            </router-link>
+          </el-form-item>
+          <el-form-item>
+            <router-link :to="'/lims/dataentry/tacktodo'">
+              <el-button type="primary" plain style="margin-left:5px;" size="mini" v-if="!allshow && permissions[permissionscode.audit]">
+                数据审批
+                <span style="color:#0000FF">【{{usertotal.AuditTotal}}】</span>
+              </el-button>
+            </router-link>
+          </el-form-item>
+          <el-form-item>
+            <router-link :to="'/lims/createreport/reporttodo'">
+              <el-button type="primary" plain style="margin-left:5px;" size="mini" v-if="!allshow && permissions[permissionscode.sign]">
+                报告签发
+                <span style="color:#0000FF">【{{usertotal.SignTotal}}】</span>
+              </el-button>
+            </router-link>
+          </el-form-item>
+        </el-form>
+      </el-card>
+
+      <el-row :gutter="5">
+        <el-col :span="12">
+          <el-card class="box-card" style="height: calc(100vh - 350px);" v-if="!allshow">
+            <div slot="header">
+              <legend style="color:#436EEE"></legend>
+              <i class="icon icon-database"> 待办工作</i>
+            </div>
+            <el-table :data="WaitData" size="small" border height="calc(100vh - 470px)">
+              <el-table-column label="待办工作跳转" width="100" align="center" fixed>
+                <template slot-scope="scope">
+                  <el-button type="primary" plain size="mini" @click="gopage(scope.row)">详情</el-button>
+                </template>
+              </el-table-column>
+              <el-table-column prop="EntrustNo" sortable min-width="100" label="委托单号" align="center"></el-table-column>
+              <el-table-column prop="CustomerName" sortable min-width="90" label="委托方名称" align="center"></el-table-column>
+              <el-table-column prop="TestDetail" sortable min-width="100" label="检测项目" align="center"></el-table-column>
+              <el-table-column prop="CheckStatus" sortable min-width="90" label="代办工作" align="center">
+                <template slot-scope="scope">
+                  <el-tag size="small" v-show="scope.row.CheckStatus=='0'" type="danger">数据录入</el-tag>
+                  <el-tag size="small" v-show="scope.row.CheckStatus=='1'" type="success">数据校核</el-tag>
+                  <el-tag size="small" v-show="scope.row.CheckStatus=='2'" type="info">数据审批</el-tag>
+                  <el-tag size="small" v-show="scope.row.ReportStatus=='4'" type="warning">报告签发</el-tag>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-card>
+        </el-col>
+
+        <el-col :span="12">
+          <el-card class="box-card" style="height: calc(100vh - 350px);" v-if="!allshow">
+            <div slot="header">
+              <legend style="color:#436EEE"></legend>
+              <i class="icon icon-database"> 已办工作</i>
+            </div>
+            <el-table :data="DoneData" size="small" border height="calc(100vh - 470px)">
+              <el-table-column prop="EntrustNo" sortable min-width="100" label="委托单号" align="center"></el-table-column>
+              <el-table-column prop="CustomerName" sortable min-width="100" label="委托方名称" align="center"></el-table-column>
+              <el-table-column prop="TestDetail" sortable min-width="100" label="检测项目" align="center"></el-table-column>
+              <el-table-column prop="CheckStatus" sortable min-width="100" label="已办工作" align="center">
+                <template slot-scope="scope">
+                  <el-tag size="small" v-show="scope.row.CreateUserId == user.id&&scope.row.CheckStatus=='1'" type="danger">数据录入</el-tag>
+                  <el-tag size="small" v-show="scope.row.JHUserId == user.id&&(scope.row.CheckStatus=='2'||scope.row.CheckStatus=='3')"
+                    type="success">数据校核</el-tag>
+                  <el-tag size="small" v-show="scope.row.CheckUserId == user.id&&(scope.row.CheckStatus=='4'||scope.row.CheckStatus=='5')"
+                    type="info">数据审批</el-tag>
+                  <el-tag size="small" v-show="scope.row.ReportStatus != '0'" type="warning">报告签发</el-tag>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-card>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-card style="margin-top: 5px; height:460.5px; width: 100%">
+          <div class="salesCard">
+            <el-col :span="16" style="margin-top: -10px">
+              <el-tabs size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
+                <el-tab-pane label="检测任务">
+                  <div v-if="EntrustX.length === 0">无显示数据,可在
+                    <router-link :to="'/lims/tasksentrust/addentrust/operation'">检测任务</router-link> 中录入</div>
+                  <div id="Entrustid" style="height:380px; margin-left:-25px; margin-top:-10px; min-width:400px; width: 900px"></div>
+                </el-tab-pane>
+                <el-tab-pane label="数据录入">
+                  <div v-if="DataEntryX.length === 0">无显示数据,可在
+                    <router-link :to="'/lims/dataentry/tacktodo'">数据录入</router-link> 中录入</div>
+                  <div id="Dataentryid" style="height:380px; margin-left:-25px; margin-top:-10px; min-width:400px; width: 900px"></div>
+                </el-tab-pane>
+              </el-tabs>
+            </el-col>
+            <el-col :span="8" style="float: right; margin-top: -10px">
+              <div v-if="ProjectList.length === 0">无显示数据</div>
+              <ranking-list title="检测报告" :list="ProjectList" />
+            </el-col>
+          </div>
+        </el-card>
+      </el-row>
+
+      <el-row :gutter="5">
+        <el-col :span="12">
+          <el-card :bordered="false" style="margin-top: 5px">
+            <div slot="header">
+              <legend style="color:#436EEE"></legend>
+              <i class="icon icon-database"> 设备使用记录统计</i>
+            </div>
+            <div v-if="InstrumentX.length === 0">无显示数据</div>
+            <div id="Instrumentid" style="height:366.5px; min-width:400px; width: 100%"></div>
+          </el-card>
+        </el-col>
+
+        <el-col :span="12">
+          <el-card :bordered="false" style="margin-top: 5px">
+            <div slot="header">
+              <legend style="color:#436EEE"></legend>
+              <i class="icon icon-database"> 委托方统计</i>
+            </div>
+            <div v-if="CustomerTitle.length === 0">无显示数据</div>
+            <div id="Customerid" style="width:100%; height:366.5px;"></div>
+          </el-card>
+        </el-col>
+      </el-row>
+    </div>
   </div>
 </template>
 
@@ -9,23 +167,784 @@
   import {
     mapGetters
   } from 'vuex'
+
+  import ChartCard from '../components/card/ChartCard'
+  import MiniArea from '../components/chart/MiniArea'
+  import MiniBar from '../components/chart/MiniBar'
+  import MiniProgress from '../components/chart/MiniProgress'
+  import Bar from '../components/chart/Bar'
+  import RankingList from '../components/chart/RankingList'
+  import Trend from '../components/chart/Trend'
+  import docTemplateApi from '@/api/lims/docTemplate';
+  import SalesData from '../components/chart/SalesData'
+
   export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
     name: 'index',
-
+    components: {
+      Trend,
+      RankingList,
+      Bar,
+      MiniProgress,
+      MiniBar,
+      MiniArea,
+      ChartCard,
+      SalesData
+    },
     data() {
       return {
+        currentPage: 1,
+        pageSize: 50,
+        downloading: true,
+        usertotal: {},
+        DoneTotal: {},
+        WaitData: [], //待办事项列表数据
+        DoneData: [], //已办工作列表数据
+        department: '',
+        Department: '',
+        departmentList: [{
+          Id: 100000150,
+          Name: '特检站'
+        }, {
+          Id: 100000151,
+          Name: '宇信公司'
+        }, {
+          Id: 100000152,
+          Name: '计量能源站'
+        }, {
+          Id: 100000153,
+          Name: '工程监督中心'
+        }, {
+          Id: 100000166,
+          Name: '质检中心'
+        }, {
+          Id: 100000167,
+          Name: '物资商品检验所'
+        }],
+        Getime: [new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 12000), new Date()],
+        WhtinTime: new Date(new Date().getTime() - 3600 * 1000 * 24 * 7),
+        ProjectList: [],
+        InstrumentList: [],
+        Entrustid: null,
+        Dataentryid: null,
+        Customerid: null,
+        Instrumentid: null,
+        CustomerTitle: [], //委托方
+        CustomerData: [], //委托方数据
+        EntrustX: [], //检测任务月份
+        EntrustY: [], //检测任务数目
+        DataEntryX: [], //数据录入月份
+        DataEntryY: [], //数据录入数目
+        InstrumentX: [], //设备使用记录
+        InstrumentY: [],
+        reportColor: ['#188df0'],
+        instrumentColor: ['#FA7080', '#FFE373', '#816FD7', '#FF9B73', '#FFF273', '#FFBFB2', '#F690BB', '#1E90FF',
+          '#000080'
+        ],
+        user: {
+          id: '',
+          photo: '',
+          name: '',
+          Realname: '',
+          host: ''
+        },
+        allshow: false,
+        whichshow: '',
+        permissionscode: {
+          entry: 'lims.dataentry.add',
+          check: 'lims.dataentry.approve',
+          audit: 'lims.dataentry.makesure',
+          sign: 'lims.report.send',
+        },
+        permissions: {
+          'lims.dataentry.add': false,
+          'lims.dataentry.approve': false,
+          'lims.dataentry.makesure': false,
+          'lims.report.send': false,
+        },
 
+        docTemplateDictList: [],
+        docTempType: '',
       }
     },
     created() {
+      //this.initDatas()
+      this.getPermissions() //权限
+      this.getShowPermissions()
+      this.getDictList() //获取模板
+      let _this = this
+      _this.user.photo = _this.authUser.Profile.Photo
+      _this.user.name = _this.authUser.Profile.name
+      _this.user.Realname = _this.authUser.Profile.Realname
+      _this.user.host = _this.authUser.Profile.Host
+      _this.user.id = _this.authUser.Profile.Id
     },
     computed: mapGetters({
       authUser: 'authUser'
     }),
     methods: {
+      initData() {
+        let _this = this
+        // paginate
+        const params = {
+          _currentPage: this.currentPage,
+          _size: this.pageSize
+        }
+        this.$axios.get('/limsindex/getwaiting', {
+            params
+          })
+          .then(res => {
+            _this.usertotal = res.data
+            _this.downloading = false
+            _this.getProject()
+            _this.getEntrust()
+            _this.getDataEntry()
+            _this.getInstrument()
+            _this.getCustomer()
+            _this.pushData()
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      initDatas() {
+        let _this = this
+        // paginate
+        const params = {
+          _currentPage: this.currentPage,
+          _size: this.pageSize,
+          whtintime: this.formatDateTime(this.WhtinTime)
+        }
+        this.$axios.get('/limsindex/getdone', {
+            params
+          })
+          .then(res => {
+            _this.DoneTotal = res.data
+            _this.downloading = false
+            _this.pushDoneData()
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      pushData() {
+        let _this = this
+        if (_this.usertotal.EntryList.length && _this.usertotal.EntryList.length > 0) {
+          _this.WaitData = _this.WaitData.concat(_this.usertotal.EntryList)
+        }
+        if (_this.usertotal.CheckList.length && _this.usertotal.CheckList.length > 0) {
+          _this.WaitData = _this.WaitData.concat(_this.usertotal.CheckList)
+        }
+        if (_this.usertotal.AuditList.length && _this.usertotal.AuditList.length > 0) {
+          _this.WaitData = _this.WaitData.concat(_this.usertotal.AuditList)
+        }
+        if (_this.usertotal.SignList.length && _this.usertotal.SignList.length > 0) {
+          _this.WaitData = _this.WaitData.concat(_this.usertotal.SignList)
+        }
+      },
+      pushDoneData() {
+        this.$axios.get('/limsdataentry/list', {}).then(res => {
+          if (res.data.items) {
+            this.DoneData = this.DoneData.concat(res.data.items)
+          }
+          this.$axios.get('/createreport/list', {}).then(res => {
+              if (res.data.items) {
+                this.DoneData = this.DoneData.concat(res.data.items)
+              }
+            })
+            .catch(err => {
+              // handle error
+              console.error(err)
+            })
+        })
+        // let _this = this
+        // if (_this.DoneTotal.EntryList.length && _this.DoneTotal.EntryList.length > 0) {
+        //   _this.DoneData = _this.DoneData.concat(_this.DoneTotal.EntryList)
+        // }
+        // if (_this.DoneTotal.CheckList.length && _this.DoneTotal.CheckList.length > 0) {
+        //   _this.DoneData = _this.DoneData.concat(_this.DoneTotal.CheckList)
+        // }
+        // if (_this.DoneTotal.AuditList.length && _this.DoneTotal.AuditList.length > 0) {
+        //   _this.DoneData = _this.DoneData.concat(_this.DoneTotal.AuditList)
+        // }
+        // if (_this.DoneTotal.SignList.length && _this.DoneTotal.SignList.length > 0) {
+        //   _this.DoneData = _this.DoneData.concat(_this.DoneTotal.SignList)
+        // }
+
+      },
+
+      getNewData() {
+        this.WaitData = [] //待办事项列表
+        //this.DoneData = [] //已办事项列表
+        this.EntrustX = [] //检测任务月份
+        this.EntrustY = [] //检测任务数目
+        this.DataEntryX = [] //数据录入月份
+        this.DataEntryY = [] //数据录入数目
+        this.ProjectList = []
+        this.InstrumentX = []
+        this.InstrumentY = []
+        this.CustomerTitle = [] //委托方
+        this.CustomerData = [] //委托方数据
+        this.initData()
+      },
+      //检测任务柱状图数据获取
+      getEntrust() {
+        let _this = this
+        let getime = []
+        if (!_this.Getime) {
+          _this.Getime = []
+        }
+        // 解析时间
+        if (_this.Getime.length == 2) {
+          _this.Getime[1].setHours(23)
+          _this.Getime[1].setMinutes(59)
+          _this.Getime[1].setSeconds(59)
+          getime.push(_this.formatDateTime(_this.Getime[0]))
+          getime.push(_this.formatDateTime(_this.Getime[1]))
+        }
+        let params = {
+          department: this.Department,
+        }
+        _this.$axios.get('/limsindex/getentrust?getime=' + getime.join(','), {
+            params
+          })
+          .then(res => {
+            for (var i = 0; i < res.data.length; i++) {
+              _this.EntrustX.push(res.data[i].YearName + '年' + res.data[i].MonthName + '月')
+              _this.EntrustY.push(res.data[i].Num)
+            }
+            _this.drawEntrust()
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      drawEntrust() {
+        let _this = this
+        var chartBar = echarts.init(document.getElementById('Entrustid'))
+        chartBar.setOption({
+          title: {
+            text: ''
+          },
+          tooltip: {
+            trigger: 'item',
+            formatter: '({b}) {c}'
+          },
+          xAxis: {
+            data: _this.EntrustX,
+          },
+          yAxis: {},
+          series: [{
+            name: '月份',
+            type: 'bar',
+            label: {
+              normal: {
+                show: false
+              }
+            },
+            data: _this.EntrustY,
+            itemStyle: {
+              normal: {
+                color: function (params) {
+                  var colorList = _this.reportColor
+                  return colorList[params.dataIndex]
+                }
+              }
+            }
+          }]
+        })
+      },
+      //数据录入柱状图数据获取
+      getDataEntry() {
+        let _this = this
+        let getime = []
+        if (!_this.Getime) {
+          _this.Getime = []
+        }
+        // 解析时间
+        if (_this.Getime.length == 2) {
+          _this.Getime[1].setHours(23)
+          _this.Getime[1].setMinutes(59)
+          _this.Getime[1].setSeconds(59)
+          getime.push(_this.formatDateTime(_this.Getime[0]))
+          getime.push(_this.formatDateTime(_this.Getime[1]))
+        }
+        let params = {
+          department: this.Department,
+        }
+        _this.$axios.get('/limsindex/getdata?getime=' + getime.join(','), {
+            params
+          })
+          .then(res => {
+            for (var i = 0; i < res.data.length; i++) {
+              _this.DataEntryX.push(res.data[i].YearName + '年' + res.data[i].MonthName + '月')
+              _this.DataEntryY.push(res.data[i].Num)
+            }
+            _this.drawDataEntry()
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      drawDataEntry() {
+        let _this = this
+        var chartBar = echarts.init(document.getElementById('Dataentryid'))
+        chartBar.setOption({
+          title: {
+            text: ''
+          },
+          tooltip: {
+            trigger: 'item',
+            formatter: '({b}) {c}'
+          },
+          xAxis: {
+            data: _this.DataEntryX,
+          },
+          yAxis: {},
+          series: [{
+            name: '月份',
+            type: 'bar',
+            label: {
+              normal: {
+                show: false
+              }
+            },
+            data: _this.DataEntryY,
+            itemStyle: {
+              normal: {
+                color: function (params) {
+                  var colorList = _this.reportColor
+                  return colorList[params.dataIndex]
+                }
+              }
+            }
+          }]
+        })
+      },
+      //检测报告列表获取获取
+      getProject() {
+        let _this = this
+        let getime = []
+        if (!_this.Getime) {
+          _this.Getime = []
+        }
+        // 解析时间
+        if (_this.Getime.length == 2) {
+          _this.Getime[1].setHours(23)
+          _this.Getime[1].setMinutes(59)
+          _this.Getime[1].setSeconds(59)
+          getime.push(_this.formatDateTime(_this.Getime[0]))
+          getime.push(_this.formatDateTime(_this.Getime[1]))
+        }
+        let params = {
+          department: this.Department,
+        }
+        _this.$axios.get('/limsindex/getproject?getime=' + getime.join(','), {
+            params
+          })
+          .then(res => {
+            for (var i = 0; i < res.data.length; i++) {
+              _this.ProjectList.push({
+                name: res.data[i].Name,
+                total: res.data[i].Num
+              })
+            }
+          }).catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      //设备运行记录图
+      getInstrument() {
+        let _this = this
+        let getime = []
+        if (!_this.Getime) {
+          _this.Getime = []
+        }
+        // 解析时间
+        if (_this.Getime.length == 2) {
+          _this.Getime[1].setHours(23)
+          _this.Getime[1].setMinutes(59)
+          _this.Getime[1].setSeconds(59)
+          getime.push(_this.formatDateTime(_this.Getime[0]))
+          getime.push(_this.formatDateTime(_this.Getime[1]))
+        }
+        let params = {
+          department: this.Department,
+        }
+        _this.$axios.get('/limsindex/getinstrument?getime=' + getime.join(','), {
+            params
+          })
+          .then(res => {
+            // if (res.data == null) {
+            //   _this.$message({
+            //     type: "warning",
+            //     message: "设备使用记录没有符合查询条件的结果!"
+            //   })
+            // } else {
+            for (var i = 0; i < res.data.length; i++) {
+              _this.InstrumentX.push(res.data[i].Name)
+              _this.InstrumentY.push(res.data[i].Num)
+            }
+            // }
+            _this.drawInstrument()
+          }).catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      drawInstrument() {
+        let _this = this
+        var chartBar = echarts.init(document.getElementById('Instrumentid'))
+        chartBar.setOption({
+          title: {
+            text: ''
+          },
+          tooltip: {
+            trigger: 'axis',
+            // formatter: '({b}) {c}'
+            axisPointer: {
+              type: 'shadow'
+            }
+          },
+          grid: {
+            left: '3%',
+            right: '4%',
+            bottom: '3%',
+            containLabel: true
+          },
+          xAxis: {
+            type: 'value',
+            boundaryGap: [0, 0.01],
+          },
+          yAxis: {
+            type: 'category',
+            data: _this.InstrumentX,
+          },
+          series: [{
+            name: '设备名称',
+            type: 'bar',
+            label: {
+              normal: {
+                show: false
+              }
+            },
+            data: _this.InstrumentY,
+            itemStyle: {
+              normal: {
+                color: function (params) {
+                  var colorList = _this.instrumentColor
+                  return colorList[params.dataIndex]
+                }
+              }
+            }
+          }]
+        })
+      },
+
+      //委托方统计环形图获取
+      getCustomer() {
+        let _this = this
+        let getime = []
+        if (!_this.Getime) {
+          _this.Getime = []
+        }
+        // 解析时间
+        if (_this.Getime.length == 2) {
+          _this.Getime[1].setHours(23)
+          _this.Getime[1].setMinutes(59)
+          _this.Getime[1].setSeconds(59)
+          getime.push(_this.formatDateTime(_this.Getime[0]))
+          getime.push(_this.formatDateTime(_this.Getime[1]))
+        }
+        // let params = {
+        //   department: this.Department,
+        // }
+        _this.$axios.get('limsindex/getcustomer?getime=' + getime.join(','), {})
+          .then(res => {
+            // if (res.data == null) {
+            //   _this.$message({
+            //     type: "warning",
+            //     message: "没有符合查询条件的结果!"
+            //   })
+            // } else {
+            for (var i = 0; i < res.data.length; i++) {
+              if (res.data[i].Name === '') {
+                res.data[i].Name = '未知'
+              }
+              if (i < 10) {
+                _this.CustomerTitle.push({
+                  name: res.data[i].Name
+                })
+                _this.CustomerData.push({
+                  name: res.data[i].Name,
+                  value: res.data[i].Num
+                })
+              } else {
+                _this.CustomerData.push({
+                  name: res.data[i].Name,
+                  value: res.data[i].Num
+                })
+              }
+            }
+            // }
+            _this.drawCustomer()
+          })
+          .catch(err => {
+            console.error(err)
+          })
+      },
+      drawCustomer() {
+        var chartPie = echarts.init(document.getElementById('Customerid'))
+        chartPie.setOption({
+          title: {
+            text: ''
+          },
+          tooltip: {
+            trigger: 'item',
+            formatter: '{b} {c} ({d}%)'
+          },
+          legend: {
+            orient: 'vertical',
+            left: 'right',
+            itemHeight: 20,
+            itemWidth: 20,
+            data: this.CustomerTitle
+          },
+          color: ['#FA7080', '#FFE373', '#816FD7', '#FF9B73', '#FFF273', '#FFBFB2', '#F690BB', '#1E90FF', '#000080'],
+          series: [{
+            name: '委托方统计',
+            type: 'pie',
+            radius: ['35%', '80%'],
+            label: {
+              normal: {
+                show: false
+              }
+            },
+            data: this.CustomerData
+          }]
+        })
+      },
 
+      //页面跳转
+      gopage(val) {
+        if (val.CheckStatus == '0' || val.CheckStatus == '1' || val.CheckStatus == '2') {
+          this.OpenOrignDataInput(val)
+        } else if (val.CheckStatus == '4') {
+          this.shenHeFunc(val)
+        }
+      },
+      getDictList() {
+        docTemplateApi.getDictList(this.$axios).then(res => {
+          this.docTemplateDictList = res.data;
+        });
+      },
+      //打开数据录入
+      OpenOrignDataInput(row) {
+        let CheckStatus = row.CheckStatus
+        let eid = row.EId
+        let tbid = row.TaskId
+        let DataEntryId = row.Id
+        let datadocId = row.DataDocId
+        let datadoc = row.DataDoc
+        for (let idx in this.docTemplateDictList) {
+          if (datadocId == this.docTemplateDictList[idx].Id) {
+            this.docTempType = this.docTemplateDictList[idx].TemplateCode
+          }
+        }
+        let queryParams = {
+          eid: eid,
+          tbid: tbid,
+          deid: DataEntryId,
+          datastatus: CheckStatus,
+          datadocId: datadocId
+        };
+        switch (this.docTempType) {
+          //漏电保护
+          case "DAYT.LeakProtect.Detail":
+            this.$router.push({
+              path: '/lims/reportleakprotect/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //空气泡沫
+          case "DAYT.Airfoamgenerator.Detail":
+            this.$router.push({
+              path: '/lims/reportairfoamgenerator/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //呼吸阀
+          case "DAYT.AtmosValve.Detail":
+            this.$router.push({
+              path: '/lims/reportatmosvalve/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //液压安全阀
+          case "DAYT.HydraulicSafe.Detail":
+            this.$router.push({
+              path: '/lims/reporthydraulicsafe/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //电气接地
+          case "DAYT.ElecGround.Detail":
+            this.$router.push({
+              path: '/lims/reportelecground/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //防雷装置等电位
+          case "DAYT.Equipotent.Detail":
+            this.$router.push({
+              path: '/lims/reportequipotent/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //防雷装置
+          case "DAYT.LightProtect.Detail":
+            this.$router.push({
+              path: '/lims/reportlightprotect/datareview',
+              query: queryParams,
+            });
+            break;
+            //电流表
+          case "DAYT.Ammeter.Detail":
+            this.$router.push({
+              path: '/lims/reportammeter/subdata/dataopera',
+              query: queryParams,
+            });
+            break;
+            //阻火器
+          case "DAYT.BackFire.Detail":
+            this.$router.push({
+              path: '/lims/reportzuhq/subdata/datalist',
+              query: queryParams,
+            });
+            break;
+            //游梁式抽油机
+          case "DAYT.BeamPumpingUnits.Detail":
+            this.$router.push({
+              path: '/lims/reportbeampumpingUnits/subdata/dataopera',
+              query: queryParams,
+            });
+            break;
+            //无游梁式抽油机
+          case "DAYT.NoBeamPumpingUnits.Detail":
+            this.$router.push({
+              path: '/lims/reportnobeampumpingUnits/subdata/dataopera',
+              query: queryParams,
+            });
+            break;
+
+          default:
+            this.$message.warning('无模板类型相匹配,请重试');
+        }
+      },
+      // 签发
+      shenHeFunc(row) {
+        let _this = this
+        let queryParams = {
+          key: row.Id + '' + row.EId,
+          docurl: row.ReportUrl,
+          reportId: row.Id
+        }
+        _this.$router.push({
+          path: '/lims/createreport/onlyofficesframe',
+          query: queryParams
+        })
+      },
+      // searchCommand(command) {
+      //   let _this = this
+      //   if (command == 'entry') {
+      //     _this.WaitData = _this.usertotal.EntryList
+      //   } else if (command == 'check') {
+      //     _this.WaitData = _this.usertotal.CheckList
+      //   } else if (command == 'audit') {
+      //     _this.WaitData = _this.usertotal.AuditList
+      //   } else if (command == 'send') {
+      //     _this.WaitData = _this.usertotal.SignList
+      //   }
+      // },
+
+      formatDateTime(date) {
+        var y = date.getFullYear();
+        var m = date.getMonth() + 1;
+        m = m < 10 ? ('0' + m) : m;
+        var d = date.getDate();
+        d = d < 10 ? ('0' + d) : d;
+        var h = date.getHours();
+        var minute = date.getMinutes();
+        minute = minute < 10 ? ('0' + minute) : minute;
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
+      },
+
+      //获取权限
+      getPermissions() {
+        let _this = this
+        // request
+        let params = {
+          percodes: `'${this.permissionscode.entry}','${this.permissionscode.check}','${this.permissionscode.audit}','${this.permissionscode.sign}'`
+        }
+        this.$axios.get('/permissions/isauths', {
+            params
+          })
+          .then(res => {
+            if (res.data instanceof Array && res.data.length > 0) {
+              console.log(res.data)
+              res.data.forEach(element => {
+                _this.permissions[element.Code] = element.Isperm
+              });
+            }
+          })
+          .catch(err => {
+            // handle error
+            console.error(err)
+          })
+      },
+      getShowPermissions() {
+        let _this = this
+        if (_this.authUser.Profile.DepartmentId == "100000054") {
+          _this.allshow = true
+          _this.Department = 100000150
+        } else {
+          this.$axios.get('/limsentrust/getshow', {})
+            .then(res => {
+              _this.whichshow = res.data.items
+              if (res.data.items == 'tjz') {
+                _this.Department = 100000150
+              } else if (res.data.items == 'yx') {
+                _this.Department = 100000151
+              } else if (res.data.items == 'jlny') {
+                _this.Department = 100000152
+              } else if (res.data.items == 'gcjd') {
+                _this.Department = 100000153
+              } else if (res.data.items == 'zj') {
+                _this.Department = 100000166
+              } else if (res.data.items == 'wzjy') {
+                _this.Department = 100000167
+              }
+            })
+            .catch(err => {
+              // handle error
+              console.error(err)
+            })
+        }
+        _this.initData()
+        _this.initDatas()
+      },
     }
   }
+
 </script>
 
 <style lang="css">

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/login.vue

@@ -1,7 +1,7 @@
 <template>
 
   <div style="height: calc(100vh); width: 100%; background-color:#FFFFFF" >
-    <img src="../assets/img/title_gongfang.png" style="height:50px; margin-top: 20px;margin-left: 100px;"  >
+    <img src="../assets/img/title_dagang2.png" style="height:50px; margin-top: 20px;margin-left: 100px;"  >
     <div class="back-width">
       <div class="login-body">
         <section class="login">