Przeglądaj źródła

剩料配置页面ok

Shan9312 1 rok temu
rodzic
commit
4b9fc26cd2
4 zmienionych plików z 588 dodań i 488 usunięć
  1. 1 1
      .env.development
  2. 483 450
      src/api/common.js
  3. 2 0
      src/utils/request.js
  4. 102 37
      src/views/leftoverManagement/index.vue

+ 1 - 1
.env.development

@@ -6,7 +6,7 @@ ENV = 'development'
 # VUE_APP_BASE_API = 'http://192.168.1.70:8082/'
 VUE_APP_BASE_API = 'http://kpttest.kptyun.com/'
 # 白少后台本地
-# VUE_APP_BASE_API = 'http://192.168.1.56:8081/'
+# VUE_APP_BASE_API = 'http://192.168.1.56:80/'
 # VUE_APP_BASE_API = 'http://192.168.1.93/'
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
 # to control whether the babel-plugin-dynamic-import-node plugin is enabled.

+ 483 - 450
src/api/common.js

@@ -1,450 +1,483 @@
-import request from '@/utils/request'
-import parseTime from '@/utils/index.js'
-
-export function checkDates(data) {
-  return request({
-    url: '/authdata/checkDates',
-    method: 'post',
-    data
-  })
-}
-
-
-
-export function GetDataByName(data) {
-  return request({
-    url: '/authdata/GetDataByName',
-    method: 'post',
-    data
-  })
-}
-
-export function SyncSCJH(data) {
-  return request({
-    url: '/authdata/syncSCJH',
-    method: 'post',
-    data
-  })
-}
-
-
-export function processAnalysist(data) {
-  return request({
-    url: '/authdata/processAnalysist',
-    method: 'post',
-    data
-  })
-}
-
-export function ExeSqlJiade(data) {
-  return request({
-    url: '/authdata/exesql',
-    method: 'post',
-    data
-  })
-}
-export function dashboardListJiade(data) {
-  return request({
-    url: '/authdata/Dashboards',
-    method: 'post',
-    data
-  })
-}
-export function updateDashboardJiade(data) {
-  return request({
-    url: '/authdata/Updatedashboard',
-    method: 'post',
-    data
-  })
-}
-
-export function GetReportform(data) {
-  return request({
-    url: '/authdata/GetReportform',
-    method: 'post',
-    timeout: 600000,
-    data
-  })
-}
-export function requestbyname(data, requestname) {
-  return request({
-    url: '/authdata/' + requestname,
-    method: 'post',
-    data
-  })
-}
-
-export function GetDataByNameXlsx(data) {
-  return request({
-    url: '/authdata/GetDataByName',
-    method: 'post',
-    data,
-    responseType: 'blob'
-  })
-}
-
-export function GetDataByNames(data) {
-  return request({
-    url: '/authdata/GetDataByNames',
-    method: 'post',
-    data
-  })
-}
-
-export function PostDataByName(data) {
-  return request({
-    url: '/authdata/PostDataByName',
-    method: 'post',
-    data
-  })
-}
-export function GetUpkeepPlan(data) {
-  return request({
-    url: '/authdata/GetUpkeepPlan',
-    method: 'post',
-    data
-  })
-}
-export function GetAccount(data) {
-  return request({
-    url: '/authdata/GetAccount',
-    method: 'post',
-    timeout: 600000,
-    data
-  })
-}
-
-
-export function postJson(url,data) {
-  return request({
-    url: url,
-    method: 'post',
-    timeout: 600000,
-    data
-  })
-}
-
-export function postJson2(url,data) {
-  return request({
-    url: url,
-    method: 'post',
-    timeout: 600000,
-    data
-  })
-}
-
-export function getJson(url,data) {
-  return request({
-    url: url + data,
-    method: 'get'
-  })
-}
-
-export function getData(url,data) {
-  return request({
-    url: url,
-    method: 'post',
-    timeout: 600000,
-    data
-  })
-}
-
-export function PostDataByNames(data) {
-  return request({
-    url: '/authdata/PostDataByNames',
-    method: 'post',
-    data
-  })
-}
-
-export function ExecDataByConfig(data) {
-  return request({
-    url: '/authdata/ExecDataByConfig',
-    method: 'post',
-    data
-  })
-}
-
-export function getDorm(data) {
-  return request({
-    url: '/authdata/getDorm',
-    method: 'post',
-    timeout: 6000000,
-    data
-  })
-}
-
-export function removeimage(data) {
-  return request({
-    url: '/authdata/removeimage',
-    method: 'post',
-    data
-  })
-}
-
-export function getRecuData(data) {
-  return request({
-    url: '/authdata/GetRecuDataByName',
-    method: 'post',
-    data
-  })
-}
-export function Autogeneration(data) {
-  return request({
-    url: '/authdata/autogeneration',
-    method: 'post',
-    data
-  })
-}
-export function failproccess(data, notify) {
-  if (data.data.includes('Duplicate')) {
-    notify({
-      title: '失败',
-      message: '不可以录入重复数据',
-      type: 'error',
-      duration: 2000
-    })
-  } else {
-    notify({
-      title: '失败',
-      message: '数据存在错误,请校验好重新录入,不可以录入数据',
-      type: 'error',
-      duration: 2000
-    })
-  }
-}
-
-export function UpdateDataRelation(data) {
-  return request({
-    url: '/authdata/UpdateDataRelation',
-    method: 'post',
-    data
-  })
-}
-
-export function transData(a, idStr, pidStr, chindrenStr) {
-  var r = []; var hash = {}; var id = idStr; var pid = pidStr; var children = chindrenStr; var i = 0; var j = 0; var len = a.length
-  for (; i < len; i++) {
-    hash[a[i][id]] = a[i]
-  }
-  for (; j < len; j++) {
-    var aVal = a[j]; var hashVP = hash[aVal[pid]]
-    if (hashVP) {
-      !hashVP[children] && (hashVP[children] = [])
-      hashVP[children].push(aVal)
-    } else {
-      r.push(aVal)
-    }
-  }
-  return r
-}
-
-export function checkButtons(buttonsList, PermissionButtons) {
-  // console.log(PermissionButtons)
-  for (let i = 0; i < buttonsList.length; i++) {
-    // if (buttonsList[i].path === PermissionButtons && buttonsList[i].menu_id && buttonsList[i].path) { // path不为空且menu_id不为空时返回true
-    if (buttonsList[i].path === PermissionButtons && buttonsList[i].editbutton === 1) { // path不为空且menu_id不为空时返回true
-      return true
-    }
-  }
-  return false
-}
-
-export function formatJson(filterVal, jsonData) {
-  return jsonData.map(v =>
-    filterVal.map(j => {
-      if (j === 'timestamp') {
-        return parseTime(v[j])
-      } else {
-        return v[j]
-      }
-    })
-  )
-}
-
-export function DownloadExcel(data, filename) {
-  const content = data
-  const blob = new Blob([content])
-  const fileName = filename + '.xlsx'
-  if ('download' in document.createElement('a')) { // 非IE下载
-    const elink = document.createElement('a')
-    elink.download = fileName
-    elink.style.display = 'none'
-    elink.href = URL.createObjectURL(blob)
-    document.body.appendChild(elink)
-    elink.click()
-    URL.revokeObjectURL(elink.href) // 释放URL 对象
-    document.body.removeChild(elink)
-  } else { // IE10+下载
-    navigator.msSaveBlob(blob, fileName)
-  }
-}
-// 取小数
-// export function formatNum(f, digit) {
-//   var m = Math.pow(10, digit);
-//   return parseInt(f * m, 10) / m;
-// }
-export function formatNum(value, n) {
-  console.log(value, n,'====')
-  var f = Math.round(value*Math.pow(10,n))/Math.pow(10,n);
-  var s = f.toString();
-  var rs = s.indexOf('.');
-  if(rs < 0) {
-    if(n==0){
-      s = s
-    }else{
-      s += '.';
-    }
-  }
-  for(var i = s.length - s.indexOf('.'); i <= n; i++){
-    s += "0";
-  }
-  return s;
-}
-
-export function compareSort(property){
-  return function(a,b){
-    var value1 = a[property];
-    var value2 = b[property];
-    return value1 - value2;
-  }
-}
-
-
-//将日期转换成一年中的第几周
-export function getYearWeek(date) {
-  //按照国际标准
-  let time,
-    week,
-    checkDate = new Date(date);
-  checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
-  time = checkDate.getTime();
-  checkDate.setMonth(0);
-  checkDate.setDate(1);
-  week = Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
-  return week;
-}
-
-//返回格式 2019年第23周,特别注意跨年一周的问题
-export function getYearAndWeek(date, anotherDate) {
-  let week = getYearWeek(date);
-  let year = date.substring(0, 4);
-  let anotherYear = anotherDate.substring(0, 4);
-  //处理跨年特殊日期
-  if (anotherDate > date) {
-    let betweenDay = getBetweenDay(new Date(date), new Date(anotherDate));
-    if (betweenDay == 7 && anotherYear != year) {
-      if (week == 1) {
-        year = parseInt(year) + 1;
-      }
-    }
-  } else {
-    let betweenDay = getBetweenDay(new Date(anotherDate), new Date(date));
-    if (betweenDay == 7 && anotherYear != year) {
-      if (week != 1) {
-        year = parseInt(year) - 1;
-      }
-    }
-  }
-  return `${year}年第${week}周`;
-}
-export function getBetweenDay(beginDate, endDate) {
-  let dateSpan = endDate - beginDate;
-  dateSpan = Math.abs(dateSpan);
-  let days = Math.floor(dateSpan / (24 * 3600 * 1000));
-  return days + 1;
-}
-//获取当前count个周的起止日期,如:count=0 ,就是当前周,-1就是上周,以此类推
-export function getWeekStartAndEnd(count, currentDate) {
-  //起止日期数组
-  let resultArr = new Array();
-  let millisecond = 1000 * 60 * 60 * 24;
-  currentDate = new Date(currentDate.getTime() + millisecond * 7 * count);
-  let week = currentDate.getDay();
-
-  //减去的天数
-  let minusDay = week != 0 ? week - 1 : 6;
-  //获得当前周的第一天
-  let currentWeekFirstDay = new Date(
-    currentDate.getTime() - millisecond * minusDay
-  );
-  //获得当前周的最后一天
-  let currentWeekLastDay = new Date(
-    currentWeekFirstDay.getTime() + millisecond * 6
-  );
-
-  resultArr.push(currentWeekFirstDay.format());
-  resultArr.push(currentWeekLastDay.format());
-  return resultArr;
-}
-Date.prototype.format = function() {
-  let s = "";
-  let mouth =
-    this.getMonth() + 1 >= 10
-      ? this.getMonth() + 1
-      : "0" + (this.getMonth() + 1);
-  let day = this.getDate() >= 10 ? this.getDate() : "0" + this.getDate();
-  s += this.getFullYear() + "-"; // 获取年份。
-  s += mouth + "-"; // 获取月份。
-  s += day; // 获取日。
-  return s; // 返回日期。
-};
-
-/**
- * @param date 传入的日期
- * @param num 加减的天数,加为正,减为负
- * @returns 格式化后的日期
- */
-export function addDays(date, num) {
-  date.setDate(date.getDate() + num);
-  return date.format();
-}
-
-export function yearDay(long) {
-  var time = new Date(long * 1000)
-  var year = time.getFullYear()
-  var month = (time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1)
-  var date = time.getDate() < 10 ? '0' + time.getDate() : time.getDate()
-  var yearday = { year, month, date }
-  return yearday
-}
-
-// 计算一年中的每一周都是从几号到几号
-// 第一周为1月1日到 本年的 第一个周日
-// 第二周为 本年的 第一个周一 往后推到周日
-// 以此类推 再往后推52周。。。
-// 如果最后一周在12月31日之前,则本年有垮了54周,反之53周
-// 12月31 日不论是周几,都算为本周的最后一天
-// 参数年份 ,函数返回一个数组,数组里的对象包含 这一周的开始日期和结束日期
-export function whichWeek(year) {
-      var d = new Date(year, 0, 1)
-      while (d.getDay() != 1) {
-        d.setDate(d.getDate() + 1)
-      }
-      const arr = []
-      const longnum = d.setDate(d.getDate())
-      if (longnum > +new Date(year, 0, 1)) {
-        const obj = yearDay(+new Date(year, 0, 1) / 1000)
-        obj.last = yearDay(longnum / 1000 - 86400)
-        arr.push(obj)
-      }
-      const oneitem = yearDay(longnum / 1000)
-      oneitem.last = yearDay(longnum / 1000 + 86400 * 6)
-      arr.push(oneitem)
-      var lastStr
-      for (var i = 0; i < 51; i++) {
-        const long = d.setDate(d.getDate() + 7)
-        const obj = yearDay(long / 1000)
-        obj.last = yearDay(long / 1000 + 86400 * 6)
-        lastStr = long + 86400000 * 6
-        arr.push(obj)
-      }
-      if (lastStr < +new Date(year + 1, 0, 1)) {
-        const obj = yearDay(lastStr / 1000 + 86400)
-        obj.last = yearDay(+new Date(year + 1, 0, 1) / 1000 - 86400)
-        arr.push(obj)
-      } else {
-        arr[arr.length - 1].last = yearDay(+new Date(year + 1, 0, 1) / 1000 - 86400)
-      }
-      return arr
-    }
+import request from '@/utils/request'
+import parseTime from '@/utils/index.js'
+
+export function checkDates(data) {
+  return request({
+    url: '/authdata/checkDates',
+    method: 'post',
+    data
+  })
+}
+
+
+
+export function GetDataByName(data) {
+  return request({
+    url: '/authdata/GetDataByName',
+    method: 'post',
+    data
+  })
+}
+
+export function SyncSCJH(data) {
+  return request({
+    url: '/authdata/syncSCJH',
+    method: 'post',
+    data
+  })
+}
+
+
+export function processAnalysist(data) {
+  return request({
+    url: '/authdata/processAnalysist',
+    method: 'post',
+    data
+  })
+}
+
+export function ExeSqlJiade(data) {
+  return request({
+    url: '/authdata/exesql',
+    method: 'post',
+    data
+  })
+}
+export function dashboardListJiade(data) {
+  return request({
+    url: '/authdata/Dashboards',
+    method: 'post',
+    data
+  })
+}
+export function updateDashboardJiade(data) {
+  return request({
+    url: '/authdata/Updatedashboard',
+    method: 'post',
+    data
+  })
+}
+
+export function GetReportform(data) {
+  return request({
+    url: '/authdata/GetReportform',
+    method: 'post',
+    timeout: 600000,
+    data
+  })
+}
+export function requestbyname(data, requestname) {
+  return request({
+    url: '/authdata/' + requestname,
+    method: 'post',
+    data
+  })
+}
+
+export function GetDataByNameXlsx(data) {
+  return request({
+    url: '/authdata/GetDataByName',
+    method: 'post',
+    data,
+    responseType: 'blob'
+  })
+}
+
+export function GetDataByNames(data) {
+  return request({
+    url: '/authdata/GetDataByNames',
+    method: 'post',
+    data
+  })
+}
+
+export function PostDataByName(data) {
+  return request({
+    url: '/authdata/PostDataByName',
+    method: 'post',
+    data
+  })
+}
+export function GetUpkeepPlan(data) {
+  return request({
+    url: '/authdata/GetUpkeepPlan',
+    method: 'post',
+    data
+  })
+}
+export function GetAccount(data) {
+  return request({
+    url: '/authdata/GetAccount',
+    method: 'post',
+    timeout: 600000,
+    data
+  })
+}
+
+
+export function postJson(url,data) {
+  return request({
+    url: url,
+    method: 'post',
+    timeout: 600000,
+    data
+  })
+}
+
+export function postJson2(url,data) {
+  return request({
+    url: url,
+    method: 'post',
+    timeout: 600000,
+    data
+  })
+}
+
+export function getJson(url,data) {
+  return request({
+    url: url + data,
+    method: 'get'
+  })
+}
+
+export function getData(url,data) {
+  return request({
+    url: url,
+    method: 'post',
+    timeout: 600000,
+    data
+  })
+}
+
+export function PostDataByNames(data) {
+  return request({
+    url: '/authdata/PostDataByNames',
+    method: 'post',
+    data
+  })
+}
+
+export function ExecDataByConfig(data) {
+  return request({
+    url: '/authdata/ExecDataByConfig',
+    method: 'post',
+    data
+  })
+}
+
+export function getDorm(data) {
+  return request({
+    url: '/authdata/getDorm',
+    method: 'post',
+    timeout: 6000000,
+    data
+  })
+}
+
+export function removeimage(data) {
+  return request({
+    url: '/authdata/removeimage',
+    method: 'post',
+    data
+  })
+}
+
+export function getRecuData(data) {
+  return request({
+    url: '/authdata/GetRecuDataByName',
+    method: 'post',
+    data
+  })
+}
+export function Autogeneration(data) {
+  return request({
+    url: '/authdata/autogeneration',
+    method: 'post',
+    data
+  })
+}
+export function failproccess(data, notify) {
+  if (data.data.includes('Duplicate')) {
+    notify({
+      title: '失败',
+      message: '不可以录入重复数据',
+      type: 'error',
+      duration: 2000
+    })
+  } else {
+    notify({
+      title: '失败',
+      message: '数据存在错误,请校验好重新录入,不可以录入数据',
+      type: 'error',
+      duration: 2000
+    })
+  }
+}
+
+export function UpdateDataRelation(data) {
+  return request({
+    url: '/authdata/UpdateDataRelation',
+    method: 'post',
+    data
+  })
+}
+
+export function transData(a, idStr, pidStr, chindrenStr) {
+  var r = []; var hash = {}; var id = idStr; var pid = pidStr; var children = chindrenStr; var i = 0; var j = 0; var len = a.length
+  for (; i < len; i++) {
+    hash[a[i][id]] = a[i]
+  }
+  for (; j < len; j++) {
+    var aVal = a[j]; var hashVP = hash[aVal[pid]]
+    if (hashVP) {
+      !hashVP[children] && (hashVP[children] = [])
+      hashVP[children].push(aVal)
+    } else {
+      r.push(aVal)
+    }
+  }
+  return r
+}
+
+export function checkButtons(buttonsList, PermissionButtons) {
+  // console.log(PermissionButtons)
+  for (let i = 0; i < buttonsList.length; i++) {
+    // if (buttonsList[i].path === PermissionButtons && buttonsList[i].menu_id && buttonsList[i].path) { // path不为空且menu_id不为空时返回true
+    if (buttonsList[i].path === PermissionButtons && buttonsList[i].editbutton === 1) { // path不为空且menu_id不为空时返回true
+      return true
+    }
+  }
+  return false
+}
+
+export function formatJson(filterVal, jsonData) {
+  return jsonData.map(v =>
+    filterVal.map(j => {
+      if (j === 'timestamp') {
+        return parseTime(v[j])
+      } else {
+        return v[j]
+      }
+    })
+  )
+}
+
+export function DownloadExcel(data, filename) {
+  const content = data
+  const blob = new Blob([content])
+  const fileName = filename + '.xlsx'
+  if ('download' in document.createElement('a')) { // 非IE下载
+    const elink = document.createElement('a')
+    elink.download = fileName
+    elink.style.display = 'none'
+    elink.href = URL.createObjectURL(blob)
+    document.body.appendChild(elink)
+    elink.click()
+    URL.revokeObjectURL(elink.href) // 释放URL 对象
+    document.body.removeChild(elink)
+  } else { // IE10+下载
+    navigator.msSaveBlob(blob, fileName)
+  }
+}
+// 取小数
+// export function formatNum(f, digit) {
+//   var m = Math.pow(10, digit);
+//   return parseInt(f * m, 10) / m;
+// }
+export function formatNum(value, n) {
+  console.log(value, n,'====')
+  var f = Math.round(value*Math.pow(10,n))/Math.pow(10,n);
+  var s = f.toString();
+  var rs = s.indexOf('.');
+  if(rs < 0) {
+    if(n==0){
+      s = s
+    }else{
+      s += '.';
+    }
+  }
+  for(var i = s.length - s.indexOf('.'); i <= n; i++){
+    s += "0";
+  }
+  return s;
+}
+
+export function compareSort(property){
+  return function(a,b){
+    var value1 = a[property];
+    var value2 = b[property];
+    return value1 - value2;
+  }
+}
+
+
+//将日期转换成一年中的第几周
+export function getYearWeek(date) {
+  //按照国际标准
+  let time,
+    week,
+    checkDate = new Date(date);
+  checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
+  time = checkDate.getTime();
+  checkDate.setMonth(0);
+  checkDate.setDate(1);
+  week = Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
+  return week;
+}
+
+//返回格式 2019年第23周,特别注意跨年一周的问题
+export function getYearAndWeek(date, anotherDate) {
+  let week = getYearWeek(date);
+  let year = date.substring(0, 4);
+  let anotherYear = anotherDate.substring(0, 4);
+  //处理跨年特殊日期
+  if (anotherDate > date) {
+    let betweenDay = getBetweenDay(new Date(date), new Date(anotherDate));
+    if (betweenDay == 7 && anotherYear != year) {
+      if (week == 1) {
+        year = parseInt(year) + 1;
+      }
+    }
+  } else {
+    let betweenDay = getBetweenDay(new Date(anotherDate), new Date(date));
+    if (betweenDay == 7 && anotherYear != year) {
+      if (week != 1) {
+        year = parseInt(year) - 1;
+      }
+    }
+  }
+  return `${year}年第${week}周`;
+}
+export function getBetweenDay(beginDate, endDate) {
+  let dateSpan = endDate - beginDate;
+  dateSpan = Math.abs(dateSpan);
+  let days = Math.floor(dateSpan / (24 * 3600 * 1000));
+  return days + 1;
+}
+//获取当前count个周的起止日期,如:count=0 ,就是当前周,-1就是上周,以此类推
+export function getWeekStartAndEnd(count, currentDate) {
+  //起止日期数组
+  let resultArr = new Array();
+  let millisecond = 1000 * 60 * 60 * 24;
+  currentDate = new Date(currentDate.getTime() + millisecond * 7 * count);
+  let week = currentDate.getDay();
+
+  //减去的天数
+  let minusDay = week != 0 ? week - 1 : 6;
+  //获得当前周的第一天
+  let currentWeekFirstDay = new Date(
+    currentDate.getTime() - millisecond * minusDay
+  );
+  //获得当前周的最后一天
+  let currentWeekLastDay = new Date(
+    currentWeekFirstDay.getTime() + millisecond * 6
+  );
+
+  resultArr.push(currentWeekFirstDay.format());
+  resultArr.push(currentWeekLastDay.format());
+  return resultArr;
+}
+Date.prototype.format = function() {
+  let s = "";
+  let mouth =
+    this.getMonth() + 1 >= 10
+      ? this.getMonth() + 1
+      : "0" + (this.getMonth() + 1);
+  let day = this.getDate() >= 10 ? this.getDate() : "0" + this.getDate();
+  s += this.getFullYear() + "-"; // 获取年份。
+  s += mouth + "-"; // 获取月份。
+  s += day; // 获取日。
+  return s; // 返回日期。
+};
+
+/**
+ * @param date 传入的日期
+ * @param num 加减的天数,加为正,减为负
+ * @returns 格式化后的日期
+ */
+export function addDays(date, num) {
+  date.setDate(date.getDate() + num);
+  return date.format();
+}
+
+export function yearDay(long) {
+  var time = new Date(long * 1000)
+  var year = time.getFullYear()
+  var month = (time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1)
+  var date = time.getDate() < 10 ? '0' + time.getDate() : time.getDate()
+  var yearday = { year, month, date }
+  return yearday
+}
+
+// 计算一年中的每一周都是从几号到几号
+// 第一周为1月1日到 本年的 第一个周日
+// 第二周为 本年的 第一个周一 往后推到周日
+// 以此类推 再往后推52周。。。
+// 如果最后一周在12月31日之前,则本年有垮了54周,反之53周
+// 12月31 日不论是周几,都算为本周的最后一天
+// 参数年份 ,函数返回一个数组,数组里的对象包含 这一周的开始日期和结束日期
+export function whichWeek(year) {
+      var d = new Date(year, 0, 1)
+      while (d.getDay() != 1) {
+        d.setDate(d.getDate() + 1)
+      }
+      const arr = []
+      const longnum = d.setDate(d.getDate())
+      if (longnum > +new Date(year, 0, 1)) {
+        const obj = yearDay(+new Date(year, 0, 1) / 1000)
+        obj.last = yearDay(longnum / 1000 - 86400)
+        arr.push(obj)
+      }
+      const oneitem = yearDay(longnum / 1000)
+      oneitem.last = yearDay(longnum / 1000 + 86400 * 6)
+      arr.push(oneitem)
+      var lastStr
+      for (var i = 0; i < 51; i++) {
+        const long = d.setDate(d.getDate() + 7)
+        const obj = yearDay(long / 1000)
+        obj.last = yearDay(long / 1000 + 86400 * 6)
+        lastStr = long + 86400000 * 6
+        arr.push(obj)
+      }
+      if (lastStr < +new Date(year + 1, 0, 1)) {
+        const obj = yearDay(lastStr / 1000 + 86400)
+        obj.last = yearDay(+new Date(year + 1, 0, 1) / 1000 - 86400)
+        arr.push(obj)
+      } else {
+        arr[arr.length - 1].last = yearDay(+new Date(year + 1, 0, 1) / 1000 - 86400)
+      }
+      return arr
+    }
+
+
+
+   // 剩料新增
+    export function addSurplus(data) {
+      return request({
+        headers: {
+          'Content-type': 'application/json; charset=utf-8'
+        },
+        url: '/authdata/surplus/add',
+        method: 'post',
+        data
+      })
+    }
+
+    //剩料查询 authdata/surplus/list
+
+    export function getSurplus(id){
+      return request({
+        url: '/authdata/surplus/list?pastureId=' + id,
+        method: 'get'
+      })
+    }
+
+    // 删除剩料
+
+    export function delSurplus(data){
+      return request({
+        url: '/authdata/surplus/del',
+        method: 'post',
+        data
+      })
+    }

