caojunjie 2 years ago
parent
commit
82d0b80a90
2 changed files with 158 additions and 90 deletions
  1. 7 0
      src/api/index.js
  2. 151 90
      src/views/index.vue

+ 7 - 0
src/api/index.js

@@ -22,6 +22,13 @@ export function warehouse(){
     method:'get'
   })
 }
+//查询到期提醒消息
+export function expirationReminderDaysList(){
+  return request({
+    url:'/agreement/contractManagement/expirationReminderDaysList',
+    method:'get'
+  })
+}
 
 //查询待办事宜
 export function inquiry(data){

+ 151 - 90
src/views/index.vue

@@ -97,8 +97,16 @@
           </ul>
           <div style="width: 100%;margin-top: 20px;">
             <div style="float: right;margin-right: 20px">
-              <el-button type="primary" :plain="choicePlain?choicePlain == null?true:false:true" size="mini" style="float: left;margin-left: 0;border-top-right-radius: 0;border-bottom-right-radius: 0" @click="choiceClick(0)">今日</el-button>
-              <el-button type="primary" :plain="!choicePlain?choicePlain == null?true:false:true" size="mini" style="float: left;margin-left: 0;border-top-left-radius: 0;border-bottom-left-radius: 0" @click="choiceClick(1)">本月</el-button>
+              <el-button type="primary" :plain="choicePlain?choicePlain == null?true:false:true" size="mini"
+                         style="float: left;margin-left: 0;border-top-right-radius: 0;border-bottom-right-radius: 0"
+                         @click="choiceClick(0)"
+              >今日
+              </el-button>
+              <el-button type="primary" :plain="!choicePlain?choicePlain == null?true:false:true" size="mini"
+                         style="float: left;margin-left: 0;border-top-left-radius: 0;border-bottom-left-radius: 0"
+                         @click="choiceClick(1)"
+              >本月
+              </el-button>
               <span style="display: block;float: left;padding-top: 0;margin-left: 5px">
                 <el-date-picker
                   v-model="choiceValue"
@@ -111,36 +119,53 @@
                   end-placeholder="结束日期"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   :default-time="['00:00:00', '23:59:59']"
-                  :picker-options="pickerOptions">
+                  :picker-options="pickerOptions"
+                >
               </el-date-picker>
               </span>
-              <el-button type="primary" icon="el-icon-search" circle @click="choiceClick(2)" size="mini" style="margin-left: 10px;"></el-button>
+              <el-button type="primary" icon="el-icon-search" circle @click="choiceClick(2)" size="mini"
+                         style="margin-left: 10px;"
+              ></el-button>
             </div>
           </div>
-          <div style="width: 100%;background-color: #FFFFFF;display:flex;justify-content: space-between;flex-wrap: wrap">
-            <div v-for="item in statisList" style="width: 40%;height: 18vh;background-color: #f4f8ff;border-radius: 10px;margin: 20px auto;">
+          <div
+            style="width: 100%;background-color: #FFFFFF;display:flex;justify-content: space-between;flex-wrap: wrap"
+          >
+            <div v-for="item in statisList"
+                 style="width: 40%;height: 18vh;background-color: #f4f8ff;border-radius: 10px;margin: 20px auto;"
+            >
               <div style="height: 100%;display: table;float: left;width: 10vh;">
                 <div style="display: table-cell;vertical-align: middle;text-align: center">
                   <i class="el-icon-download" style="font-size: 5vh;color: #419eff" v-if="item.billType === 'RK' "></i>
-                  <i class="el-icon-upload2" style="font-size: 5vh;color: #419eff" v-else-if="item.billType === 'CK' "></i>
-                  <i class="el-icon-circle-plus" style="font-size: 5vh;color: #419eff" v-else-if="item.billType === 'SQ' "></i>
-                  <i class="el-icon-s-claim" style="font-size: 5vh;color: #419eff" v-else-if="item.billType === 'XS' "></i>
-                  <div style="text-align: center;font-weight:bold;color: #419eff;font-size: 2vh;">{{item.billTypeName}}</div>
+                  <i class="el-icon-upload2" style="font-size: 5vh;color: #419eff" v-else-if="item.billType === 'CK' "
+                  ></i>
+                  <i class="el-icon-circle-plus" style="font-size: 5vh;color: #419eff"
+                     v-else-if="item.billType === 'SQ' "
+                  ></i>
+                  <i class="el-icon-s-claim" style="font-size: 5vh;color: #419eff" v-else-if="item.billType === 'XS' "
+                  ></i>
+                  <div style="text-align: center;font-weight:bold;color: #419eff;font-size: 2vh;">
+                    {{ item.billTypeName }}
+                  </div>
                 </div>
               </div>
               <div style="height: 100%;color:#909399;display: table;margin-left: 10px;">
                 <div style="display: table-cell;vertical-align: middle;">
                   <div>数量</div>
-                  <div><span style="letter-spacing: 13px">全</span>部:<span style="font-size: 2vh;font-weight: bold">{{item.allNum}}</span></div>
-                  <div><span style="letter-spacing: 13px">入</span>账:<span style="font-size: 2vh;font-weight: bold">{{item.entryNum}}</span></div>
-                  <div>未入账:<span style="font-size: 2vh;font-weight: bold">{{item.notNum}}</span></div>
+                  <div><span style="letter-spacing: 13px">全</span>部:<span style="font-size: 2.4vh;font-weight: bold"
+                  >{{ item.allNum }}</span></div>
+                  <div><span style="letter-spacing: 13px">入</span>账:<span style="font-size: 2.4vh;font-weight: bold"
+                  >{{ item.entryNum }}</span></div>
+                  <div>未入账:<span style="font-size: 2.4vh;font-weight: bold">{{ item.notNum }}</span></div>
                 </div>
                 <div style="width: 2px;height: 60%;background-color: #419eff82;margin: 3.2vh 1vh"></div>
                 <div style="display: table-cell;vertical-align: middle;">
                   <div>金额</div>
-                  <div><span style="letter-spacing: 13px">全</span>部:<span style="font-size: 2.4vh;font-weight: bold">{{item.allMoney}}</span>元</div>
-                  <div><span style="letter-spacing: 13px">入</span>账:<span style="font-size: 2.4vh;font-weight: bold">{{item.entryMoney}}</span>元</div>
-                  <div>未入账:<span style="font-size: 2.4vh;font-weight: bold">{{item.notMoney}}</span>元</div>
+                  <div><span style="letter-spacing: 13px">全</span>部:<span style="font-size: 2.4vh;font-weight: bold">{{ item.allMoney }}</span>元
+                  </div>
+                  <div><span style="letter-spacing: 13px">入</span>账:<span style="font-size: 2.4vh;font-weight: bold">{{ item.entryMoney }}</span>元
+                  </div>
+                  <div>未入账:<span style="font-size: 2.4vh;font-weight: bold">{{ item.notMoney }}</span>元</div>
                 </div>
               </div>
             </div>
@@ -153,22 +178,47 @@
         <div style="width: 30%">
           <div style="width: 100%">
             <div style="display: flex">
-              <div id="box" style="width: 100%;" :style="{height: statisList.length > 2?'450px':'300px'}"></div>
-              <el-select
-                v-model="select"
-                slot="prepend"
-                size="mini"
-                :select="query()"
-                placeholder="点击切换仓库"
-                style="position: absolute; width: 8%; right: 1%"
+              <el-table
+                :data="daysList"
+                :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
+                :cell-style="cellStyle"
+                style="margin-left: 20px"
               >
-                <div v-for="(item, index) in warehouse" :key="index">
-                  <el-option
-                    :label="item.fName"
-                    :value="item.fWarehouseid"
-                  ></el-option>
-                </div>
-              </el-select>
+                <el-table-column
+                  prop="issuingUnitName"
+                  :show-overflow-tooltip="true"
+                  label="签发单位"
+                />
+                <el-table-column
+                  prop="creationDate"
+                  :show-overflow-tooltip="true"
+                  label="开始时间"
+                />
+                <el-table-column
+                  prop="storagePeriodTime"
+                  :show-overflow-tooltip="true"
+                  label="结束时间"
+                />
+<!--                <el-table-column prop="address" label="操作" width="80">-->
+<!--                  <template slot-scope="scope"></template>-->
+<!--                </el-table-column>-->
+              </el-table>
+<!--              <div id="box" style="width: 100%;" :style="{height: statisList.length > 2?'450px':'300px'}"></div>-->
+<!--              <el-select-->
+<!--                v-model="select"-->
+<!--                slot="prepend"-->
+<!--                size="mini"-->
+<!--                :select="query()"-->
+<!--                placeholder="点击切换仓库"-->
+<!--                style="position: absolute; width: 8%; right: 1%"-->
+<!--              >-->
+<!--                <el-option-->
+<!--                  v-for="(item, index) in warehouse"-->
+<!--                  :key="index"-->
+<!--                  :label="item.fName"-->
+<!--                  :value="item.fWarehouseid"-->
+<!--                ></el-option>-->
+<!--              </el-select>-->
             </div>
           </div>
         </div>
@@ -190,7 +240,7 @@
             >
               <div class="home_stock_table">委托方</div>
               <div class="home_stock_table">日期</div>
-<!--              <div class="home_stock_table">提单号</div>-->
+              <!--              <div class="home_stock_table">提单号</div>-->
               <div class="home_stock_table">业务类型</div>
               <div class="home_stock_table_right">
                 <div>操作</div>
@@ -214,7 +264,7 @@
                 <div class="home_stock_table" style="text-align: center">
                   {{ item.sendTime ? item.sendTime.slice(0, 10) : item.sendTime }}
                 </div>
-<!--                <div class="home_stock_table"><p>{{ item.refno1 }}</p></div>-->
+                <!--                <div class="home_stock_table"><p>{{ item.refno1 }}</p></div>-->
                 <div class="home_stock_table">
                   <span v-if="item.refno2 === 'SJRK'">入库</span>
                   <span v-else-if="item.refno2 === 'SJCK'">出库</span>
@@ -238,7 +288,9 @@
                   <span v-else-if="item.refno2 === 'XMGL'">项目管理</span>
                   <span v-else-if="item.refno2 === 'FYGL'">管理费用</span>
                 </div>
-                <div class="home_stock_table_right" @click="item.audit === '审核通过'?$message.error('该单据已审批通过不允许再次审批'):approval(item)">
+                <div class="home_stock_table_right"
+                     @click="item.audit === '审核通过'?$message.error('该单据已审批通过不允许再次审批'):approval(item)"
+                >
                   查看详情
                 </div>
               </div>
@@ -322,7 +374,8 @@ import {
   information,
   warehouse,
   inquiry,
-  statistics
+  statistics,
+  expirationReminderDaysList
 } from '../../src/api/index'
 import Cookies from 'js-cookie'
 import { getUserProfile } from '@/api/system/user'
@@ -342,36 +395,36 @@ export default {
       version: '3.2.1',
       select: '',
       text: '',
-      choiceValue:[],
-      pickerOptions:{
+      choiceValue: [],
+      pickerOptions: {
         shortcuts: [{
           text: '最近一周',
           onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', [start, end]);
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+            picker.$emit('pick', [start, end])
           }
         }, {
           text: '最近一个月',
           onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-            picker.$emit('pick', [start, end]);
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+            picker.$emit('pick', [start, end])
           }
         }, {
           text: '最近三个月',
           onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-            picker.$emit('pick', [start, end]);
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+            picker.$emit('pick', [start, end])
           }
         }]
       },
       dialogVisible: false,
