merge test
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Do not edit
 | 
			
		||||
 * @Date: 2023-10-21 11:50:46
 | 
			
		||||
 * @LastEditTime: 2023-11-06 10:50:57
 | 
			
		||||
 * @LastEditTime: 2023-11-06 17:49:42
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 */
 | 
			
		||||
@@ -108,4 +108,31 @@ export function getCoreWOMaPage(query) {
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获得预计用料信息分页
 | 
			
		||||
export function getMaterialBomPage(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/base/material-product-bom/bomUseNum',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获得订单分页
 | 
			
		||||
export function getConOrderList(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/base/order/listConOrder',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 改变工单状态 激活暂停完成作废
 | 
			
		||||
export function statusChange(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/base/core-work-order/statusChange',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
@@ -1,17 +1,17 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-09-12 14:07:04
 | 
			
		||||
 * @LastEditTime: 2023-09-13 09:53:45
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2023-11-07 14:17:38
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description:
 | 
			
		||||
 */
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
 | 
			
		||||
export function getYieldAnalysisPageData(data) {
 | 
			
		||||
export function getYieldAnalysisPageData(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/analysis/production-analysis/getOutput',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
    url: '/base/core-production-line-rec-day/monthList',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,17 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Do not edit
 | 
			
		||||
 * @Date: 2023-09-12 09:44:53
 | 
			
		||||
 * @LastEditTime: 2023-09-15 14:12:26
 | 
			
		||||
 * @LastEditTime: 2023-11-06 18:57:05
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 */
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
 | 
			
		||||
// 获得近24小时产线生产数据
 | 
			
		||||
export function getPdlDataOneDay(data) {
 | 
			
		||||
export function getPdlDataOneDay(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/monitoring/production-monitor/getPdlDataOneDay',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
    url: '/base/core-production-line-rec-hour/list24h',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,416 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-11-04 11:39:25
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
	<el-drawer
 | 
			
		||||
		:visible.sync="visible"
 | 
			
		||||
		:show-close="false"
 | 
			
		||||
		:wrapper-closable="false"
 | 
			
		||||
		class="drawer"
 | 
			
		||||
		size="50%">
 | 
			
		||||
		<small-title slot="title" :no-padding="true">
 | 
			
		||||
			{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
 | 
			
		||||
		</small-title>
 | 
			
		||||
		<div class="content">
 | 
			
		||||
			<div class="visual-part">
 | 
			
		||||
				<el-form
 | 
			
		||||
					:model="dataForm"
 | 
			
		||||
					:rules="dataRule"
 | 
			
		||||
					ref="dataForm"
 | 
			
		||||
					@keyup.enter.native="dataFormSubmit()"
 | 
			
		||||
					label-width="100px"
 | 
			
		||||
					label-position="top">
 | 
			
		||||
					<el-row :gutter="20">
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="产品名称" prop="name">
 | 
			
		||||
								<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入产品名称" />
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="产品编码" prop="code">
 | 
			
		||||
								<el-input
 | 
			
		||||
									v-model="dataForm.code"
 | 
			
		||||
									clearable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									placeholder="请输入产品编码" />
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
					</el-row>
 | 
			
		||||
					<el-row :gutter="20">
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="物料类型" prop="materialType">
 | 
			
		||||
								<el-select
 | 
			
		||||
									v-model="dataForm.materialType"
 | 
			
		||||
									filterable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择物料类型">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in this.getDictDatas('material_type')"
 | 
			
		||||
										:key="dict.value"
 | 
			
		||||
										:label="dict.label"
 | 
			
		||||
										:value="dict.value" />
 | 
			
		||||
								</el-select>
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="产品类型" prop="productType">
 | 
			
		||||
								<el-select
 | 
			
		||||
									v-model="dataForm.productType"
 | 
			
		||||
									filterable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择产品类型">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in this.getDictDatas(DICT_TYPE.PRODUCT_TYPE)"
 | 
			
		||||
										:key="dict.value"
 | 
			
		||||
										:label="dict.label"
 | 
			
		||||
										:value="dict.value" />
 | 
			
		||||
								</el-select>
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
					</el-row>
 | 
			
		||||
					<el-row :gutter="20">
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="单位" prop="unit">
 | 
			
		||||
								<el-select
 | 
			
		||||
									v-model="dataForm.unit"
 | 
			
		||||
									filterable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择单位">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in this.getDictDatas(DICT_TYPE.UNIT_DICT)"
 | 
			
		||||
										:key="dict.value"
 | 
			
		||||
										:label="dict.label"
 | 
			
		||||
										:value="dict.value" />
 | 
			
		||||
								</el-select>
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="单位平方数" prop="area">
 | 
			
		||||
								<el-input-number v-model="dataForm.area" :precision="2" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入单位平方数" />
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
					</el-row>
 | 
			
		||||
					<el-row :gutter="20">
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="规格" prop="specifications">
 | 
			
		||||
								<el-input v-model="dataForm.specifications" :disabled="isdetail" clearable placeholder="请输入规格" />
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
						<el-col :span="12">
 | 
			
		||||
							<el-form-item label="产线生产单位用时(S)" prop="processTime">
 | 
			
		||||
								<el-input v-model.number="dataForm.processTime" type="number" :disabled="isdetail" clearable placeholder="请输入产线生产单位用时" />
 | 
			
		||||
							</el-form-item>
 | 
			
		||||
						</el-col>
 | 
			
		||||
					</el-row>
 | 
			
		||||
					<el-form-item label="备注" prop="remark">
 | 
			
		||||
						<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
 | 
			
		||||
					</el-form-item>
 | 
			
		||||
				</el-form>
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="drawer-body__footer">
 | 
			
		||||
				<el-button style="" @click="goback()">取消</el-button>
 | 
			
		||||
				<el-button v-if="isdetail" type="primary" @click="goEdit()">
 | 
			
		||||
					编辑
 | 
			
		||||
				</el-button>
 | 
			
		||||
				<el-button v-else type="primary" @click="dataFormSubmit()">确定</el-button>
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="attr-list" v-if="idAttrShow">
 | 
			
		||||
				<small-title
 | 
			
		||||
					style="margin: 16px 0; padding-left: 8px"
 | 
			
		||||
					:no-padding="true">
 | 
			
		||||
					产品属性
 | 
			
		||||
				</small-title>
 | 
			
		||||
 | 
			
		||||
				<div v-if="!isdetail" class="action_btn">
 | 
			
		||||
					<template>
 | 
			
		||||
						<span style="display: inline-block;" @click="addNew()">
 | 
			
		||||
							<svg-icon style="width: 14px; height: 14px" class="item-icon" icon-class="table_add" />
 | 
			
		||||
							<span class="add">添加</span>
 | 
			
		||||
						</span>
 | 
			
		||||
					</template>
 | 
			
		||||
				</div>
 | 
			
		||||
				<base-table
 | 
			
		||||
					:table-props="tableProps"
 | 
			
		||||
					:page="listQuery.pageNo"
 | 
			
		||||
					:limit="listQuery.pageSize"
 | 
			
		||||
					:table-data="productAttrList">
 | 
			
		||||
					<method-btn
 | 
			
		||||
						v-if="!isdetail"
 | 
			
		||||
						slot="handleBtn"
 | 
			
		||||
						:width="120"
 | 
			
		||||
						label="操作"
 | 
			
		||||
						:method-list="tableBtn"
 | 
			
		||||
						@clickBtn="handleClick" />
 | 
			
		||||
				</base-table>
 | 
			
		||||
				<pagination
 | 
			
		||||
					v-show="listQuery.total > 0"
 | 
			
		||||
					:total="listQuery.total"
 | 
			
		||||
					:page.sync="listQuery.pageNo"
 | 
			
		||||
					:limit.sync="listQuery.pageSize"
 | 
			
		||||
					:page-sizes="[5, 10, 15]"
 | 
			
		||||
					@pagination="getList" />
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="drawer-body__footer">
 | 
			
		||||
				<el-button type="primary" @click="goback()">关闭</el-button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
		<attr-add
 | 
			
		||||
			v-if="addOrUpdateVisible"
 | 
			
		||||
			ref="addOrUpdate"
 | 
			
		||||
			:product-id="dataForm.id"
 | 
			
		||||
			@refreshDataList="getList" />
 | 
			
		||||
	</el-drawer>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicAdd from '../../core/mixins/basic-add';
 | 
			
		||||
import { createCoreProduct, updateCoreProduct, getCoreProduct, getCode, getCoreProductAttrPage, deleteCoreProductAttr } from "@/api/base/coreProduct";
 | 
			
		||||
import SmallTitle from './SmallTitle';
 | 
			
		||||
import { parseTime } from '../../core/mixins/code-filter';
 | 
			
		||||
import attrAdd from './attr-add';
 | 
			
		||||
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
	{
 | 
			
		||||
		type: 'edit',
 | 
			
		||||
		btnName: '编辑',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		type: 'delete',
 | 
			
		||||
		btnName: '删除',
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
const tableProps = [
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'createTime',
 | 
			
		||||
		label: '添加时间',
 | 
			
		||||
		filter: parseTime,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'name',
 | 
			
		||||
		label: '属性名',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'value',
 | 
			
		||||
		label: '属性值',
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const topBtnConfig = [
 | 
			
		||||
  {
 | 
			
		||||
    type: 'add',
 | 
			
		||||
    btnName: 'btn.add'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	mixins: [basicAdd],
 | 
			
		||||
	components: { SmallTitle, attrAdd },
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			tableBtn,
 | 
			
		||||
			tableProps,
 | 
			
		||||
			topBtnConfig,
 | 
			
		||||
			addOrUpdateVisible: false,
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
			  isGetCode: true,
 | 
			
		||||
        codeURL: getCode,
 | 
			
		||||
				createURL: createCoreProduct,
 | 
			
		||||
				updateURL: updateCoreProduct,
 | 
			
		||||
				infoURL: getCoreProduct,
 | 
			
		||||
			},
 | 
			
		||||
			listQuery: {
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
				total: 0,
 | 
			
		||||
			},
 | 
			
		||||
			dataForm: {
 | 
			
		||||
        id: undefined,
 | 
			
		||||
        code: undefined,
 | 
			
		||||
        name: '',
 | 
			
		||||
				materialType: undefined,
 | 
			
		||||
				productType: undefined,
 | 
			
		||||
        area: undefined,
 | 
			
		||||
				specifications: undefined,
 | 
			
		||||
				processTime: 0,
 | 
			
		||||
        remark: undefined,
 | 
			
		||||
				unit: undefined
 | 
			
		||||
			},
 | 
			
		||||
			productAttrList: [],
 | 
			
		||||
			visible: false,
 | 
			
		||||
			isdetail: false,
 | 
			
		||||
			idAttrShow: false,
 | 
			
		||||
			dataRule: {
 | 
			
		||||
        code: [{ required: true, message: "物料编码不能为空", trigger: "blur" }],
 | 
			
		||||
        name: [{ required: true, message: "物料名称不能为空", trigger: "blur" }],
 | 
			
		||||
				materialType: [{ required: true, message: "物料类型不能为空", trigger: "change" }],
 | 
			
		||||
				productType: [{ required: true, message: "产品类型不能为空", trigger: "change" }],
 | 
			
		||||
				processTime: [{ required: true, message: "产线生产单位用时不能为空", trigger: "blur" }]
 | 
			
		||||
      }
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	mounted() {},
 | 
			
		||||
	methods: {
 | 
			
		||||
		initData() {
 | 
			
		||||
			this.productAttrList.splice(0);
 | 
			
		||||
			this.listQuery.total = 0;
 | 
			
		||||
		},
 | 
			
		||||
		handleClick(raw) {
 | 
			
		||||
			if (raw.type === 'delete') {
 | 
			
		||||
				this.$confirm(
 | 
			
		||||
					`确定对${
 | 
			
		||||
						raw.data.attrName
 | 
			
		||||
							? '[名称=' + raw.data.attrName + ']'
 | 
			
		||||
							: '[序号=' + raw.data._pageIndex + ']'
 | 
			
		||||
					}进行删除操作?`,
 | 
			
		||||
					'提示',
 | 
			
		||||
					{
 | 
			
		||||
						confirmButtonText: '确定',
 | 
			
		||||
						cancelButtonText: '取消',
 | 
			
		||||
						type: 'warning',
 | 
			
		||||
					}
 | 
			
		||||
				)
 | 
			
		||||
					.then(() => {
 | 
			
		||||
						deleteCoreProductAttr(raw.data.id).then(({ data }) => {
 | 
			
		||||
							this.$message({
 | 
			
		||||
								message: '操作成功',
 | 
			
		||||
								type: 'success',
 | 
			
		||||
								duration: 1500,
 | 
			
		||||
								onClose: () => {
 | 
			
		||||
									this.getList();
 | 
			
		||||
								},
 | 
			
		||||
							});
 | 
			
		||||
						});
 | 
			
		||||
					})
 | 
			
		||||
					.catch(() => {});
 | 
			
		||||
			} else {
 | 
			
		||||
				this.addNew(raw.data.id);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		getList() {
 | 
			
		||||
			// 获取产品属性列表
 | 
			
		||||
			getCoreProductAttrPage({
 | 
			
		||||
				...this.listQuery,
 | 
			
		||||
				productId: this.dataForm.id,
 | 
			
		||||
			}).then((response) => {
 | 
			
		||||
				this.productAttrList = response.data.list;
 | 
			
		||||
				this.listQuery.total = response.data.total;
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		init(id, isdetail) {
 | 
			
		||||
			this.initData();
 | 
			
		||||
			this.isdetail = isdetail || false;
 | 
			
		||||
			this.dataForm.id = id || undefined;
 | 
			
		||||
			this.visible = true;
 | 
			
		||||
			if (id) {
 | 
			
		||||
				this.idAttrShow = true
 | 
			
		||||
			} else {
 | 
			
		||||
				this.idAttrShow = false
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
				this.$refs['dataForm'].resetFields();
 | 
			
		||||
 | 
			
		||||
				if (this.dataForm.id) {
 | 
			
		||||
					// 获取产品详情
 | 
			
		||||
					this.urlOptions.infoURL(id).then(response => {
 | 
			
		||||
            this.dataForm = response.data
 | 
			
		||||
						this.dataForm.unit = String(this.dataForm.unit)
 | 
			
		||||
						this.dataForm.materialType = String(this.dataForm.materialType)
 | 
			
		||||
						this.dataForm.productType = String(this.dataForm.productType)
 | 
			
		||||
          });
 | 
			
		||||
					// 获取产品属性列表
 | 
			
		||||
					this.getList();
 | 
			
		||||
				} else {
 | 
			
		||||
					if (this.urlOptions.isGetCode) {
 | 
			
		||||
            this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
				}
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		goback() {
 | 
			
		||||
			this.visible = false;
 | 
			
		||||
			this.$emit('refreshDataList');
 | 
			
		||||
			// this.initData();
 | 
			
		||||
		},
 | 
			
		||||
		goEdit() {
 | 
			
		||||
			this.isdetail = false;
 | 
			
		||||
		},
 | 
			
		||||
		// 新增 / 修改
 | 
			
		||||
		addNew(id) {
 | 
			
		||||
			this.addOrUpdateVisible = true;
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
				this.$refs.addOrUpdate.init(id);
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.drawer >>> .el-drawer {
 | 
			
		||||
	border-radius: 8px 0 0 8px;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-form-item__label {
 | 
			
		||||
	padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-drawer__header {
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	padding: 32px 32px 24px;
 | 
			
		||||
	border-bottom: 1px solid #dcdfe6;
 | 
			
		||||
}
 | 
			
		||||
.drawer >>> .el-drawer__body {
 | 
			
		||||
	flex: 1;
 | 
			
		||||
	height: 1px;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .content {
 | 
			
		||||
	padding: 30px 24px;
 | 
			
		||||
	flex: 1;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
	/* height: 100%; */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .visual-part {
 | 
			
		||||
	flex: 1 auto;
 | 
			
		||||
	max-height: 76vh;
 | 
			
		||||
	overflow: hidden;
 | 
			
		||||
	overflow-y: scroll;
 | 
			
		||||
	padding-right: 10px; /* 调整滚动条样式 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-form,
 | 
			
		||||
.drawer >>> .attr-list {
 | 
			
		||||
	padding: 0 16px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer-body__footer {
 | 
			
		||||
	display: flex;
 | 
			
		||||
	justify-content: flex-end;
 | 
			
		||||
	padding: 18px;
 | 
			
		||||
}
 | 
			
		||||
.action_btn {
 | 
			
		||||
  float: right;
 | 
			
		||||
  margin: 5px 15px;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
}
 | 
			
		||||
.add {
 | 
			
		||||
	color: #0b58ff;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-11-06 10:01:37
 | 
			
		||||
 * @LastEditTime: 2023-11-06 14:38:20
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -16,8 +16,8 @@
 | 
			
		||||
			{{ '预使用主原料信息' }}
 | 
			
		||||
		</small-title>
 | 
			
		||||
		<div class="content">
 | 
			
		||||
			<div style="height: 15vh">
 | 
			
		||||
				<div style="font-size: 18px;">工单名:{{ workOrderName }}</div>
 | 
			
		||||
			<div style="height: 10vh">
 | 
			
		||||
				<div style="font-size: 18px;">工单名:{{ dataForm.name }}</div>
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="attr-list">
 | 
			
		||||
@@ -64,7 +64,7 @@
 | 
			
		||||
		<attr-add
 | 
			
		||||
			v-if="addOrUpdateVisible"
 | 
			
		||||
			ref="addOrUpdate"
 | 
			
		||||
			:product-id="dataForm.id"
 | 
			
		||||
			:work-order-id="dataForm.id"
 | 
			
		||||
			@refreshDataList="getList" />
 | 
			
		||||
	</el-drawer>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -136,7 +136,6 @@ export default {
 | 
			
		||||
			tableBtn,
 | 
			
		||||
			tableProps,
 | 
			
		||||
			topBtnConfig,
 | 
			
		||||
			workOrderName: '111',
 | 
			
		||||
			addOrUpdateVisible: false,
 | 
			
		||||
			listQuery: {
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
@@ -144,7 +143,8 @@ export default {
 | 
			
		||||
				total: 0,
 | 
			
		||||
			},
 | 
			
		||||
			dataForm: {
 | 
			
		||||
        id: undefined
 | 
			
		||||
        id: undefined,
 | 
			
		||||
				name: ''
 | 
			
		||||
			},
 | 
			
		||||
			materialList: [],
 | 
			
		||||
			visible: false,
 | 
			
		||||
@@ -199,10 +199,11 @@ export default {
 | 
			
		||||
				this.listQuery.total = response.data.total;
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		init(id, isdetail) {
 | 
			
		||||
		init(row, isdetail) {
 | 
			
		||||
			this.initData();
 | 
			
		||||
			this.isdetail = isdetail || false;
 | 
			
		||||
			this.dataForm.id = id || undefined;
 | 
			
		||||
			this.dataForm.id = row.id || undefined;
 | 
			
		||||
			this.dataForm.name = row.name || '';
 | 
			
		||||
			this.visible = true;
 | 
			
		||||
			this.getList()
 | 
			
		||||
 | 
			
		||||
@@ -237,6 +238,7 @@ export default {
 | 
			
		||||
		// 新增 / 修改
 | 
			
		||||
		addNew(id) {
 | 
			
		||||
			this.addOrUpdateVisible = true;
 | 
			
		||||
			console.log('22', id)
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
				this.$refs.addOrUpdate.init(id);
 | 
			
		||||
			});
 | 
			
		||||
 
 | 
			
		||||
@@ -178,7 +178,8 @@ export default {
 | 
			
		||||
        priority: '',
 | 
			
		||||
        productLineIds: [],
 | 
			
		||||
        type: '',
 | 
			
		||||
        workers: ''
 | 
			
		||||
        workers: '',
 | 
			
		||||
        status: 1
 | 
			
		||||
      },
 | 
			
		||||
      rules: {
 | 
			
		||||
        name: [{ required: true, message: "工单名称不能为空", trigger: "blur" }],
 | 
			
		||||
 
 | 
			
		||||
@@ -75,6 +75,7 @@
 | 
			
		||||
				<el-select
 | 
			
		||||
					v-model="dataForm.unit"
 | 
			
		||||
					filterable
 | 
			
		||||
					style="width: 100%"
 | 
			
		||||
					placeholder="请选择单位">
 | 
			
		||||
					<el-option
 | 
			
		||||
						v-for="dict in getDictDatas('unit_dict')"
 | 
			
		||||
@@ -103,7 +104,7 @@ import { getDictDatas} from "@/utils/dict";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	props: {
 | 
			
		||||
		productId: {
 | 
			
		||||
		workOrderId: {
 | 
			
		||||
			type: String,
 | 
			
		||||
			default: '',
 | 
			
		||||
		},
 | 
			
		||||
@@ -121,8 +122,8 @@ export default {
 | 
			
		||||
				unit: undefined
 | 
			
		||||
			},
 | 
			
		||||
			originList: [
 | 
			
		||||
				{ label: 1, value: '内部'},
 | 
			
		||||
				{ label: 2, value: '采购'}
 | 
			
		||||
				{ label: '内部', value: 1},
 | 
			
		||||
				{ label: '采购', value: 2}
 | 
			
		||||
			],
 | 
			
		||||
			supplierList: [],
 | 
			
		||||
			dataRule: {
 | 
			
		||||
@@ -142,13 +143,12 @@ export default {
 | 
			
		||||
		},
 | 
			
		||||
		init(id) {
 | 
			
		||||
			this.dataForm.id = id || '';
 | 
			
		||||
			console.log('1', this.dataForm.id)
 | 
			
		||||
			this.visible = true;
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
				this.$refs['dataForm'].resetFields();
 | 
			
		||||
				if (this.dataForm.id) {
 | 
			
		||||
					getCoreWOMa({
 | 
			
		||||
						id: this.dataForm.id
 | 
			
		||||
					}).then((res) => {
 | 
			
		||||
					getCoreWOMa(this.dataForm.id).then((res) => {
 | 
			
		||||
						this.dataForm = res.data
 | 
			
		||||
					});
 | 
			
		||||
				}
 | 
			
		||||
@@ -162,7 +162,7 @@ export default {
 | 
			
		||||
					if (this.dataForm.id) {
 | 
			
		||||
						updateCoreWOMa({
 | 
			
		||||
							...this.dataForm,
 | 
			
		||||
							workOrderId: this.productId,
 | 
			
		||||
							workOrderId: this.workOrderId,
 | 
			
		||||
						}).then((response) => {
 | 
			
		||||
							this.$modal.msgSuccess('修改成功');
 | 
			
		||||
							this.visible = false;
 | 
			
		||||
@@ -173,7 +173,7 @@ export default {
 | 
			
		||||
					// 添加的提交
 | 
			
		||||
					createCoreWOMa({
 | 
			
		||||
						...this.dataForm,
 | 
			
		||||
						workOrderId: this.productId,
 | 
			
		||||
						workOrderId: this.workOrderId,
 | 
			
		||||
					}).then((response) => {
 | 
			
		||||
						this.$modal.msgSuccess('新增成功');
 | 
			
		||||
						this.visible = false;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										413
									
								
								src/views/base/coreWorkOrder/detail.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										413
									
								
								src/views/base/coreWorkOrder/detail.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,413 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-11-06 17:08:22
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
	<el-drawer
 | 
			
		||||
		:visible.sync="visible"
 | 
			
		||||
		:show-close="false"
 | 
			
		||||
		:wrapper-closable="false"
 | 
			
		||||
		class="drawer"
 | 
			
		||||
		size="50%">
 | 
			
		||||
		<small-title slot="title" :no-padding="true">
 | 
			
		||||
			{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
 | 
			
		||||
		</small-title>
 | 
			
		||||
		<div class="content">
 | 
			
		||||
			<div>
 | 
			
		||||
				<h2>工单编码:{{ dataForm.code }}</h2>
 | 
			
		||||
			</div>
 | 
			
		||||
			<small-title
 | 
			
		||||
					style="margin: 16px 0; padding-left: 8px"
 | 
			
		||||
					:no-padding="true">
 | 
			
		||||
					基本信息
 | 
			
		||||
			</small-title>
 | 
			
		||||
			<div class="formContent">
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">工单名称:{{ dataForm.name }}</el-col>
 | 
			
		||||
					<el-col :span="8">工单来源:{{ dataForm.triggerOrigin === 1 ? 'MES' : dataForm.triggerOrigin === 2 ? 'ERP' : ''}}</el-col>
 | 
			
		||||
					<el-col :span="8">所属订单:
 | 
			
		||||
						<span v-for="(item, index) in orderArray" :key="index" style="margin-right: 10px">{{ item.name }}</span>
 | 
			
		||||
					</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">产品名称:{{ dataForm.productName }}</el-col>
 | 
			
		||||
					<el-col :span="8">规  格:{{ dataForm.specifications }}</el-col>
 | 
			
		||||
					<el-col :span="8">计划生产数量:{{ dataForm.planQuantity }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">预计用时(小时):{{ dataForm.expectedTime }}</el-col>
 | 
			
		||||
					<el-col :span="8">计划投入数量:{{ dataForm.planAssignQuantity }}</el-col>
 | 
			
		||||
					<el-col :span="8">优先级:{{ fitlerP(dataForm.priority) }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">负责人:{{ dataForm.workers }}</el-col>
 | 
			
		||||
					<el-col :span="8">关联产线:{{ dataForm.productLineNames }}</el-col>
 | 
			
		||||
					<el-col :span="8">物料计算方式:{{ dataForm.materialMethod === 1 ? '产品基础' : dataForm.materialMethod === 2 ? '工艺扩展' : '' }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<small-title
 | 
			
		||||
					style="margin: 16px 0; padding-left: 8px"
 | 
			
		||||
					:no-padding="true">
 | 
			
		||||
					生产信息
 | 
			
		||||
			</small-title>
 | 
			
		||||
			<div class="formContent">
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">订单创建时间:
 | 
			
		||||
						<span v-for="(item, index) in orderArray" :key="index" style="margin-right: 10px">{{ item.createTime }}</span>
 | 
			
		||||
					</el-col>
 | 
			
		||||
					<el-col :span="8">计划开始时间:{{ dataForm.planStartTime }}</el-col>
 | 
			
		||||
					<el-col :span="8">计划完成时间:{{ dataForm.planFinishTime }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">预计结束时间:{{ dataForm.computeFinishTime }}</el-col>
 | 
			
		||||
					<el-col :span="8">实际开始时间:{{ dataForm.startProduceTime }}</el-col>
 | 
			
		||||
					<el-col :span="8">实际完成时间:{{ dataForm.finishProduceTime }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">工单状态:{{ fitlerS(dataForm.status) }}</el-col>
 | 
			
		||||
					<el-col :span="8">实际投入数量:{{ dataForm.assignQuantity }}</el-col>
 | 
			
		||||
					<el-col :span="8">实际生产数量:{{ dataForm.actualQuantity }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
				<el-row :gutter="20">
 | 
			
		||||
					<el-col :span="8">废片数量:{{ dataForm.nokQuantity }}</el-col>
 | 
			
		||||
					<el-col :span="8">检测瑕疵数:{{ 0 }}</el-col>
 | 
			
		||||
				</el-row>
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="attr-list">
 | 
			
		||||
				<small-title
 | 
			
		||||
					style="margin: 16px 0; padding-left: 8px"
 | 
			
		||||
					:no-padding="true">
 | 
			
		||||
					订单相关信息
 | 
			
		||||
				</small-title>
 | 
			
		||||
				<base-table
 | 
			
		||||
					:table-props="tableProps"
 | 
			
		||||
					:page="listQuery.pageNo"
 | 
			
		||||
					:limit="listQuery.pageSize"
 | 
			
		||||
					:table-data="orderList">
 | 
			
		||||
					<method-btn
 | 
			
		||||
						v-if="!isdetail"
 | 
			
		||||
						slot="handleBtn"
 | 
			
		||||
						:width="120"
 | 
			
		||||
						label="操作"
 | 
			
		||||
						:method-list="tableBtn"
 | 
			
		||||
						@clickBtn="handleClick" />
 | 
			
		||||
				</base-table>
 | 
			
		||||
				<!-- <pagination
 | 
			
		||||
					v-show="listQuery.total > 0"
 | 
			
		||||
					:total="listQuery.total"
 | 
			
		||||
					:page.sync="listQuery.pageNo"
 | 
			
		||||
					:limit.sync="listQuery.pageSize"
 | 
			
		||||
					:page-sizes="[5, 10, 15]"
 | 
			
		||||
					@pagination="getList" /> -->
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="attr-list">
 | 
			
		||||
				<small-title
 | 
			
		||||
					style="margin: 16px 0; padding-left: 8px"
 | 
			
		||||
					:no-padding="true">
 | 
			
		||||
					预计用料信息
 | 
			
		||||
				</small-title>
 | 
			
		||||
				<base-table
 | 
			
		||||
					:table-props="tableProps1"
 | 
			
		||||
					:page="listQuery1.pageNo"
 | 
			
		||||
					:limit="listQuery1.pageSize"
 | 
			
		||||
					:table-data="materialList" />
 | 
			
		||||
				<!-- <pagination
 | 
			
		||||
					v-show="listQuery1.total > 0"
 | 
			
		||||
					:total="listQuery1.total"
 | 
			
		||||
					:page.sync="listQuery1.pageNo"
 | 
			
		||||
					:limit.sync="listQuery1.pageSize"
 | 
			
		||||
					:page-sizes="[5, 10, 15]"
 | 
			
		||||
					@pagination="getList" /> -->
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="drawer-body__footer">
 | 
			
		||||
				<el-button type="primary" @click="goback()">关闭</el-button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</el-drawer>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
// import basicAdd from '../../core/mixins/basic-add';
 | 
			
		||||
import { getCoreWO, getMaterialBomPage, getConOrderList } from "@/api/base/coreWorkOrder";
 | 
			
		||||
import { orderList } from "@/api/base/orderManage";
 | 
			
		||||
import SmallTitle from './SmallTitle';
 | 
			
		||||
import { publicFormatter } from "@/utils/dict";
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
	{
 | 
			
		||||
		type: 'edit',
 | 
			
		||||
		btnName: '编辑',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		type: 'delete',
 | 
			
		||||
		btnName: '删除',
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
const tableProps = [
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'orderName',
 | 
			
		||||
		label: '订单名称',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'orderCode',
 | 
			
		||||
		label: '订单编码',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'priority',
 | 
			
		||||
		label: '优先级',
 | 
			
		||||
		filter: (val) => ['', '低', '正常', '高'][val]
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'planAssignmentQuantity',
 | 
			
		||||
		label: '计划分配数量',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'actualAssignmentQuantity',
 | 
			
		||||
		label: '实际分配数量',
 | 
			
		||||
	}
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const tableProps1 = [
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'materialName',
 | 
			
		||||
		label: '原料名称'
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'unit',
 | 
			
		||||
		label: '单位',
 | 
			
		||||
		filter: publicFormatter('unit_dict')
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'num',
 | 
			
		||||
		label: '剩余生产预计消耗'
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	components: { SmallTitle },
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			tableBtn,
 | 
			
		||||
			tableProps,
 | 
			
		||||
			tableProps1,
 | 
			
		||||
			addOrUpdateVisible: false,
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
				infoURL: getCoreWO
 | 
			
		||||
			},
 | 
			
		||||
			listQuery: {
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
				total: 0,
 | 
			
		||||
			},
 | 
			
		||||
			listQuery1: {
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
				total: 0,
 | 
			
		||||
			},
 | 
			
		||||
			dataForm: {},
 | 
			
		||||
			orderList: [],
 | 
			
		||||
			materialList: [],
 | 
			
		||||
			orderArray: [],
 | 
			
		||||
			visible: false,
 | 
			
		||||
			isdetail: false,
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	mounted() {},
 | 
			
		||||
	methods: {
 | 
			
		||||
		fitlerP(val) {
 | 
			
		||||
			if (val) {
 | 
			
		||||
				if (val === 1) {
 | 
			
		||||
					return '低'
 | 
			
		||||
				} else if (val ===  2) {
 | 
			
		||||
					return '正常'
 | 
			
		||||
				} else {
 | 
			
		||||
					return '高'
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		fitlerS(val) {
 | 
			
		||||
			if (val) {
 | 
			
		||||
				if (val === 1) {
 | 
			
		||||
					return '等待'
 | 
			
		||||
				} else if (val ===  2) {
 | 
			
		||||
					return '激活'
 | 
			
		||||
				} else if (val ===  3) {
 | 
			
		||||
					return '暂停'
 | 
			
		||||
				} else if (val ===  4) {
 | 
			
		||||
					return '完成'
 | 
			
		||||
				} else {
 | 
			
		||||
					return '作废'
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		initData() {
 | 
			
		||||
			this.orderList.splice(0);
 | 
			
		||||
			this.materialList.splice(0);
 | 
			
		||||
		},
 | 
			
		||||
		handleClick(raw) {
 | 
			
		||||
			if (raw.type === 'delete') {
 | 
			
		||||
				this.$confirm(
 | 
			
		||||
					`确定对${
 | 
			
		||||
						raw.data.attrName
 | 
			
		||||
							? '[名称=' + raw.data.attrName + ']'
 | 
			
		||||
							: '[序号=' + raw.data._pageIndex + ']'
 | 
			
		||||
					}进行删除操作?`,
 | 
			
		||||
					'提示',
 | 
			
		||||
					{
 | 
			
		||||
						confirmButtonText: '确定',
 | 
			
		||||
						cancelButtonText: '取消',
 | 
			
		||||
						type: 'warning',
 | 
			
		||||
					}
 | 
			
		||||
				)
 | 
			
		||||
					.then(() => {
 | 
			
		||||
						deleteCoreProductAttr(raw.data.id).then(({ data }) => {
 | 
			
		||||
							this.$message({
 | 
			
		||||
								message: '操作成功',
 | 
			
		||||
								type: 'success',
 | 
			
		||||
								duration: 1500,
 | 
			
		||||
								onClose: () => {
 | 
			
		||||
									this.getList();
 | 
			
		||||
								},
 | 
			
		||||
							});
 | 
			
		||||
						});
 | 
			
		||||
					})
 | 
			
		||||
					.catch(() => {});
 | 
			
		||||
			} else {
 | 
			
		||||
				this.addNew(raw.data.id);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		getList() {
 | 
			
		||||
			// 获取订单列表
 | 
			
		||||
			getConOrderList({
 | 
			
		||||
				workOrderId: this.dataForm.id,
 | 
			
		||||
			}).then((response) => {
 | 
			
		||||
				this.orderList = response.data;
 | 
			
		||||
				// this.listQuery.total = response.data.total;
 | 
			
		||||
			});
 | 
			
		||||
			// 获取预使用原料列表
 | 
			
		||||
			if (this.dataForm.planProductId) {
 | 
			
		||||
				getMaterialBomPage({
 | 
			
		||||
					productId: this.dataForm.planProductId,
 | 
			
		||||
				}).then((response) => {
 | 
			
		||||
					this.materialList = response.data;
 | 
			
		||||
					// this.listQuery.total = response.data.length;
 | 
			
		||||
				});
 | 
			
		||||
			}
 | 
			
		||||
			// 获取订单相关信息
 | 
			
		||||
			orderList({
 | 
			
		||||
				workOrderId: this.dataForm.id
 | 
			
		||||
			}).then((response) => {
 | 
			
		||||
				this.orderArray = response.data;
 | 
			
		||||
				// this.listQuery.total = response.data.total;
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		init(id, isdetail) {
 | 
			
		||||
			this.initData();
 | 
			
		||||
			this.isdetail = isdetail || false;
 | 
			
		||||
			this.dataForm.id = id || undefined;
 | 
			
		||||
			this.visible = true;
 | 
			
		||||
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
 | 
			
		||||
				if (this.dataForm.id) {
 | 
			
		||||
					// 获取工单详情
 | 
			
		||||
					this.urlOptions.infoURL(id).then(response => {
 | 
			
		||||
            this.dataForm = response.data
 | 
			
		||||
						// 获取订单列表和用料列表
 | 
			
		||||
						this.getList();
 | 
			
		||||
          });
 | 
			
		||||
				} else {
 | 
			
		||||
					if (this.urlOptions.isGetCode) {
 | 
			
		||||
            this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
				}
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		goback() {
 | 
			
		||||
			this.visible = false;
 | 
			
		||||
			this.$emit('refreshDataList');
 | 
			
		||||
			// this.initData();
 | 
			
		||||
		},
 | 
			
		||||
		goEdit() {
 | 
			
		||||
			this.isdetail = false;
 | 
			
		||||
		},
 | 
			
		||||
		// 新增 / 修改
 | 
			
		||||
		addNew(id) {
 | 
			
		||||
			this.addOrUpdateVisible = true;
 | 
			
		||||
			this.$nextTick(() => {
 | 
			
		||||
				this.$refs.addOrUpdate.init(id);
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.drawer >>> .el-drawer {
 | 
			
		||||
	border-radius: 8px 0 0 8px;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-form-item__label {
 | 
			
		||||
	padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-drawer__header {
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	padding: 32px 32px 24px;
 | 
			
		||||
	border-bottom: 1px solid #dcdfe6;
 | 
			
		||||
}
 | 
			
		||||
.drawer >>> .el-drawer__body {
 | 
			
		||||
	flex: 1;
 | 
			
		||||
	height: 1px;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .content {
 | 
			
		||||
	padding: 10px 24px;
 | 
			
		||||
	flex: 1;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
	/* height: 100%; */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .visual-part {
 | 
			
		||||
	flex: 1 auto;
 | 
			
		||||
	max-height: 76vh;
 | 
			
		||||
	overflow: hidden;
 | 
			
		||||
	overflow-y: scroll;
 | 
			
		||||
	padding-right: 10px; /* 调整滚动条样式 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer >>> .el-form,
 | 
			
		||||
.drawer >>> .attr-list {
 | 
			
		||||
	padding: 0 16px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.drawer-body__footer {
 | 
			
		||||
	display: flex;
 | 
			
		||||
	justify-content: flex-end;
 | 
			
		||||
	padding: 18px;
 | 
			
		||||
}
 | 
			
		||||
.formContent {
 | 
			
		||||
	font-size: 16px;
 | 
			
		||||
	line-height: 1.5;
 | 
			
		||||
	margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
.action_btn {
 | 
			
		||||
  float: right;
 | 
			
		||||
  margin: 5px 15px;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
}
 | 
			
		||||
.add {
 | 
			
		||||
	color: #0b58ff;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -34,23 +34,32 @@
 | 
			
		||||
				ref="addOrUpdate"
 | 
			
		||||
				@refreshDataList="refreshWorkOrder"></add-work-order>
 | 
			
		||||
		</base-dialog>
 | 
			
		||||
		<!-- 预使用原料信息 -->
 | 
			
		||||
		<add-or-update
 | 
			
		||||
			v-if="materialVisible"
 | 
			
		||||
			ref="material"
 | 
			
		||||
			@refreshDataList="closeDetail"></add-or-update>
 | 
			
		||||
			<!-- 查看详情 -->
 | 
			
		||||
			<detail
 | 
			
		||||
			v-if="detailVisible"
 | 
			
		||||
			ref="detail"
 | 
			
		||||
			@refreshDataList="closeDetail"></add-or-update>
 | 
			
		||||
			@refreshDataList="closeDetail"></detail>
 | 
			
		||||
	</div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from './add-or-updata';
 | 
			
		||||
import AddWorkOrder from './addWorkOrder'
 | 
			
		||||
import Detail from './detail.vue';
 | 
			
		||||
import basicPage from '../../core/mixins/basic-page';
 | 
			
		||||
import { parseTime } from '../../core/mixins/code-filter';
 | 
			
		||||
import {
 | 
			
		||||
	getCoreWOPage,
 | 
			
		||||
	deleteCoreWO
 | 
			
		||||
	deleteCoreWO,
 | 
			
		||||
	statusChange
 | 
			
		||||
} from '@/api/base/coreWorkOrder';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const tableProps = [
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'createTime',
 | 
			
		||||
@@ -103,7 +112,8 @@ export default {
 | 
			
		||||
	mixins: [basicPage],
 | 
			
		||||
	components: {
 | 
			
		||||
		AddWorkOrder,
 | 
			
		||||
		AddOrUpdate
 | 
			
		||||
		AddOrUpdate,
 | 
			
		||||
		Detail
 | 
			
		||||
	},
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
@@ -112,12 +122,23 @@ export default {
 | 
			
		||||
				deleteURL: deleteCoreWO
 | 
			
		||||
			},
 | 
			
		||||
			detailVisible: false,
 | 
			
		||||
			materialVisible: false,
 | 
			
		||||
			tableProps,
 | 
			
		||||
			tableBtn: [
 | 
			
		||||
				this.$auth.hasPermi(`base:core-work-order:update`)
 | 
			
		||||
					? {
 | 
			
		||||
							type: 'edit',
 | 
			
		||||
							btnName: '编辑',
 | 
			
		||||
							showParam: {
 | 
			
		||||
								type: '&',
 | 
			
		||||
								data: [
 | 
			
		||||
									{
 | 
			
		||||
										name: 'status',
 | 
			
		||||
										type: 'equal',
 | 
			
		||||
										value: 1
 | 
			
		||||
									}
 | 
			
		||||
								]
 | 
			
		||||
							}
 | 
			
		||||
					  }
 | 
			
		||||
					: undefined,
 | 
			
		||||
					this.$auth.hasPermi(`base:core-work-order:material`)
 | 
			
		||||
@@ -136,22 +157,94 @@ export default {
 | 
			
		||||
					? {
 | 
			
		||||
							type: 'delete',
 | 
			
		||||
							btnName: '删除',
 | 
			
		||||
							showParam: {
 | 
			
		||||
								type: '|',
 | 
			
		||||
								data: [
 | 
			
		||||
									{
 | 
			
		||||
										name: 'status',
 | 
			
		||||
										type: 'equal',
 | 
			
		||||
										value: 1
 | 
			
		||||
									}
 | 
			
		||||
								]
 | 
			
		||||
							}
 | 
			
		||||
					  }
 | 
			
		||||
					: undefined,
 | 
			
		||||
					// {
 | 
			
		||||
					// 	type: 'equal',
 | 
			
		||||
					// 	btnName: '开始',
 | 
			
		||||
					// 	showParam: {
 | 
			
		||||
					// 		type: '&',
 | 
			
		||||
					// 		data: [
 | 
			
		||||
					// 			{
 | 
			
		||||
					// 				name: 'status',
 | 
			
		||||
					// 				type: 'equal',
 | 
			
		||||
					// 				value: 1
 | 
			
		||||
					// 			}
 | 
			
		||||
					// 		]
 | 
			
		||||
					// 	}
 | 
			
		||||
					// }
 | 
			
		||||
					{
 | 
			
		||||
						type: 'active',
 | 
			
		||||
						btnName: '激活',
 | 
			
		||||
						showParam: {
 | 
			
		||||
							type: '|',
 | 
			
		||||
							data: [
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 1
 | 
			
		||||
								},
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 3
 | 
			
		||||
								}
 | 
			
		||||
							]
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					{
 | 
			
		||||
						type: 'pause',
 | 
			
		||||
						btnName: '暂停',
 | 
			
		||||
						showParam: {
 | 
			
		||||
							type: '|',
 | 
			
		||||
							data: [
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 2
 | 
			
		||||
								}
 | 
			
		||||
							]
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					{
 | 
			
		||||
						type: 'nullify',
 | 
			
		||||
						btnName: '作废',
 | 
			
		||||
						showParam: {
 | 
			
		||||
							type: '|',
 | 
			
		||||
							data: [
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 3
 | 
			
		||||
								},
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 3
 | 
			
		||||
								},
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 4
 | 
			
		||||
								}
 | 
			
		||||
							]
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					{
 | 
			
		||||
						type: 'finish',
 | 
			
		||||
						btnName: '完成',
 | 
			
		||||
						showParam: {
 | 
			
		||||
							type: '|',
 | 
			
		||||
							data: [
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 2
 | 
			
		||||
								},
 | 
			
		||||
								{
 | 
			
		||||
									name: 'status',
 | 
			
		||||
									type: 'equal',
 | 
			
		||||
									value: 3
 | 
			
		||||
								}
 | 
			
		||||
							]
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
			].filter((v)=>v),
 | 
			
		||||
			tableData: [],
 | 
			
		||||
			formConfig: [
 | 
			
		||||
@@ -217,16 +310,59 @@ export default {
 | 
			
		||||
		},
 | 
			
		||||
		closeDetail() {
 | 
			
		||||
			this.detailVisible = false
 | 
			
		||||
			this.materialVisible = false
 | 
			
		||||
			this.getDataList()
 | 
			
		||||
		},
 | 
			
		||||
		// 其他方法
 | 
			
		||||
		otherMethods(val) {
 | 
			
		||||
			if (val.type === 'material') {
 | 
			
		||||
				this.detailVisible = true;
 | 
			
		||||
				this.materialVisible = true;
 | 
			
		||||
        this.addOrEditTitle = "预使用主原料信息";
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.material.init(val.data, true);
 | 
			
		||||
        });
 | 
			
		||||
			} else if (val.type === 'detail') {
 | 
			
		||||
				this.detailVisible = true;
 | 
			
		||||
        this.addOrEditTitle = "详情";
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.detail.init(val.data.id, true);
 | 
			
		||||
        });
 | 
			
		||||
			} else {
 | 
			
		||||
				const param = {
 | 
			
		||||
					id: val.data.id,
 | 
			
		||||
					status: undefined
 | 
			
		||||
				}
 | 
			
		||||
				if (val.type === 'active') {
 | 
			
		||||
					param.status = 2
 | 
			
		||||
				}
 | 
			
		||||
				if (val.type === 'pause') {
 | 
			
		||||
					param.status = 3
 | 
			
		||||
				}
 | 
			
		||||
				if (val.type === 'nullify') {
 | 
			
		||||
					param.status = 9
 | 
			
		||||
				}
 | 
			
		||||
				if (val.type === 'finish') {
 | 
			
		||||
					param.status = 4
 | 
			
		||||
				}
 | 
			
		||||
				console.log('22',val)
 | 
			
		||||
				this.$confirm(`确定对${'[工单名称=' + val.data.name + ']'}进行${val.type}操作?`, "提示", {
 | 
			
		||||
        confirmButtonText: "确定",
 | 
			
		||||
        cancelButtonText: "取消",
 | 
			
		||||
        type: "warning",
 | 
			
		||||
      })
 | 
			
		||||
        .then(() => {
 | 
			
		||||
					statusChange(param).then(({ data }) => {
 | 
			
		||||
						this.$message({
 | 
			
		||||
							message: '暂停成功!',
 | 
			
		||||
							type: 'success',
 | 
			
		||||
							duration: 1500,
 | 
			
		||||
							onClose: () => {
 | 
			
		||||
								this.getDataList();
 | 
			
		||||
							},
 | 
			
		||||
						});
 | 
			
		||||
					});
 | 
			
		||||
				})
 | 
			
		||||
				.catch(() => { });
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		buttonClick(val) {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-10-27 15:11:02
 | 
			
		||||
 * @LastEditTime: 2023-11-06 19:44:24
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
									v-model="dataForm.type"
 | 
			
		||||
									filterable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择物料类型">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in materialList"
 | 
			
		||||
@@ -83,6 +84,7 @@
 | 
			
		||||
									filterable
 | 
			
		||||
									clearable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择供应商">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in supplierList"
 | 
			
		||||
@@ -100,9 +102,10 @@
 | 
			
		||||
									v-model="dataForm.unit"
 | 
			
		||||
									filterable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择物料单位">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in unitList"
 | 
			
		||||
										v-for="dict in getDictDatas('unit_dict')"
 | 
			
		||||
										:key="dict.value"
 | 
			
		||||
										:label="dict.label"
 | 
			
		||||
										:value="dict.value" />
 | 
			
		||||
@@ -172,6 +175,7 @@ import { listData } from "@/api/system/dict/data";
 | 
			
		||||
import SmallTitle from './SmallTitle';
 | 
			
		||||
import { parseTime } from '../../core/mixins/code-filter';
 | 
			
		||||
import attrAdd from './attr-add';
 | 
			
		||||
import { getDictDatas } from "@/utils/dict";
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
	{
 | 
			
		||||
@@ -265,17 +269,17 @@ export default {
 | 
			
		||||
			const supplierRes = await getSupplierList();
 | 
			
		||||
			this.supplierList = supplierRes.data;
 | 
			
		||||
			// 物料单位列表
 | 
			
		||||
			const unitRes = await listData({
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
        pageSize: 99,
 | 
			
		||||
        dictType: 'goods_unit',
 | 
			
		||||
			});
 | 
			
		||||
			this.unitList = unitRes.data.list.map(item => {
 | 
			
		||||
				return {
 | 
			
		||||
					label: item.label,
 | 
			
		||||
					value: Number(item.value)
 | 
			
		||||
				}
 | 
			
		||||
			});
 | 
			
		||||
			// const unitRes = await listData({
 | 
			
		||||
			// 	pageNo: 1,
 | 
			
		||||
      //   pageSize: 99,
 | 
			
		||||
      //   dictType: 'goods_unit',
 | 
			
		||||
			// });
 | 
			
		||||
			// this.unitList = unitRes.data.list.map(item => {
 | 
			
		||||
			// 	return {
 | 
			
		||||
			// 		label: item.label,
 | 
			
		||||
			// 		value: Number(item.value)
 | 
			
		||||
			// 	}
 | 
			
		||||
			// });
 | 
			
		||||
		},
 | 
			
		||||
		initData() {
 | 
			
		||||
			this.materialAttrList.splice(0);
 | 
			
		||||
@@ -341,6 +345,9 @@ export default {
 | 
			
		||||
					// 获取物料详情
 | 
			
		||||
					this.urlOptions.infoURL(id).then(response => {
 | 
			
		||||
            this.dataForm = response.data;
 | 
			
		||||
						if (this.dataForm.unit) {
 | 
			
		||||
							this.dataForm.unit = String(this.dataForm.unit)
 | 
			
		||||
						}
 | 
			
		||||
          });
 | 
			
		||||
					// 获取物料的属性列表
 | 
			
		||||
					this.getList();
 | 
			
		||||
 
 | 
			
		||||
@@ -58,10 +58,6 @@ const tableProps = [
 | 
			
		||||
		prop: 'engName',
 | 
			
		||||
		label: '英文名称'
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'abbr',
 | 
			
		||||
		label: '缩写'
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'materialType',
 | 
			
		||||
		label: '物料类型'
 | 
			
		||||
@@ -117,13 +113,13 @@ export default {
 | 
			
		||||
			formConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '关键字',
 | 
			
		||||
					label: '物料名称',
 | 
			
		||||
					placeholder: '物料名称',
 | 
			
		||||
					param: 'name',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '关键字',
 | 
			
		||||
					label: '物料编码',
 | 
			
		||||
					placeholder: '物料编码',
 | 
			
		||||
					param: 'code',
 | 
			
		||||
				},
 | 
			
		||||
@@ -228,6 +224,27 @@ export default {
 | 
			
		||||
					console.log(val);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		// 删除
 | 
			
		||||
    deleteHandle(id, name, index) {
 | 
			
		||||
      this.$confirm(`是否删除物料名称为"${name}"的数据项?`, "提示", {
 | 
			
		||||
        confirmButtonText: "确定",
 | 
			
		||||
        cancelButtonText: "取消",
 | 
			
		||||
        type: "warning",
 | 
			
		||||
      })
 | 
			
		||||
        .then(() => {
 | 
			
		||||
          this.urlOptions.deleteURL(id).then(({ data }) => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: "操作成功",
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.getDataList();
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          });
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => { });
 | 
			
		||||
    }
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-10-24 18:34:07
 | 
			
		||||
 * @LastEditTime: 2023-11-06 19:55:59
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -64,7 +64,7 @@ export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
			  isGetCode: true,
 | 
			
		||||
			  isGetCode: false,
 | 
			
		||||
        codeURL: getCode,
 | 
			
		||||
				createURL: createMaterialDate,
 | 
			
		||||
				updateURL: updateMaterialDate,
 | 
			
		||||
@@ -81,8 +81,8 @@ export default {
 | 
			
		||||
			materialList: [],
 | 
			
		||||
			dataRule: {
 | 
			
		||||
				materialId: [{ required: true, message: "物料不能为空", trigger: "blur" }],
 | 
			
		||||
        code: [{ required: true, message: "工厂编码不能为空", trigger: "blur" }],
 | 
			
		||||
        name: [{ required: true, message: "工厂名称不能为空", trigger: "blur" }],
 | 
			
		||||
        code: [{ required: true, message: "批次号不能为空", trigger: "blur" }],
 | 
			
		||||
        name: [{ required: true, message: "批次名称不能为空", trigger: "blur" }],
 | 
			
		||||
      }
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
 
 | 
			
		||||
@@ -164,6 +164,27 @@ export default {
 | 
			
		||||
					console.log(val);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		// 删除
 | 
			
		||||
    deleteHandle(id, name, index) {
 | 
			
		||||
      this.$confirm(`是否删除物料批次名称为"${name}"的数据项?`, "提示", {
 | 
			
		||||
        confirmButtonText: "确定",
 | 
			
		||||
        cancelButtonText: "取消",
 | 
			
		||||
        type: "warning",
 | 
			
		||||
      })
 | 
			
		||||
        .then(() => {
 | 
			
		||||
          this.urlOptions.deleteURL(id).then(({ data }) => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: "操作成功",
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.getDataList();
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          });
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => { });
 | 
			
		||||
    }
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-10-27 16:06:44
 | 
			
		||||
 * @LastEditTime: 2023-11-06 20:04:03
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -30,7 +30,9 @@
 | 
			
		||||
								<el-select
 | 
			
		||||
									v-model="dataForm.productId"
 | 
			
		||||
									filterable
 | 
			
		||||
									clearable
 | 
			
		||||
									:disabled="isdetail"
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									placeholder="请选择产品">
 | 
			
		||||
									<el-option
 | 
			
		||||
										v-for="dict in productList"
 | 
			
		||||
@@ -88,6 +90,7 @@
 | 
			
		||||
							<el-select
 | 
			
		||||
									v-model="scope.row.materialId"
 | 
			
		||||
									filterable
 | 
			
		||||
									clearable
 | 
			
		||||
									:disabled="!scope.row.isEdit"
 | 
			
		||||
									placeholder="请选择物料"
 | 
			
		||||
									@change="setCode(scope.row)">
 | 
			
		||||
@@ -125,7 +128,7 @@
 | 
			
		||||
									<!-- <span>{{ item.btnName | i18nFilter }}</span> -->
 | 
			
		||||
								</el-button>
 | 
			
		||||
							</el-tooltip>
 | 
			
		||||
							<el-button v-else type="primary" size="small" @click="saveData(scope.row)">保存</el-button>
 | 
			
		||||
							<el-button v-else type="text" size="small" @click="saveData(scope.row)">保存</el-button>
 | 
			
		||||
							<el-tooltip placement="top" content="删除">
 | 
			
		||||
								<el-button
 | 
			
		||||
									type="text"
 | 
			
		||||
@@ -256,7 +259,7 @@ export default {
 | 
			
		||||
			const unitRes = await listData({
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
        pageSize: 99,
 | 
			
		||||
        dictType: 'goods_unit',
 | 
			
		||||
        dictType: 'unit_dict',
 | 
			
		||||
			});
 | 
			
		||||
			this.unitList = unitRes.data.list.map(item => {
 | 
			
		||||
				return {
 | 
			
		||||
@@ -295,17 +298,17 @@ export default {
 | 
			
		||||
				.catch(() => {});
 | 
			
		||||
		},
 | 
			
		||||
		setCode(row) {
 | 
			
		||||
			this.materialList.filter(item => {
 | 
			
		||||
			const tempM = this.materialList.filter(item => {
 | 
			
		||||
				if (row.materialId === item.id) {
 | 
			
		||||
					row.materialCode = item.code
 | 
			
		||||
				}
 | 
			
		||||
				this.unitList.filter(u => {
 | 
			
		||||
					if (item.unit === u.value) {
 | 
			
		||||
						row.unit = u.value
 | 
			
		||||
						row.mUnit = u.label
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
				// return row.materialId === item.id
 | 
			
		||||
				return row.materialId === item.id
 | 
			
		||||
			})
 | 
			
		||||
			this.unitList.filter(u => {
 | 
			
		||||
				if (tempM[0].unit === u.value) {
 | 
			
		||||
					row.unit = u.value
 | 
			
		||||
					row.mUnit = u.label
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
			// row.materialCode = tempList[0].code
 | 
			
		||||
			// row.unit = tempList[0].unit
 | 
			
		||||
@@ -343,8 +346,7 @@ export default {
 | 
			
		||||
			// 获取产品Bom详细列表
 | 
			
		||||
			getProBomList({
 | 
			
		||||
				...this.listQuery,
 | 
			
		||||
				bomId: this.dataForm.id,
 | 
			
		||||
				createTime: ['2023-10-26 00:00:00', '2023-10-27 12:00:00']
 | 
			
		||||
				bomId: this.dataForm.id
 | 
			
		||||
			}).then((response) => {
 | 
			
		||||
				this.tableData = response.data.records.map(item => {
 | 
			
		||||
					this.unitList.filter(u => {
 | 
			
		||||
@@ -450,7 +452,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
.drawer >>> .visual-part {
 | 
			
		||||
	flex: 1 auto;
 | 
			
		||||
	max-height: 76vh;
 | 
			
		||||
	max-height: 30vh;
 | 
			
		||||
	overflow: hidden;
 | 
			
		||||
	overflow-y: scroll;
 | 
			
		||||
	padding-right: 10px; /* 调整滚动条样式 */
 | 
			
		||||
 
 | 
			
		||||
@@ -97,16 +97,10 @@ export default {
 | 
			
		||||
			formConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '关键字',
 | 
			
		||||
					placeholder: '物料名称',
 | 
			
		||||
					label: '产品名称',
 | 
			
		||||
					placeholder: '产品名称',
 | 
			
		||||
					param: 'name',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'input',
 | 
			
		||||
					label: '关键字',
 | 
			
		||||
					placeholder: '物料编码',
 | 
			
		||||
					param: 'code',
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'button',
 | 
			
		||||
					btnName: '查询',
 | 
			
		||||
@@ -158,7 +152,6 @@ export default {
 | 
			
		||||
					this.listQuery.pageNo = 1;
 | 
			
		||||
					this.listQuery.pageSize = 10;
 | 
			
		||||
					this.listQuery.name = val.name ? val.name : undefined;
 | 
			
		||||
					this.listQuery.code = val.code ? val.code : undefined;
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'reset':
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-11-18 14:16:25
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-10-26 09:43:51
 | 
			
		||||
 * @LastEditTime: 2023-11-06 19:27:57
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -164,7 +164,7 @@ export default {
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					id: 2,
 | 
			
		||||
					name: '自动'
 | 
			
		||||
					name: 'PDA'
 | 
			
		||||
				}
 | 
			
		||||
			],
 | 
			
		||||
			materialList: [],
 | 
			
		||||
@@ -187,7 +187,6 @@ export default {
 | 
			
		||||
		async getDictData() {
 | 
			
		||||
			const materRes = await getMaterialList()
 | 
			
		||||
			this.materialList = materRes.data
 | 
			
		||||
			console.log('你好', this.materialList)
 | 
			
		||||
			const dateRes = await getMaterDateList()
 | 
			
		||||
			this.materialDateList = dateRes.data
 | 
			
		||||
			const eqRes = await getEqListAll()
 | 
			
		||||
@@ -252,6 +251,9 @@ export default {
 | 
			
		||||
				return item.id === this.dataForm.materialId
 | 
			
		||||
			})
 | 
			
		||||
			this.dataForm.materialCode = tempMaterial[0].code
 | 
			
		||||
			getMaterDateList({materialId: this.dataForm.materialId}).then(res =>{
 | 
			
		||||
				this.materialDateList = res.data
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ const tableProps = [
 | 
			
		||||
		label: '物料编码'
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		prop: 'materialDateId',
 | 
			
		||||
		prop: 'materialDateName',
 | 
			
		||||
		label: '物料批次'
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
@@ -183,7 +183,6 @@ export default {
 | 
			
		||||
					} else {
 | 
			
		||||
						this.listQuery.useTime = []
 | 
			
		||||
					}
 | 
			
		||||
					console.log('222', this.listQuery, val.time)
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'reset':
 | 
			
		||||
@@ -207,6 +206,22 @@ export default {
 | 
			
		||||
					console.log(val);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		//tableBtn点击
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "edit") {
 | 
			
		||||
        this.addOrUpdateVisible = true;
 | 
			
		||||
        this.addOrEditTitle = "编辑";
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        });
 | 
			
		||||
      } else if (val.type === "delete") {
 | 
			
		||||
        this.deleteHandle(val.data.id, val.data.materialName, val.data._pageIndex)
 | 
			
		||||
      } else if (val.type === "change") {
 | 
			
		||||
        this.changeStatus(val.data.id)
 | 
			
		||||
      } else {
 | 
			
		||||
        this.otherMethods(val)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
// import basicPage from '../../mixins/basic-page';
 | 
			
		||||
import { parseTime } from '../../mixins/code-filter';
 | 
			
		||||
import { getYieldAnalysisPageData } from '@/api/core/analysis/index';
 | 
			
		||||
import { getProductionLinePage } from '@/api/core/base/productionLine';
 | 
			
		||||
// import { getProductionLinePage } from '@/api/core/base/productionLine';
 | 
			
		||||
import lineChart from '../LineChart'
 | 
			
		||||
// import { getWorkshopSectionPage } from '@/api/core/base/workshopSection';
 | 
			
		||||
 | 
			
		||||
@@ -58,21 +58,20 @@ export default {
 | 
			
		||||
      dataListLoading:false,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        lineIds: [],
 | 
			
		||||
        time: ''
 | 
			
		||||
        // lineIds: [],
 | 
			
		||||
        recordTime: []
 | 
			
		||||
      },
 | 
			
		||||
      dateLabelList: [],
 | 
			
		||||
      optionArrUrl: [getProductionLinePage ],
 | 
			
		||||
			formConfig: [
 | 
			
		||||
				{
 | 
			
		||||
					type: 'select',
 | 
			
		||||
					label: '产线',
 | 
			
		||||
					selectOptions: [],
 | 
			
		||||
          param: 'lineIds',
 | 
			
		||||
          defaultSelect: '',
 | 
			
		||||
          multiple:true,
 | 
			
		||||
					filterable: true,
 | 
			
		||||
				},
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: 'select',
 | 
			
		||||
				// 	label: '产线',
 | 
			
		||||
				// 	selectOptions: [],
 | 
			
		||||
        //   param: 'lineIds',
 | 
			
		||||
        //   defaultSelect: '',
 | 
			
		||||
        //   multiple:true,
 | 
			
		||||
				// 	filterable: true,
 | 
			
		||||
				// },
 | 
			
		||||
				{
 | 
			
		||||
					type: 'datePicker',
 | 
			
		||||
					label: '时间',
 | 
			
		||||
@@ -94,22 +93,22 @@ export default {
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
		this.getArr();
 | 
			
		||||
		// this.getArr();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		getArr() {
 | 
			
		||||
			const params = {
 | 
			
		||||
				page: 1,
 | 
			
		||||
				limit: 500,
 | 
			
		||||
			};
 | 
			
		||||
			this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
				item(params).then((response) => {
 | 
			
		||||
					this.formConfig[index].selectOptions = response.data.list
 | 
			
		||||
          // this.formConfig[0].defaultSelect = response.data.list[0].id
 | 
			
		||||
          this.$set(this.formConfig[0], 'defaultSelect', response.data.list[0].id)
 | 
			
		||||
				});
 | 
			
		||||
			});
 | 
			
		||||
    },
 | 
			
		||||
		// getArr() {
 | 
			
		||||
		// 	const params = {
 | 
			
		||||
		// 		page: 1,
 | 
			
		||||
		// 		limit: 500,
 | 
			
		||||
		// 	};
 | 
			
		||||
		// 	this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
		// 		item(params).then((response) => {
 | 
			
		||||
		// 			this.formConfig[index].selectOptions = response.data.list
 | 
			
		||||
    //       // this.formConfig[0].defaultSelect = response.data.list[0].id
 | 
			
		||||
    //       this.$set(this.formConfig[0], 'defaultSelect', response.data.list[0].id)
 | 
			
		||||
		// 		});
 | 
			
		||||
		// 	});
 | 
			
		||||
    // },
 | 
			
		||||
    getData() {
 | 
			
		||||
      // this.listQuery.lineIds = ['1672847052717821953']
 | 
			
		||||
      // this.listQuery.productId = val.productId;
 | 
			
		||||
@@ -230,12 +229,26 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
			switch (val.btnName) {
 | 
			
		||||
        case 'search':
 | 
			
		||||
          this.listQuery.lineIds = val.lineIds ? val.lineIds :undefined
 | 
			
		||||
          // this.listQuery.productId = val.productId;
 | 
			
		||||
          this.listQuery.time = val.time ? new Date(val.time).getTime() : undefined
 | 
			
		||||
					// this.listQuery.pageNo = 1;
 | 
			
		||||
          // this.listQuery.pageSize = 10;
 | 
			
		||||
          // this.listQuery.recordTime = val.time ? new Date(val.time).getTime() : undefined
 | 
			
		||||
          if (val.time) {
 | 
			
		||||
            const tempTtime = new Date(val.time)
 | 
			
		||||
            let day = 0
 | 
			
		||||
            switch (tempTtime.getMonth() + 1) {
 | 
			
		||||
              case 1, 3, 5, 7, 8, 10, 12:
 | 
			
		||||
                day = 31;
 | 
			
		||||
                break;
 | 
			
		||||
              case 2:
 | 
			
		||||
                day = 28;
 | 
			
		||||
                break;
 | 
			
		||||
              case 4, 6, 9, 11:
 | 
			
		||||
                day = 30;
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
            console.log(parseTime(new Date(tempTtime.getFullYear(), 11, 31, 23, 59, 59)))
 | 
			
		||||
            this.listQuery.recordTime = [
 | 
			
		||||
              val.time,
 | 
			
		||||
              parseTime(new Date(tempTtime.getFullYear(), tempTtime.getMonth(), day, 23, 59, 59))
 | 
			
		||||
            ]
 | 
			
		||||
            this.getData()
 | 
			
		||||
          } else {
 | 
			
		||||
            this.$message({
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
    filename: index.vue
 | 
			
		||||
    author: liubin
 | 
			
		||||
    date: 2023-08-04 14:44:58
 | 
			
		||||
    description: 设备24小时生产记录
 | 
			
		||||
    description: 近24小时产线生产数据
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
	<div class="app-container">
 | 
			
		||||
@@ -24,6 +24,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { getPdlDataOneDay } from '@/api/core/monitoring/data24'
 | 
			
		||||
import { parseTime } from '../../mixins/code-filter';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	name: 'productionLineData24',
 | 
			
		||||
@@ -54,28 +55,32 @@ export default {
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		/** 构建tableProps - 依据第一个元素所提供的信息 */
 | 
			
		||||
		buildProps(plData) {
 | 
			
		||||
			plData.forEach(item => {
 | 
			
		||||
				this.timeList.push(item.name)
 | 
			
		||||
			})
 | 
			
		||||
			const timeArray = Array.from(new Set(this.timeList))
 | 
			
		||||
			console.log('nihc', timeArray)
 | 
			
		||||
			for (const times of timeArray) {
 | 
			
		||||
				if (times !== '投入数量' && times !== '产出数量' && times !== '报废数量' && times !== '产出面积') {
 | 
			
		||||
					const subprop = {
 | 
			
		||||
						label: times.slice(0, 10) + ' ' + times.slice(11),
 | 
			
		||||
						align: 'center',
 | 
			
		||||
						children: [
 | 
			
		||||
							{ prop: times + '_in', label: '投入数量' },
 | 
			
		||||
							{ prop: times + '_out', label: '产出数量' },
 | 
			
		||||
							{ prop: times + '_junk', label: '报废数量' },
 | 
			
		||||
							{ prop: times + '_area', label: '产出面积' }
 | 
			
		||||
						]
 | 
			
		||||
					}
 | 
			
		||||
					this.arr.push(subprop)
 | 
			
		||||
		buildProps() {
 | 
			
		||||
			// 获取当前时间
 | 
			
		||||
			var currentTime = new Date();
 | 
			
		||||
			let timeArr = []
 | 
			
		||||
 | 
			
		||||
			// 添加24小时内的整点时间--时间戳格式
 | 
			
		||||
			for (let i = 0; i < 24; i ++) {
 | 
			
		||||
				timeArr.unshift(new Date(currentTime.getFullYear(), currentTime.getMonth(), currentTime.getDate(), currentTime.getHours() - i, 0, 0).getTime())
 | 
			
		||||
			}
 | 
			
		||||
			console.log("24小时内的开始时间:" + timeArr, timeArr.length);
 | 
			
		||||
			for(const times of timeArr) {
 | 
			
		||||
				const subprop = {
 | 
			
		||||
					label: parseTime(times),
 | 
			
		||||
					align: 'center',
 | 
			
		||||
					children: [
 | 
			
		||||
						{ prop: times + '_up', label: '上片数据' },
 | 
			
		||||
						{ prop: times + '_down', label: '下片数据' },
 | 
			
		||||
						{ prop: times + '_good', label: '良品面积' },
 | 
			
		||||
						{ prop: times + '_bad', label: '报废数据' },
 | 
			
		||||
						{ prop: times + '_percent', label: '报废比例(%)' }
 | 
			
		||||
					]
 | 
			
		||||
				}
 | 
			
		||||
				this.arr.push(subprop)
 | 
			
		||||
			}
 | 
			
		||||
			this.tableProps = this.arr
 | 
			
		||||
			console.log('111', this.tableProps)
 | 
			
		||||
		},
 | 
			
		||||
		setRowSpan(arr) {
 | 
			
		||||
      let count = 0
 | 
			
		||||
@@ -101,20 +106,11 @@ export default {
 | 
			
		||||
			console.log('打印看下数据list', list)
 | 
			
		||||
			list.forEach((ele, index) => {
 | 
			
		||||
				let tempData = []
 | 
			
		||||
				ele.data.forEach(item => {
 | 
			
		||||
					item.children.forEach(params => {
 | 
			
		||||
						if (params.dynamicName === '投入数量') {
 | 
			
		||||
							tempData[item.dynamicName + '_in'] = params.dynamicValue
 | 
			
		||||
						} else if (params.dynamicName === '产出数量') {
 | 
			
		||||
							tempData[item.dynamicName + '_out'] = params.dynamicValue
 | 
			
		||||
						} else if (params.dynamicName === '报废数量') {
 | 
			
		||||
							tempData[item.dynamicName + '_junk'] = params.dynamicValue
 | 
			
		||||
						} else {
 | 
			
		||||
							tempData[item.dynamicName + '_area'] = params.dynamicValue
 | 
			
		||||
						}
 | 
			
		||||
					})
 | 
			
		||||
				})
 | 
			
		||||
				tempData['proLineName'] = ele.proLineName
 | 
			
		||||
				tempData[ele.recordTime + '_up'] = ele.inputNum
 | 
			
		||||
				tempData[ele.recordTime + '_down'] = ele.outputNum
 | 
			
		||||
				tempData[ele.recordTime + '_up'] = ele.inputNum
 | 
			
		||||
				tempData['proLineName'] = ele.lineName
 | 
			
		||||
				tempData['workOrderName'] = ele.workOrderName
 | 
			
		||||
				tempData['spec'] = ele.spec
 | 
			
		||||
				this.tableData.push(tempData)
 | 
			
		||||
				console.log('看看数据', this.tableData, tempData)
 | 
			
		||||
@@ -151,17 +147,23 @@ export default {
 | 
			
		||||
            prop: 'proLineName',
 | 
			
		||||
            label: '生产线',
 | 
			
		||||
						fixed: 'left',
 | 
			
		||||
						showOverflowTooltip: true
 | 
			
		||||
						'show-overflow-tooltip': true
 | 
			
		||||
          },
 | 
			
		||||
					{
 | 
			
		||||
            prop: 'workOrderName',
 | 
			
		||||
            label: '当前工单',
 | 
			
		||||
						fixed: 'left',
 | 
			
		||||
						'show-overflow-tooltip': true
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'spec',
 | 
			
		||||
            label: '产品规格',
 | 
			
		||||
						fixed: 'left',
 | 
			
		||||
						showOverflowTooltip: true
 | 
			
		||||
						'show-overflow-tooltip': true
 | 
			
		||||
          }
 | 
			
		||||
				]
 | 
			
		||||
				this.buildProps(res.data.nameData);
 | 
			
		||||
				this.buildData(res.data.data);
 | 
			
		||||
				this.buildProps();
 | 
			
		||||
				this.buildData(res.data);
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
			// // const data = this.res.data;
 | 
			
		||||
 
 | 
			
		||||
@@ -288,9 +288,13 @@ export default {
 | 
			
		||||
			this.open = true;
 | 
			
		||||
			this.title = '添加保养计划';
 | 
			
		||||
		},
 | 
			
		||||
        handleDetail(id){
 | 
			
		||||
            alert('跳转到 保养记录')
 | 
			
		||||
        },
 | 
			
		||||
		handleDetail(id){
 | 
			
		||||
				// alert('跳转到 保养记录')
 | 
			
		||||
				this.$router.push({
 | 
			
		||||
					name: 'Record',
 | 
			
		||||
					// params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
 | 
			
		||||
				})
 | 
			
		||||
		},
 | 
			
		||||
		/** 修改按钮操作 */
 | 
			
		||||
		handleUpdate(row) {
 | 
			
		||||
			this.reset();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user