+ 2 - 0
src/utils/request.js

@@ -32,10 +32,12 @@ service.interceptors.request.use(
   config => {
     // do something before request is sent
     // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'  //此处是增加的代码,设置请求头的类型
+    // debugger
     if (process.env.VUE_APP_BASE_API !== '/dev-api') {
       config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
       config.withCredentials = false
     }
+    console.log(config,'config')
 
     if (store.getters.token) {
       // let each request carry token

+ 102 - 37
src/views/leftoverManagement/index.vue

@@ -2,7 +2,7 @@
   <div class="container">
     <div class="header-box">
       <p> 剩料计划</p>
-      <el-button type="primary" plain class="add-btn" @click="dialogVisible = true">新 增</el-button>
+      <el-button type="primary" plain class="add-btn" @click="addBtn">新 增</el-button>
     </div>
 
     <div class="table">
@@ -23,7 +23,7 @@
         </el-table-column>
         <el-table-column
           label="替代方案"
-          prop="name"
+          prop="surplus"
           width="180">
         </el-table-column>
         <el-table-column label="操作">
@@ -41,8 +41,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <!--  -->
-      <el-pagination
+      <!-- <el-pagination
       class="page"
       @size-change="handleSizeChange"
       @current-change="handleCurrentChange"
@@ -50,28 +49,27 @@
       :page-size="100"
       layout="total, prev, pager, next"
       :total="1000">
-    </el-pagination>
+    </el-pagination> -->
      </div>
 
      <!-- 新增删除提示 -->
      <el-dialog
-        title="剩料新增"
+        :title="title"
         :visible.sync="dialogVisible"
         width="30%"
        >
         <div>
           <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-            <el-form-item label="替代方案" prop="name">
-              <el-select v-model="ruleForm.name" placeholder="请选择替代方案">
-                <el-option label="日料" value="1"></el-option>
-                <el-option label="豆bo" value="2"></el-option>
+            <el-form-item label="替代方案" prop="surplus">
+              <el-select v-model="ruleForm.surplus" placeholder="请选择替代方案" @change="getLeftObj">
+                <el-option v-for="item in leftList" :key="item.id" :label="item.fname" :value="item"></el-option>
               </el-select>
             </el-form-item>
           </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
           <el-button class="add-btn" @click="dialogVisible = false">取 消</el-button>
-          <el-button class="add-btn" type="primary" @click="dialogVisible = false">确 定</el-button>
+          <el-button class="add-btn" type="primary" @click="addLeftData()">确 定</el-button>
         </span>
       </el-dialog>
 
@@ -81,7 +79,9 @@
 <script>
   import {
     GetDataByName,
-    GetDataByNames
+    getSurplus,
+    addSurplus,
+    delSurplus
   } from '@/api/common'
   import Cookies from 'js-cookie'
   import {
@@ -91,51 +91,116 @@
     name: 'LeftoverManagement',
     data() {
       return {
-        tableData: [{
-          id:1,
-          num: '1',
-          name: '日粮',
-        }, {
-          id:2,
-          num: '2',
-          name: '豆泊',
-        }, {
-          id:3,
-          num: '3',
-          name: '日粮',
-        }],
+         pastureId:parseInt(Cookies.get('pastureid')),
+         title:"",
+         leftgetParams:{ // 获取下拉剩料列表
+          name: "getFeedData",          "page": 1,
+          offset: 1,
+          pagecount: "",
+          returntype: "Map",
+          parammaps: {
+          pastureid:  Cookies.get('pastureid'), // "1654779860",
+          fname: ""
+          }
+        },
+        leftList:[],
+        tableData: [],
         currentPage1: 1,
         dialogVisible:false,
-        //
         ruleForm: {
-          name: '',
+          id: 0,
+          pastureId: Cookies.get('pastureid'),
+          surplus: "",
+          feedId: ""
         },
         rules:{
-          name: [
+          surplus: [
             { required: true, message: '请选择替代方案', trigger: 'change' }
           ]
         }
       }
     },
-    created() {},
+    created() {
+      this.getLeftoverData();
+      this.getLeftTable();
+    },
     methods: {
+      // 获取剩料列表
+     async getLeftTable(){
+        const {data} = await getSurplus(Cookies.get('pastureid'));
+        console.log(data,'table')
+        this.tableData = data;
+      },
+      // 点击新增按钮
+      addBtn(){
+        this.title ="剩料新增"
+        this.dialogVisible = true;
+        this.ruleForm={
+          id: 0,
+          pastureId: parseInt(Cookies.get('pastureid')),
+          surplus: "",
+          feedId: ""
+        };
+      },
+      // 获取下拉的数据
+      getLeftObj(obj){
+        this.ruleForm.feedId = obj.id;
+        this.ruleForm.surplus = obj.fname;
+        console.log(obj,this.ruleForm,'0000');
+      },
+      // 获取剩料下拉数据
+      async getLeftoverData(){
+        const { data }= await GetDataByName(this.leftgetParams);
+        this.leftList = data.list;
+      },
+
+      // 剩料新增
+      async addLeftData(){
+        const { data }  = await addSurplus(this.ruleForm);
+        if(data == true){
+          this.$message({
+                type: 'success',
+                message: this.title =="剩料新增"?'新增成功':"编辑成功"
+            });
+          this.dialogVisible = false;
+          this.getLeftTable();
+        } else{
+          this.$message({
+                type: 'error',
+                message: data
+            });
+        }
+
+      },
+
+      // 点击编辑
       handleEdit(index, row) {
-        console.log(index, row);
-        // 获取当前数据,点击编辑
+        this.title = "剩料编辑";
         this.ruleForm = row;
         this.dialogVisible = true;
       },
+      // 点击删除
       handleDelete(index, row) {
-        console.log(index, row);
-        this.$confirm('确定删除当前剩料配置吗?', '提示', {
+        this.$confirm('确定删除当前剩料信息吗?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
+              delSurplus({id:row.id}).then(res=>{
+                const {data} = res;
+                if(data == true){
+                  this.getLeftTable();
+                  this.$message({
+                    type: 'success',
+                    message: '删除成功!'
+                  });
+                } else {
+                  this.$message({
+                    type: 'error',
+                    message: data
+                  });
+                }
+            })
         }).catch(() => {
           this.$message({
             type: 'info',