lb #43
@@ -144,11 +144,6 @@ export default {
 | 
			
		||||
      // this.listQuery.lineId = '1672847052717821953'
 | 
			
		||||
      // this.listQuery.startTime = '1693497600000';
 | 
			
		||||
      // this.listQuery.endTime = '1693843200000';
 | 
			
		||||
      this.tableData.splice(0)
 | 
			
		||||
      this.xData.splice(0)
 | 
			
		||||
      this.yData.splice(0)
 | 
			
		||||
      this.tableProps.splice(0)
 | 
			
		||||
      this.spanArr.splice(0)
 | 
			
		||||
      this.urlOptions.getDataListURL(this.listQuery).then(res => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        let arr = [
 | 
			
		||||
@@ -228,11 +223,17 @@ export default {
 | 
			
		||||
          this.listQuery.lineId = val.lineIds
 | 
			
		||||
          this.listQuery.startTime = val.time ? String(new Date(val.time[0]).getTime()) : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.time ? String(new Date(val.time[1]).getTime()) : undefined;
 | 
			
		||||
          if (val.time) {
 | 
			
		||||
          if (val.time && val.lineIds) {
 | 
			
		||||
            this.tableData = []
 | 
			
		||||
            this.xData = []
 | 
			
		||||
            this.yData = []
 | 
			
		||||
            this.tableProps = []
 | 
			
		||||
            this.spanArr = []
 | 
			
		||||
            this.timeList = []
 | 
			
		||||
            this.getData()
 | 
			
		||||
          } else {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: '请选择时间',
 | 
			
		||||
              message: '请选择产线和时间',
 | 
			
		||||
              type: 'warning'
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,7 @@ export default {
 | 
			
		||||
				{
 | 
			
		||||
					type: 'datePicker',
 | 
			
		||||
					label: '时间',
 | 
			
		||||
					dateType: 'datetime',
 | 
			
		||||
					dateType: 'month',
 | 
			
		||||
					format: 'yyyy-MM-dd',
 | 
			
		||||
					valueFormat: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
					rangeSeparator: '-',
 | 
			
		||||
@@ -220,7 +220,6 @@ export default {
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      // console.log(val)
 | 
			
		||||
			switch (val.btnName) {
 | 
			
		||||
        case 'search':
 | 
			
		||||
          this.listQuery.lineIds = val.lineIds ? val.lineIds :undefined
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-08-03 14:09:18
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-10-10 16:54:09
 | 
			
		||||
 * @LastEditTime: 2023-10-11 11:20:51
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -61,6 +61,7 @@ export default {
 | 
			
		||||
			switchLineBindProduct(data).then((response) => {
 | 
			
		||||
				this.$modal.msgSuccess('修改成功');
 | 
			
		||||
				this.visible = false;
 | 
			
		||||
				this.list.productName = this.list.string.split('+')[1]
 | 
			
		||||
				this.$emit('emitData');
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Do not edit
 | 
			
		||||
 * @Date: 2023-08-29 14:59:29
 | 
			
		||||
 * @LastEditTime: 2023-10-09 09:08:08
 | 
			
		||||
 * @LastEditTime: 2023-10-12 16:54:15
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -117,6 +117,7 @@ export default {
 | 
			
		||||
        pageNo: 1,
 | 
			
		||||
        total: 1,
 | 
			
		||||
      },
 | 
			
		||||
			fileName: '',
 | 
			
		||||
      exportLoading: false,
 | 
			
		||||
      dataListLoading: false,
 | 
			
		||||
			dialogVisible: false,
 | 
			
		||||
@@ -207,6 +208,7 @@ export default {
 | 
			
		||||
		test() {
 | 
			
		||||
			var target = document.getElementsByClassName("right-aside")[0]
 | 
			
		||||
			target.style.background = '#FFFFFF'
 | 
			
		||||
			var that = this
 | 
			
		||||
			setTimeout(() => {
 | 
			
		||||
				html2canvas(target).then(function(canvas) {
 | 
			
		||||
						var contentWidth = canvas.width
 | 
			
		||||
@@ -242,7 +244,7 @@ export default {
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						pdf.save('产线统计自动报表.pdf')
 | 
			
		||||
						pdf.save(that.fileName + '产线产量.pdf')
 | 
			
		||||
				})
 | 
			
		||||
			}, 300)
 | 
			
		||||
		},
 | 
			
		||||
@@ -285,7 +287,7 @@ export default {
 | 
			
		||||
      try {
 | 
			
		||||
        FileSaver.saveAs(new Blob([exportTableOut], {
 | 
			
		||||
          type: 'application/octet-stream'
 | 
			
		||||
        }), '产线统计自动报表.xlsx')
 | 
			
		||||
        }), this.fileName + '产线产量.xlsx')
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        if (typeof console !== 'undefined') console.log(e, exportTableOut)
 | 
			
		||||
      }
 | 
			
		||||
@@ -310,6 +312,9 @@ export default {
 | 
			
		||||
					this.listQuery.reportType = val.reportType ? val.reportType : undefined;
 | 
			
		||||
					this.listQuery.reportStartTime = val.timeVal ? [new Date(val.timeVal[0]).getTime()] : undefined;
 | 
			
		||||
					this.listQuery.reportEndTime = val.timeVal ? [new Date(val.timeVal[1]).getTime()] : undefined;
 | 
			
		||||
					if (val.timeVal && val.timeVal.length > 0) {
 | 
			
		||||
						this.fileName = val.timeVal[0].slice(0, 10) + '-' + val.timeVal[1].slice(0, 10) + '_'
 | 
			
		||||
          }
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'export':
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Do not edit
 | 
			
		||||
 * @Date: 2023-08-29 14:59:29
 | 
			
		||||
 * @LastEditTime: 2023-10-09 15:14:42
 | 
			
		||||
 * @LastEditTime: 2023-10-12 16:51:54
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -110,7 +110,7 @@ export default {
 | 
			
		||||
			showData: [],
 | 
			
		||||
			tableData: [],
 | 
			
		||||
			selectedList: [],
 | 
			
		||||
			fileName: [],
 | 
			
		||||
			fileName: '',
 | 
			
		||||
			formConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'select',
 | 
			
		||||
@@ -156,7 +156,7 @@ export default {
 | 
			
		||||
		}
 | 
			
		||||
		// const time = new Date()
 | 
			
		||||
		// this.formConfig[1].defaultSelect = [time, time]
 | 
			
		||||
		// this.getDataList()
 | 
			
		||||
		this.getDataList()
 | 
			
		||||
		this.getPdLineList()
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
@@ -199,7 +199,7 @@ export default {
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						pdf.save(that.fileName[0] + '-' + that.fileName[1] + '_产线产量.pdf')
 | 
			
		||||
						pdf.save(that.fileName + '产线产量.pdf')
 | 
			
		||||
				})
 | 
			
		||||
			}, 300)
 | 
			
		||||
		},
 | 
			
		||||
@@ -222,7 +222,7 @@ export default {
 | 
			
		||||
      try {
 | 
			
		||||
        FileSaver.saveAs(new Blob([exportTableOut], {
 | 
			
		||||
          type: 'application/octet-stream'
 | 
			
		||||
        }), this.fileName[0] + '-' + this.fileName[1] + '_产线产量.xlsx')
 | 
			
		||||
        }), this.fileName + '产线产量.xlsx')
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        if (typeof console !== 'undefined') console.log(e, exportTableOut)
 | 
			
		||||
      }
 | 
			
		||||
@@ -265,17 +265,10 @@ export default {
 | 
			
		||||
					this.listQuery.proLineId = val.line ? val.line : undefined;
 | 
			
		||||
					this.listQuery.startTime = val.timeVal ? new Date(val.timeVal[0]).getTime() : undefined;
 | 
			
		||||
					this.listQuery.endTime = val.timeVal ? new Date(val.timeVal[1]).getTime() : undefined;
 | 
			
		||||
					console.log('nihc 你好', val.timeVal)
 | 
			
		||||
					if (val.timeVal && val.timeVal.length > 0) {
 | 
			
		||||
						this.fileName[0] = val.timeVal[0].slice(0, 10)
 | 
			
		||||
						this.fileName[1] = val.timeVal[1].slice(0, 10)
 | 
			
		||||
            this.getDataList();
 | 
			
		||||
          } else {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: '请选择时间',
 | 
			
		||||
              type: 'warning'
 | 
			
		||||
            });
 | 
			
		||||
						this.fileName = val.timeVal[0].slice(0, 10) + '-' + val.timeVal[1].slice(0, 10) + '_'
 | 
			
		||||
          }
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'export':
 | 
			
		||||
					this.handleExport();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Do not edit
 | 
			
		||||
 * @Date: 2023-08-29 14:59:29
 | 
			
		||||
 * @LastEditTime: 2023-10-08 10:51:49
 | 
			
		||||
 * @LastEditTime: 2023-10-12 16:35:49
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -129,6 +129,7 @@ export default {
 | 
			
		||||
			tableBtn: [],
 | 
			
		||||
			tableData: [],
 | 
			
		||||
			showData: [],
 | 
			
		||||
			fileName: '',
 | 
			
		||||
			formConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'select',
 | 
			
		||||
@@ -200,6 +201,7 @@ export default {
 | 
			
		||||
		test() {
 | 
			
		||||
			var target = document.getElementsByClassName("right-aside")[0]
 | 
			
		||||
			target.style.background = '#FFFFFF'
 | 
			
		||||
			var that = this
 | 
			
		||||
			setTimeout(() => {
 | 
			
		||||
				html2canvas(target).then(function(canvas) {
 | 
			
		||||
						var contentWidth = canvas.width
 | 
			
		||||
@@ -235,7 +237,7 @@ export default {
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						pdf.save('工段统计自动报表.pdf')
 | 
			
		||||
						pdf.save(that.fileName + '工段统计.pdf')
 | 
			
		||||
				})
 | 
			
		||||
			}, 300)
 | 
			
		||||
		},
 | 
			
		||||
@@ -258,7 +260,7 @@ export default {
 | 
			
		||||
      try {
 | 
			
		||||
        FileSaver.saveAs(new Blob([exportTableOut], {
 | 
			
		||||
          type: 'application/octet-stream'
 | 
			
		||||
        }), '工段统计自动报表.xlsx')
 | 
			
		||||
        }), this.fileName + '工段统计.xlsx')
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        if (typeof console !== 'undefined') console.log(e, exportTableOut)
 | 
			
		||||
      }
 | 
			
		||||
@@ -307,6 +309,9 @@ export default {
 | 
			
		||||
					this.listQuery.reportType = val.reportType ? val.reportType : undefined;
 | 
			
		||||
					this.listQuery.reportStartTime = val.timeVal ? [new Date(val.timeVal[0]).getTime()] : undefined;
 | 
			
		||||
					this.listQuery.reportEndTime = val.timeVal ? [new Date(val.timeVal[1]).getTime()] : undefined;
 | 
			
		||||
					if (val.timeVal && val.timeVal.length > 0) {
 | 
			
		||||
						this.fileName = val.timeVal[0].slice(0, 10) + '-' + val.timeVal[1].slice(0, 10) + '_'
 | 
			
		||||
          }
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'export':
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
		<search-bar
 | 
			
		||||
			:formConfigs="formConfig"
 | 
			
		||||
			ref="searchBarForm"
 | 
			
		||||
			@select-changed="handleSearchBarChanged"
 | 
			
		||||
			@headBtnClick="buttonClick" />
 | 
			
		||||
		<base-table
 | 
			
		||||
			class="right-aside"
 | 
			
		||||
@@ -110,6 +111,7 @@ export default {
 | 
			
		||||
          param: 'proLineId',
 | 
			
		||||
					defaultSelect: '',
 | 
			
		||||
					filterable: true,
 | 
			
		||||
					onchange: true,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'select',
 | 
			
		||||
@@ -151,9 +153,39 @@ export default {
 | 
			
		||||
    // this.getDataList()
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		/** 根据产线获取工段 */
 | 
			
		||||
		async getWorksectionById(lineId) {
 | 
			
		||||
			const { code, data } = await this.$axios({
 | 
			
		||||
				url: '/base/workshop-section/listByParentId',
 | 
			
		||||
				method: 'get',
 | 
			
		||||
				params: {
 | 
			
		||||
					id: lineId,
 | 
			
		||||
				},
 | 
			
		||||
			});
 | 
			
		||||
			if (code == 0) {
 | 
			
		||||
				this.formConfig[1].selectOptions = data.map((item) => {
 | 
			
		||||
					return {
 | 
			
		||||
						name: item.name,
 | 
			
		||||
						id: item.id,
 | 
			
		||||
					};
 | 
			
		||||
				});
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		handleSearchBarChanged({ param, value }) {
 | 
			
		||||
			if (!value) {
 | 
			
		||||
				this.formConfig[1].selectOptions = [];
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			switch (param) {
 | 
			
		||||
				case 'proLineId':
 | 
			
		||||
					this.getWorksectionById(value);
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		test() {
 | 
			
		||||
			var target = document.getElementsByClassName("right-aside")[0]
 | 
			
		||||
			target.style.background = '#FFFFFF'
 | 
			
		||||
			var that = this
 | 
			
		||||
			setTimeout(() => {
 | 
			
		||||
				html2canvas(target).then(function(canvas) {
 | 
			
		||||
						var contentWidth = canvas.width
 | 
			
		||||
@@ -189,7 +221,7 @@ export default {
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						pdf.save('工段统计数据查询报表.pdf')
 | 
			
		||||
						pdf.save(that.fileName[0] + '-' + that.fileName[1] + '_工段统计.pdf')
 | 
			
		||||
				})
 | 
			
		||||
			}, 300)
 | 
			
		||||
		},
 | 
			
		||||
@@ -212,7 +244,7 @@ export default {
 | 
			
		||||
      try {
 | 
			
		||||
        FileSaver.saveAs(new Blob([exportTableOut], {
 | 
			
		||||
          type: 'application/octet-stream'
 | 
			
		||||
        }), '工段统计数据查询报表.xlsx')
 | 
			
		||||
        }), this.fileName[0] + '-' + this.fileName[1] + '_工段统计.xlsx')
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        if (typeof console !== 'undefined') console.log(e, exportTableOut)
 | 
			
		||||
      }
 | 
			
		||||
@@ -293,10 +325,9 @@ export default {
 | 
			
		||||
          this.listQuery.sectionId = val.sectionId ? val.sectionId : undefined
 | 
			
		||||
          this.listQuery.startTime = val.timeSlot ? new Date(val.timeSlot[0]).getTime() : undefined
 | 
			
		||||
          this.listQuery.endTime = val.timeSlot ? new Date(val.timeSlot[1]).getTime() : undefined
 | 
			
		||||
					this.fileName[0] = val.timeSlot[0]
 | 
			
		||||
					this.fileName[1] = val.timeSlot[1]
 | 
			
		||||
					console.log('wfjmmki文件名称', this.fileName)
 | 
			
		||||
					if (val.timeSlot) {
 | 
			
		||||
					if (val.timeSlot && val.timeSlot.length > 0) {
 | 
			
		||||
						this.fileName[0] = val.timeSlot[0].slice(0, 10)
 | 
			
		||||
						this.fileName[1] = val.timeSlot[1].slice(0, 10)
 | 
			
		||||
            this.getDataList()
 | 
			
		||||
          } else {
 | 
			
		||||
            this.$message({
 | 
			
		||||
@@ -315,7 +346,14 @@ export default {
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'export':
 | 
			
		||||
					if (val.timeSlot && val.timeSlot.length > 0) {
 | 
			
		||||
						this.handleExport();
 | 
			
		||||
          } else {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: '请选择时间',
 | 
			
		||||
              type: 'warning'
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					console.log(val);
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,22 @@ export default {
 | 
			
		||||
          trigger: 'axis',
 | 
			
		||||
          axisPointer: {
 | 
			
		||||
            type: 'shadow'
 | 
			
		||||
          },
 | 
			
		||||
          formatter: function(params) {
 | 
			
		||||
            return (
 | 
			
		||||
              params[0].axisValue + 
 | 
			
		||||
              `<br>` +
 | 
			
		||||
              params.map((item) => {
 | 
			
		||||
                let str = `<span style="display:inline-block;width:8px;height:8px;margin: 0 8px 0 -3px;border-radius:2px;background-color:${item.color};"></span>`
 | 
			
		||||
                let seriesNameStr = `<span style="display:inline-block;">${item.seriesName}</span>`
 | 
			
		||||
						let value = item.value ? item.value : '-'
 | 
			
		||||
						let valueStr = `<span style="display:inline-block;margin-left:10px;color:rgba(0,0,0,0.45);">${value}</span>`
 | 
			
		||||
						return `<span style="display:flex; justify-content:space-between; margin-bottom: 2px">
 | 
			
		||||
									<span>${str}${seriesNameStr}</span>
 | 
			
		||||
									<span>${valueStr}</span>
 | 
			
		||||
								</span>`
 | 
			
		||||
              }).join(``)
 | 
			
		||||
            )
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        grid: {
 | 
			
		||||
@@ -106,7 +122,11 @@ export default {
 | 
			
		||||
          containLabel: true
 | 
			
		||||
        },
 | 
			
		||||
        legend: {
 | 
			
		||||
          data: legendData
 | 
			
		||||
          data: legendData,
 | 
			
		||||
          right: '1%',
 | 
			
		||||
          icon: 'rect',
 | 
			
		||||
          itemHeight: 8,
 | 
			
		||||
          itemWidth: 8
 | 
			
		||||
        },
 | 
			
		||||
        xAxis: {
 | 
			
		||||
          type: 'category',
 | 
			
		||||
 
 | 
			
		||||
@@ -103,7 +103,8 @@ export default {
 | 
			
		||||
          containLabel: true
 | 
			
		||||
        },
 | 
			
		||||
        legend: {
 | 
			
		||||
          data: legendData
 | 
			
		||||
          data: legendData,
 | 
			
		||||
          right: '1%'
 | 
			
		||||
        },
 | 
			
		||||
        xAxis: {
 | 
			
		||||
          type: 'category',
 | 
			
		||||
 
 | 
			
		||||
@@ -425,7 +425,7 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
/* 时间整点 */
 | 
			
		||||
.noneMinute .el-time-spinner__wrapper {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
@@ -433,6 +433,16 @@ export default {
 | 
			
		||||
.noneMinute .el-scrollbar:nth-of-type(2) {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .el-date-editor .el-range__icon {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
  .el-input__prefix .el-icon-date {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
@@ -446,8 +456,6 @@ export default {
 | 
			
		||||
    margin-top: 12px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.searchBarBox .foldClass {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  top: 14px;
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ export default {
 | 
			
		||||
    return {
 | 
			
		||||
      chartDom: '',
 | 
			
		||||
      chart: '',
 | 
			
		||||
      chartHeight: this.tableHeight(350)
 | 
			
		||||
      chartHeight: this.tableHeight(370)
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
@@ -34,7 +34,7 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.chartHeight = this.tableHeight(350)
 | 
			
		||||
      this.chartHeight = this.tableHeight(370)
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
@@ -86,17 +86,35 @@ export default {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      var option = {
 | 
			
		||||
        // title: {
 | 
			
		||||
        //   text: 'World Population'
 | 
			
		||||
        // },
 | 
			
		||||
        color:['#288AFF','#8EF0AB'],
 | 
			
		||||
        tooltip: {
 | 
			
		||||
          trigger: 'axis',
 | 
			
		||||
          axisPointer: {
 | 
			
		||||
            type: 'shadow'
 | 
			
		||||
          },
 | 
			
		||||
          formatter: function(params) {
 | 
			
		||||
            return (
 | 
			
		||||
              params[0].axisValue + 
 | 
			
		||||
              `<br>` +
 | 
			
		||||
              params.map((item) => {
 | 
			
		||||
                let str = `<span style="display:inline-block;width:8px;height:8px;margin: 0 8px 0 -3px;border-radius:2px;background-color:${item.color};"></span>`
 | 
			
		||||
                let seriesNameStr = `<span style="display:inline-block;">${item.seriesName}</span>`
 | 
			
		||||
						let value = item.value ? item.value : '-'
 | 
			
		||||
						let valueStr = `<span style="display:inline-block;margin-left:10px;color:rgba(0,0,0,0.45);">${value}</span>`
 | 
			
		||||
						return `<span style="display:flex; justify-content:space-between; margin-bottom: 2px">
 | 
			
		||||
									<span>${str}${seriesNameStr}</span>
 | 
			
		||||
									<span>${valueStr}</span>
 | 
			
		||||
								</span>`
 | 
			
		||||
              }).join(``)
 | 
			
		||||
            )
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        legend: {},
 | 
			
		||||
        legend: {
 | 
			
		||||
          right: '1%',
 | 
			
		||||
          icon: 'rect',
 | 
			
		||||
          itemHeight: 8,
 | 
			
		||||
          itemWidth: 8
 | 
			
		||||
        },
 | 
			
		||||
        grid: {
 | 
			
		||||
          left: '1%',
 | 
			
		||||
          right: '1%',
 | 
			
		||||
 
 | 
			
		||||
@@ -194,13 +194,23 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
/* 级联选择器 */
 | 
			
		||||
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .el-date-editor .el-range__icon {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
  .el-input__prefix .el-icon-date {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.separateStyle {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 1px;
 | 
			
		||||
@@ -208,8 +218,6 @@ export default {
 | 
			
		||||
  background: #E8E8E8;
 | 
			
		||||
  vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .blue-block {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,8 @@
 | 
			
		||||
        :table-data="list"
 | 
			
		||||
        class="qoq-out-table"
 | 
			
		||||
      />
 | 
			
		||||
      <div style='width: 100%;height: 300px;padding-top: 30px;'>
 | 
			
		||||
      <div class="chartTitle">环比分析图</div>
 | 
			
		||||
      <div style='width: 100%'>
 | 
			
		||||
        <line-chart ref="analysisLineChart" :chartData="chartData"/>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@@ -112,3 +113,20 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
.chartTitle {
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
  color: #000;
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
}
 | 
			
		||||
.chartTitle::before {
 | 
			
		||||
  content: '';
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 4px;
 | 
			
		||||
  height: 18px;
 | 
			
		||||
  background-color: #0B58FF;
 | 
			
		||||
  border-radius: 1px;
 | 
			
		||||
  margin-right: 8px;
 | 
			
		||||
  vertical-align: bottom;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -68,12 +68,6 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
      var option = {
 | 
			
		||||
        color:['#288AFF'],
 | 
			
		||||
        tooltip: {
 | 
			
		||||
          trigger: 'axis',
 | 
			
		||||
          axisPointer: {
 | 
			
		||||
            type: 'shadow'
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        grid: {
 | 
			
		||||
          left: '4%',
 | 
			
		||||
          right: '1%',
 | 
			
		||||
 
 | 
			
		||||
@@ -70,9 +70,9 @@ export default {
 | 
			
		||||
 | 
			
		||||
      var option = {
 | 
			
		||||
        color:['#288AFF'],
 | 
			
		||||
        tooltip: {
 | 
			
		||||
          trigger: 'axis'
 | 
			
		||||
        },
 | 
			
		||||
        // tooltip: {
 | 
			
		||||
        //   trigger: 'axis'
 | 
			
		||||
        // },
 | 
			
		||||
        grid: {
 | 
			
		||||
          left: '4%',
 | 
			
		||||
          right: '1%',
 | 
			
		||||
 
 | 
			
		||||
@@ -385,7 +385,7 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
/* 级联选择器 */
 | 
			
		||||
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
 | 
			
		||||
  display: none;
 | 
			
		||||
@@ -397,6 +397,16 @@ export default {
 | 
			
		||||
.noneMinute .el-scrollbar:nth-of-type(2) {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .el-date-editor .el-range__icon {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
  .el-input__prefix .el-icon-date {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
@@ -410,8 +420,6 @@ export default {
 | 
			
		||||
    margin-top: 12px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.searchBarBox .foldClass {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  top: 14px;
 | 
			
		||||
 
 | 
			
		||||
@@ -77,7 +77,8 @@ export default {
 | 
			
		||||
      var option = {
 | 
			
		||||
        color:['#FFDC94','#8EF0AB','#63BDFF','#288AFF','#7164FF','#FF6860','#FF9747','#B0EB42','#D680FF','#0043D2'],
 | 
			
		||||
        legend: {
 | 
			
		||||
          data: keys
 | 
			
		||||
          data: keys,
 | 
			
		||||
          right:'1%'
 | 
			
		||||
        },
 | 
			
		||||
        tooltip: {
 | 
			
		||||
          trigger: 'axis'
 | 
			
		||||
 
 | 
			
		||||
@@ -125,7 +125,31 @@ export default {
 | 
			
		||||
      this.$emit('submit', this.queryParams)
 | 
			
		||||
    },
 | 
			
		||||
    exportData() {
 | 
			
		||||
      this.$emit('exportD')
 | 
			
		||||
      let name
 | 
			
		||||
      if (this.queryParams.objId) {
 | 
			
		||||
        name = this.getObjName(this.objList, this.queryParams.objId)
 | 
			
		||||
      } else {
 | 
			
		||||
        this.$modal.msgWarning("对象不能为空")
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
      this.$emit('exportD', {name: name})
 | 
			
		||||
    },
 | 
			
		||||
    // 递归取对象name
 | 
			
		||||
    getObjName(list, id) {
 | 
			
		||||
      let _this = this
 | 
			
		||||
      for (let i = 0; i < list.length; i++) {
 | 
			
		||||
        let a = list[i]
 | 
			
		||||
        if (a.id === id) {
 | 
			
		||||
          return a.name
 | 
			
		||||
        } else {
 | 
			
		||||
          if (a.children && a.children.length > 0) {
 | 
			
		||||
            let res = _this.getObjName(a.children, id)
 | 
			
		||||
            if (res) {
 | 
			
		||||
              return res
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    transformTime(timeStamp) {// 本月最后一天
 | 
			
		||||
      let year = moment(timeStamp).format('YYYY')
 | 
			
		||||
@@ -143,19 +167,20 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
/* 级联选择器 */
 | 
			
		||||
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.separateStyle {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 1px;
 | 
			
		||||
  height: 24px;
 | 
			
		||||
  background: #E8E8E8;
 | 
			
		||||
  vertical-align: middle;
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .el-date-editor .el-range__icon {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
  .el-input__prefix .el-icon-date {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
@@ -170,4 +195,11 @@ export default {
 | 
			
		||||
    margin-top: 10px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.separateStyle {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 1px;
 | 
			
		||||
  height: 24px;
 | 
			
		||||
  background: #E8E8E8;
 | 
			
		||||
  vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <search-area @submit="getList" @exportD="exportData"/>
 | 
			
		||||
    <div v-show='chartData.length'>
 | 
			
		||||
      <div class="chartTitle">同比分析图</div>
 | 
			
		||||
      <div style='width: 100%;height: 400px;'>
 | 
			
		||||
        <line-chart ref="analysisLineChart" :chartData="chartData"/>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -33,12 +34,12 @@ export default {
 | 
			
		||||
      chartData: [],
 | 
			
		||||
      tableProps: [],
 | 
			
		||||
      list: [],
 | 
			
		||||
      tableH: this.tableHeight(600)
 | 
			
		||||
      tableH: this.tableHeight(640)
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = this.tableHeight(600)
 | 
			
		||||
      this.tableH = this.tableHeight(640)
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
@@ -99,9 +100,10 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
      this.chartData = this.list
 | 
			
		||||
    },
 | 
			
		||||
    exportData() {
 | 
			
		||||
    exportData(val) {
 | 
			
		||||
      if (this.list.length > 0) {
 | 
			
		||||
        var wb = XLSX.utils.table_to_book(document.querySelector(".yoy-out-table"))
 | 
			
		||||
        let fileName = val.name + "同比分析.xlsx"
 | 
			
		||||
        var wbout = XLSX.write(wb, {
 | 
			
		||||
            bookType: "xlsx",
 | 
			
		||||
            bookSST: true,
 | 
			
		||||
@@ -110,7 +112,7 @@ export default {
 | 
			
		||||
        try {
 | 
			
		||||
            FileSaver.saveAs(
 | 
			
		||||
            new Blob([wbout], { type: "application/octet-stream" }),
 | 
			
		||||
            "同比分析.xlsx"
 | 
			
		||||
            fileName
 | 
			
		||||
            )
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
            if (typeof console !== "undefined") console.log(e, wbout);
 | 
			
		||||
@@ -123,3 +125,19 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
.chartTitle {
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
  color: #000;
 | 
			
		||||
}
 | 
			
		||||
.chartTitle::before {
 | 
			
		||||
  content: '';
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 4px;
 | 
			
		||||
  height: 18px;
 | 
			
		||||
  background-color: #0B58FF;
 | 
			
		||||
  border-radius: 1px;
 | 
			
		||||
  margin-right: 8px;
 | 
			
		||||
  vertical-align: bottom;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -130,7 +130,7 @@ export default {
 | 
			
		||||
      this.plcTableName = data.plcTableName
 | 
			
		||||
      this.objName = data.objName
 | 
			
		||||
      this.getList()
 | 
			
		||||
      if (title === 'view') {
 | 
			
		||||
      if (title === 'detail') {
 | 
			
		||||
        this.showBtn = false
 | 
			
		||||
        this.tableBtn = []
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -113,22 +113,22 @@ export default {
 | 
			
		||||
      ],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn: [
 | 
			
		||||
        this.$auth.hasPermi('base:energy-plc-connect:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        {
 | 
			
		||||
          type: 'view',
 | 
			
		||||
          btnName: '查看'
 | 
			
		||||
        },
 | 
			
		||||
        this.$auth.hasPermi('base:energy-plc-connect:bind')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'connect',
 | 
			
		||||
              btnName: '绑定'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        {
 | 
			
		||||
          type: 'detail',
 | 
			
		||||
          btnName: '详情'
 | 
			
		||||
        },
 | 
			
		||||
        this.$auth.hasPermi('base:energy-plc-connect:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        this.$auth.hasPermi('base:energy-plc-connect:delete')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'delete',
 | 
			
		||||
@@ -205,10 +205,10 @@ export default {
 | 
			
		||||
        case 'delete':
 | 
			
		||||
          this.handleDelete(val.data)
 | 
			
		||||
          break
 | 
			
		||||
        case 'view':
 | 
			
		||||
        case 'detail':
 | 
			
		||||
          this.paramVisible = true
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.plcParam.init(val.data, 'view')
 | 
			
		||||
            this.$refs.plcParam.init(val.data, 'detail')
 | 
			
		||||
          })
 | 
			
		||||
          break
 | 
			
		||||
        default:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form ref="form" :rules="rules" label-width="110px" :model="form">
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="监控对象" prop="objectId">
 | 
			
		||||
          <el-cascader
 | 
			
		||||
            style='width: 100%;'
 | 
			
		||||
@@ -10,6 +12,8 @@
 | 
			
		||||
            @change="selectObj"
 | 
			
		||||
            clearable></el-cascader>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="能源类型" prop="energyTypeId">
 | 
			
		||||
          <el-select v-model="form.energyTypeId" placeholder="请选择" style="width: 100%;" @change="toggleType">
 | 
			
		||||
            <el-option
 | 
			
		||||
@@ -20,12 +24,18 @@
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="监控模式" prop="type">
 | 
			
		||||
          <el-select v-model="form.type" placeholder="请选择" style="width: 100%;" @change="typeChange">
 | 
			
		||||
            <el-option label="合并" :value= "1" ></el-option>
 | 
			
		||||
            <el-option label="详细" :value= "2" ></el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="监控详细参数" prop="type" v-if="form.type === 2">
 | 
			
		||||
          <el-select v-model="form.plcParamId" placeholder="请选择" style="width: 100%;" @change="selectDetail">
 | 
			
		||||
            <el-option
 | 
			
		||||
@@ -36,6 +46,10 @@
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="指标类型" prop="limitType">
 | 
			
		||||
          <el-select v-model="form.limitType" placeholder="请选择" style="width: 100%;">
 | 
			
		||||
            <el-option
 | 
			
		||||
@@ -46,9 +60,13 @@
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="消耗量阈值" prop="limitValue">
 | 
			
		||||
          <el-input-number v-model="form.limitValue" :min="0" :max="10000000000000000" style="width: 100%;"></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
 
 | 
			
		||||
@@ -124,7 +124,7 @@ export default {
 | 
			
		||||
      this.energyType = data.energyType
 | 
			
		||||
      this.energyTypeId = data.energyTypeId
 | 
			
		||||
      this.getList()
 | 
			
		||||
      if (title === 'view') {
 | 
			
		||||
      if (title === 'detail') {
 | 
			
		||||
        this.showBtn = false
 | 
			
		||||
        this.tableBtn = []
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -111,22 +111,22 @@ export default {
 | 
			
		||||
      ],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn: [
 | 
			
		||||
        this.$auth.hasPermi('monitoring:energy-statistics:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        {
 | 
			
		||||
          type: 'view',
 | 
			
		||||
          btnName: '查看'
 | 
			
		||||
        },
 | 
			
		||||
        this.$auth.hasPermi('monitoring:energy-statistics:bind')
 | 
			
		||||
        ? {
 | 
			
		||||
            type: 'connect',
 | 
			
		||||
            btnName: '绑定'
 | 
			
		||||
          }
 | 
			
		||||
        : undefined,
 | 
			
		||||
        {
 | 
			
		||||
          type: 'detail',
 | 
			
		||||
          btnName: '详情'
 | 
			
		||||
        },
 | 
			
		||||
        this.$auth.hasPermi('monitoring:energy-statistics:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        this.$auth.hasPermi('monitoring:energy-statistics:delete')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'delete',
 | 
			
		||||
@@ -199,9 +199,9 @@ export default {
 | 
			
		||||
        case 'delete':
 | 
			
		||||
          this.handleDelete(val.data)
 | 
			
		||||
          break
 | 
			
		||||
        case 'view':
 | 
			
		||||
        case 'detail':
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.plcParam.init(val.data, 'view')
 | 
			
		||||
            this.$refs.plcParam.init(val.data, 'detail')
 | 
			
		||||
          })
 | 
			
		||||
          break
 | 
			
		||||
        default:
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@
 | 
			
		||||
      @cancel="handleCancel"
 | 
			
		||||
      @confirm="handleConfirm"
 | 
			
		||||
      :before-close="handleCancel"
 | 
			
		||||
      width='70%'
 | 
			
		||||
      width='50%'
 | 
			
		||||
    >
 | 
			
		||||
      <group-class-add ref="classList" @successSubmit="successSubmit" />
 | 
			
		||||
    </base-dialog>
 | 
			
		||||
@@ -108,12 +108,6 @@ export default {
 | 
			
		||||
      ],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn: [
 | 
			
		||||
        this.$auth.hasPermi('base:group-classes:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
          {
 | 
			
		||||
            type: 'cancel',
 | 
			
		||||
            btnName: '作废',
 | 
			
		||||
@@ -128,6 +122,12 @@ export default {
 | 
			
		||||
              ]
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
        this.$auth.hasPermi('base:group-classes:update')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'edit',
 | 
			
		||||
              btnName: '编辑'
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
        this.$auth.hasPermi('base:group-classes:delete')
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'delete',
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,29 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form ref="form" :rules="rules" label-width="80px" :model="form">
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="班组名称" prop="name">
 | 
			
		||||
          <el-input v-model="form.name"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="班组编码" prop="code">
 | 
			
		||||
          <el-input v-model="form.code" disabled></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="班组人数" prop="num">
 | 
			
		||||
          <el-input-number v-model="form.num" :min="1" :max="99999999" style="width: 100%;"></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="班组组长" prop="leaderName">
 | 
			
		||||
          <el-input v-model="form.leaderName"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
 
 | 
			
		||||
@@ -308,6 +308,16 @@ export default {
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
.demo-form-inline {
 | 
			
		||||
  .el-date-editor .el-range__icon {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
  .el-input__prefix .el-icon-date {
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    color: #0B58FF;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.groupTeamScheduling {
 | 
			
		||||
  background-color: #F2F4F9;
 | 
			
		||||
  .operationArea {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user