-      choicePlain:true,
+      choicePlain: true,
       tableData: [],
       chart: [],
       warehouse: [],
@@ -384,8 +437,9 @@ export default {
       upperLeftCntrs: {},
       sysType: '',
       upperRights: [],
-      statisList:[],
-      fMblno:''
+      statisList: [],
+      fMblno: '',
+      daysList:[]
     }
   },
   filters: {
@@ -426,7 +480,7 @@ export default {
       }
       this.upperLeftCntrs = response.data.upperLeftCntrs
     })
-    getUserProfile().then(res=>{
+    getUserProfile().then(res => {
       this.fMblno = res.roleGroup
       this.choiceClick(3)
     })
@@ -439,48 +493,54 @@ export default {
     this.getList()
     this.warehouses()
     this.inquiry()
-    this.boxDistribution()
-    this.ranking()
+    // this.boxDistribution()
+    // this.ranking()
+    this.queryExpiration()
   },
   methods: {
+    queryExpiration(){
+      expirationReminderDaysList().then(res=>{
+        this.daysList = res.data.tContractManagementList
+      })
+    },
     //转换时间戳
     timestampToTime(timestamp) {
-      let date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
-      let Y = date.getFullYear() + '-';
-      let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1):date.getMonth()+1) + '-';
-      let D = (date.getDate()< 10 ? '0'+date.getDate():date.getDate())+ ' ';
-      let h = (date.getHours() < 10 ? '0'+date.getHours():date.getHours())+ ':';
-      let m = (date.getMinutes() < 10 ? '0'+date.getMinutes():date.getMinutes()) + ':';
-      let s = date.getSeconds() < 10 ? '0'+date.getSeconds():date.getSeconds();
-      return Y+M+D+h+m+s;
+      let date = new Date(timestamp * 1000)//时间戳为10位需*1000,时间戳为13位的话不需乘1000
+      let Y = date.getFullYear() + '-'
+      let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
+      let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
+      let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
+      let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
+      let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+      return Y + M + D + h + m + s
     },
-    choiceClick(type){
-      let now = new Date(); //当前日期
-      let nowMonth = now.getMonth(); //当前月
-      let nowYear = now.getFullYear(); //当前年
+    choiceClick(type) {
+      let now = new Date() //当前日期
+      let nowMonth = now.getMonth() //当前月
+      let nowYear = now.getFullYear() //当前年
       //本月的开始时间
-      let monthStartDate = new Date(nowYear, nowMonth, 1);
+      let monthStartDate = new Date(nowYear, nowMonth, 1)
       //本月的结束时间
-      let monthEndDate = new Date(nowYear, nowMonth+1, 0);
-      let timeStar=Date.parse(monthStartDate)/1000;//s
-      let timeEnd=Date.parse(monthEndDate)/1000;//s
+      let monthEndDate = new Date(nowYear, nowMonth + 1, 0)
+      let timeStar = Date.parse(monthStartDate) / 1000//s
+      let timeEnd = Date.parse(monthEndDate) / 1000//s
       let data = []
-      if(type === 0){
+      if (type === 0) {
         this.choicePlain = true
-        data = [now.toLocaleDateString().replace(/\//g, '-')+ ' 00:00:00',now.toLocaleDateString().replace(/\//g, '-')+' 23:59:59']
+        data = [now.toLocaleDateString().replace(/\//g, '-') + ' 00:00:00', now.toLocaleDateString().replace(/\//g, '-') + ' 23:59:59']
         this.choiceValue = data
-      }else if (type === 1 || type === 3) {
+      } else if (type === 1 || type === 3) {
         this.choicePlain = false
-        data =[this.timestampToTime(timeStar).slice(0,10)+ ' 00:00:00',this.timestampToTime(timeEnd).slice(0,10)+' 23:59:59']
+        data = [this.timestampToTime(timeStar).slice(0, 10) + ' 00:00:00', this.timestampToTime(timeEnd).slice(0, 10) + ' 23:59:59']
         this.choiceValue = data
-        if(type === 3){
+        if (type === 3) {
           this.choiceValue = data
         }
-      }else if(type === 2){
+      } else if (type === 2) {
         data = this.choiceValue
         this.choicePlain = null
       }
-      statistics({timeInterval:data,fMblno:this.fMblno}).then(res=>{
+      statistics({ timeInterval: data, fMblno: this.fMblno }).then(res => {
         this.statisList = res.data
       })
     },
@@ -548,7 +608,7 @@ export default {
     approval(row) {
       console.log(row.refno2)
       switch (row.refno2) {
-        case "XS":
+        case 'XS':
           this.$router.push({
             path: '/purchaseIssue',
             query: {
@@ -565,7 +625,7 @@ export default {
             }
           })
           break
-        case "SQ":
+        case 'SQ':
           this.$router.push({
             path: '/purchaseRequest',
             query: {
@@ -711,7 +771,7 @@ export default {
           })
           break
         }
-        case "FYGL":{
+        case 'FYGL': {
           this.$router.push({
             path: '/costManagement/index',
             query: {
@@ -723,12 +783,12 @@ export default {
                   icon: 'el-icon-edit-outline',
                   name: '审批',
                   disabled: false,
-                  pendingPage:true
+                  pendingPage: true
                 }
               )
             }
           })
-          break;
+          break
         }
         default: {
           return this.$message.error('未知错误,无状态')
@@ -745,7 +805,7 @@ export default {
             e.auditItem = e.auditItem.slice(0, 10)
           }
         })
-        this.tableData = res.data.slice(0,5)
+        this.tableData = res.data.slice(0, 5)
       })
     },
     querytoDo(res) {
@@ -771,7 +831,7 @@ export default {
             this.commodity.push(index.fName)
             this.commoditytwo.push(index.fGrossweightD)
           }
-          this.drawLine()
+          // this.drawLine()
           // this.drawLinetwo();
           // this.commoDity();
         } else {
@@ -817,8 +877,8 @@ export default {
             this.commoditytwo.push(index.fGrossweightD)
           }
 
-          this.drawLine()
-          this.drawLinetwo()
+          // this.drawLine()
+          // this.drawLinetwo()
           this.commoDity()
         }
       })
@@ -844,14 +904,14 @@ export default {
             this.commodity.push(index.fName)
             this.commoditytwo.push(index.fGrossweightD)
           }
-          this.drawLine()
+          // this.drawLine()
           // this.drawLinetwo();
           // this.commoDity();
         })
       }
     },
     jump(res) {
-      this.$router.push({ path: res,query: { open: true}})
+      this.$router.push({ path: res, query: { open: true } })
     },
     //设置单元格边框
     cellStyle({ row, column, rowIndex, columnIndex }) {
@@ -862,7 +922,7 @@ export default {
       this.loading = true
       listCorps(this.queryParams).then((response) => {
         if (response.rows.length > 0) {
-          this.tableDataTwo = response.rows.slice(0,10)
+          this.tableDataTwo = response.rows.slice(0, 10)
         }
       })
     },
@@ -1135,6 +1195,7 @@ export default {
     //margin-bottom: 15px;
     div {
       margin-top: 15px;
+
       p {
         font-size: 14px;
       }