lb #19
@@ -65,57 +65,44 @@ export default {
 | 
			
		||||
					: undefined,
 | 
			
		||||
			].filter((v) => v),
 | 
			
		||||
			tableProps: [
 | 
			
		||||
				{ prop: 'lineName', label: '产线', align: 'center' },
 | 
			
		||||
				{ prop: 'sectionName', label: '工段', align: 'center' },
 | 
			
		||||
				{ prop: 'equipmentName', label: '设备', align: 'center' },
 | 
			
		||||
				{
 | 
			
		||||
					prop: 'createTime',
 | 
			
		||||
					label: '添加时间',
 | 
			
		||||
					fixed: true,
 | 
			
		||||
					width: 180,
 | 
			
		||||
					filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
 | 
			
		||||
				},
 | 
			
		||||
				{ prop: 'name', label: '设备分组名称', align: 'center' },
 | 
			
		||||
				{ prop: 'code', label: '检测分组编码', align: 'center' },
 | 
			
		||||
				{ prop: 'remark', label: '备注', align: 'center' },
 | 
			
		||||
				{
 | 
			
		||||
					_action: 'equipment-group-show-alert',
 | 
			
		||||
					label: '报警',
 | 
			
		||||
					width: 188,
 | 
			
		||||
					prop: 'mtbf',
 | 
			
		||||
					label: '平均故障间隔时间[MTBF](h)',
 | 
			
		||||
					align: 'center',
 | 
			
		||||
					subcomponent: {
 | 
			
		||||
						props: ['injectData'],
 | 
			
		||||
						render: function (h) {
 | 
			
		||||
							const _this = this;
 | 
			
		||||
							return h(
 | 
			
		||||
								'el-button',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
									props: { type: 'text', size: 'mini' },
 | 
			
		||||
									on: {
 | 
			
		||||
										click: function () {
 | 
			
		||||
											console.log('inejctdata', _this.injectData);
 | 
			
		||||
											_this.$emit('emitData', {
 | 
			
		||||
												action: _this.injectData._action,
 | 
			
		||||
												// value: _this.injectData.id,
 | 
			
		||||
												value: _this.injectData,
 | 
			
		||||
											});
 | 
			
		||||
										},
 | 
			
		||||
									},
 | 
			
		||||
								},
 | 
			
		||||
								'查看报警'
 | 
			
		||||
							);
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
					width: 180,
 | 
			
		||||
					prop: 'mttr',
 | 
			
		||||
					label: '平均维修时间[MTTR](h)',
 | 
			
		||||
					align: 'center',
 | 
			
		||||
				},
 | 
			
		||||
				{ prop: 'workTime', label: '工作时长(h)', align: 'center' },
 | 
			
		||||
				{ prop: 'downTime', label: '故障时长(h)', align: 'center' },
 | 
			
		||||
				{ prop: 'downCount', label: '故障次数', align: 'center' },
 | 
			
		||||
			],
 | 
			
		||||
			searchBarFormConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '分组名称',
 | 
			
		||||
					placeholder: '请输入设备分组名称',
 | 
			
		||||
					param: 'name',
 | 
			
		||||
					type: 'select',
 | 
			
		||||
					label: '请选择月份',
 | 
			
		||||
					placeholder: '请选择月份',
 | 
			
		||||
					param: 'month',
 | 
			
		||||
					selectOptions: Array(12)
 | 
			
		||||
						.fill(0)
 | 
			
		||||
						.map((v, i) => ({
 | 
			
		||||
							id: i + 1,
 | 
			
		||||
							name: `${i + 1}月`,
 | 
			
		||||
						})),
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '分组编码',
 | 
			
		||||
					placeholder: '请输入设备分组编码',
 | 
			
		||||
					param: 'codes',
 | 
			
		||||
					__index: 'line',
 | 
			
		||||
					type: 'select',
 | 
			
		||||
					label: '产线',
 | 
			
		||||
					placeholder: '请选择产线',
 | 
			
		||||
					param: 'lineId',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'button',
 | 
			
		||||
@@ -123,86 +110,78 @@ export default {
 | 
			
		||||
					name: 'search',
 | 
			
		||||
					color: 'primary',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'separate',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: this.$auth.hasPermi('base:equipment-group:create')
 | 
			
		||||
						? 'button'
 | 
			
		||||
						: '',
 | 
			
		||||
					btnName: '新增',
 | 
			
		||||
					name: 'add',
 | 
			
		||||
					plain: true,
 | 
			
		||||
					color: 'success',
 | 
			
		||||
				},
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: this.$auth.hasPermi('base:equipment-group:export') ? 'button' : '',
 | 
			
		||||
				// 	btnName: '导出',
 | 
			
		||||
				// 	name: 'export',
 | 
			
		||||
				// 	color: 'warning',
 | 
			
		||||
				// },
 | 
			
		||||
			],
 | 
			
		||||
			rows: [
 | 
			
		||||
				[
 | 
			
		||||
					{
 | 
			
		||||
						input: true,
 | 
			
		||||
						label: '分组名称',
 | 
			
		||||
						prop: 'name',
 | 
			
		||||
						rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
 | 
			
		||||
						// bind: {
 | 
			
		||||
						// 	disabled: true, // some condition, like detail mode...
 | 
			
		||||
						// }
 | 
			
		||||
					},
 | 
			
		||||
				],
 | 
			
		||||
				[
 | 
			
		||||
					{
 | 
			
		||||
						input: true,
 | 
			
		||||
						label: '分组编码',
 | 
			
		||||
						prop: 'code',
 | 
			
		||||
						url: '/base/equipment-group/getCode',
 | 
			
		||||
					},
 | 
			
		||||
				],
 | 
			
		||||
				[
 | 
			
		||||
					{
 | 
			
		||||
						input: true,
 | 
			
		||||
						label: '备注',
 | 
			
		||||
						prop: 'remark',
 | 
			
		||||
						// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
 | 
			
		||||
						bind: {
 | 
			
		||||
							placeholder: '请输入备注',
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
				],
 | 
			
		||||
			],
 | 
			
		||||
			// 是否显示弹出层
 | 
			
		||||
			open: false,
 | 
			
		||||
			// 查询参数
 | 
			
		||||
			queryParams: {
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
				code: null,
 | 
			
		||||
				name: null,
 | 
			
		||||
				lineId: null,
 | 
			
		||||
				factoryId: null,
 | 
			
		||||
				recordTime: null,
 | 
			
		||||
			},
 | 
			
		||||
			// 表单参数
 | 
			
		||||
			form: {},
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	computed: {},
 | 
			
		||||
	created() {
 | 
			
		||||
		this.fillLineOptions();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		getList() {
 | 
			
		||||
		async fillLineOptions() {
 | 
			
		||||
			const { data } = await this.$axios({
 | 
			
		||||
				url: '/base/production-line/listAll',
 | 
			
		||||
				method: 'get',
 | 
			
		||||
			});
 | 
			
		||||
			const cfg = this.searchBarFormConfig.find(
 | 
			
		||||
				(item) => item.__index == 'line'
 | 
			
		||||
			);
 | 
			
		||||
			this.$set(
 | 
			
		||||
				cfg,
 | 
			
		||||
				'selectOptions',
 | 
			
		||||
				data.map((item) => ({
 | 
			
		||||
					id: item.id,
 | 
			
		||||
					name: item.name,
 | 
			
		||||
				}))
 | 
			
		||||
			);
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		async getList() {
 | 
			
		||||
			this.loading = true;
 | 
			
		||||
			// 执行查询
 | 
			
		||||
			getEquipmentGroupPage(this.queryParams).then((response) => {
 | 
			
		||||
				this.list = response.data.list;
 | 
			
		||||
				this.total = response.data.total;
 | 
			
		||||
				this.loading = false;
 | 
			
		||||
			const { data } = await this.$axios({
 | 
			
		||||
				url: '/analysis/equipment-analysis/efficiency',
 | 
			
		||||
				method: 'get',
 | 
			
		||||
				params: {
 | 
			
		||||
					lineId: this.queryParams.lineId || null,
 | 
			
		||||
					recordTime: this.queryParams.recordTime || null,
 | 
			
		||||
				},
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		handleSearchBarBtnClick(btn) {
 | 
			
		||||
			switch (btn.btnName) {
 | 
			
		||||
				case 'search':
 | 
			
		||||
					if (btn.month) {
 | 
			
		||||
						this.queryParams.recordTime = [
 | 
			
		||||
							moment()
 | 
			
		||||
								.month(btn.month - 1)
 | 
			
		||||
								.format('YYYY-MM')+'-01 00:00:00',
 | 
			
		||||
							moment()
 | 
			
		||||
								.month(btn.month)
 | 
			
		||||
								.format('YYYY-MM')+'-01 00:00:00',
 | 
			
		||||
						];
 | 
			
		||||
					} else {
 | 
			
		||||
						this.queryParams.recordTime = null;
 | 
			
		||||
					}
 | 
			
		||||
                    this.queryParams.lineId = btn.lineId || null;
 | 
			
		||||
					this.handleQuery();
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		/** 搜索按钮操作 */
 | 
			
		||||
		handleQuery() {
 | 
			
		||||
			this.queryParams.pageNo = 1;
 | 
			
		||||
			// this.queryParams.pageNo = 1;
 | 
			
		||||
			this.getList();
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		/** 重置按钮操作 */
 | 
			
		||||
		resetQuery() {
 | 
			
		||||
			this.resetForm('queryForm');
 | 
			
		||||
 
 | 
			
		||||
		Посилання в новій задачі
	
	Block a user