yangys
2025-09-19 422edd1fa40ac1f6f00c6d8c4aa97bfe58c81625
增加现场编制查询列表
已添加1个文件
已修改1个文件
166 ■■■■■ 文件已修改
src/api/dataex/programonmachine.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataex/programonmachineimp.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/dataex/programonmachine.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 * @Date: 2025-06-12 22:38:05
 * @LastEditors: gaoshp
 * @LastEditTime: 2025-06-20 08:32:12
 * @FilePath: /mdmweb/src/api/tasks/machinereturnfileop.js
 */
import request from '@/axios';
export const getList = (current, size, params) => {
  return request({
    url: '/blade-mdm/program/mdmimport/program-on-machine-page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    },
  })
};
src/views/dataex/programonmachineimp.vue
@@ -8,14 +8,23 @@
-->
<template>
  <basic-container>
    <avue-form ref="form" :option="formOption" v-model="form" :upload-after="uploadAfter">
    </avue-form>
    <avue-crud :option="option" :table-loading="loading" :data="tableData" :query="query" v-model:page="page" v-model="form" ref="crud"
            @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
            @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template #menu-left>
                <el-button type="primary" size="default" icon="el-icon-circle-plus" @click="importData">导入</el-button>
            </template>
        </avue-crud>
        <el-dialog title="导入现场编制记录" append-to-body v-model="excelBox" width="305px">
          <avue-form :option="formOption" v-model="form" :upload-after="uploadAfter">
          </avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
import { getList } from '@/api/dataex/programonmachine.js';
export default {
  watch: {
   
@@ -23,14 +32,83 @@
  data() {
    return {
      form: {},
      query:{},
      loading:false,
      tableData:[],
      excelBox: false,
      page: {
          pageSize: 10,
          currentPage: 1,
          total: 0,
      },
      
      option: {
        addBtn: false,
        editBtn: false,
        delBtn: false,
        columnBtn: false,
        tip: false,
        // simplePage: true,
        searchShow: true,
        searchMenuSpan: 6,
        dialogWidth: '60%',
        // tree: true,
        border: true,
        index: true,
        //selection: true,
        // viewBtn: true,
        menuWidth: 100,
        menu: false,
        dialogClickModal: false,
        column: [
            {
                label: '零组件号',
                prop: 'drawingNo',
                search:true,
                searchType:'input'
            },
            {
                label: '工序号',
                prop: 'processNo'
            },
            {
                label: '工序版次',
                prop: 'processEdition'
            },
            {
                label: '临时更改单',
                prop: 'deviation'
            },
            {
                label: '机床编号',
                prop: 'machineCode',
            },
            {
                label: '导入时间',
                prop: 'createTime',
                type: 'datetime',
                format: 'YYYY-MM-DD HH:mm:ss',
            },
            {
                label: '导入时间',
                prop: 'createTime',
                type: 'date',
                format: 'YYYY-MM-DD',
                valueFormat: 'YYYY-MM-DD',
                search: true,
                searchRange: true,
                hide: true,
            },
          ],
      },
      formOption: {
        labelWidth: 160,
        submitBtn: false,
        emptyBtn: false,
        tip: false,
        column: [
          {
            label: '上传现场编制记录',
            prop: 'file',
@@ -45,14 +123,74 @@
    };
  },
  methods: {
    importData() {
      this.excelBox = true;
    },
   uploadAfter(res, done, loading, column) {
      if(res.data>0){
        this.$message.success("成功导入"+res.data+"条记录")
      }else{
        this.$message.warning("文件数据为空")
      }
      this.onLoad(this.page,{});
      done();
    },
    searchChange(params, done) {
        let data = {}
        this.query = params;
        this.page.currentPage = 1;
        params.createTimeBegin = params?.createTime?.[0] || '';
        params.createTimeEnd = params?.createTime?.[1] || '';
        data = {
            createTimeBegin: params.createTimeBegin,
            createTimeEnd: params.createTimeEnd,
            drawingNo: params.drawingNo,
        }
        this.query = data;
         this.onLoad(this.page, data);
        done();
      },
      searchReset() {
          let data = {}
          this.onLoad(this.page, data);
          done();
      },
      currentChange(currentPage) {
          this.page.currentPage = currentPage;
          // this.onLoad();
      },
      sizeChange(pageSize) {
          this.page.pageSize = pageSize;
      },
      refreshChange() {
          this.onLoad(this.page, this.query);
      },
      /** * é¡µé¢åŠ è½½æ—¶èŽ·å–æ•°æ®
       */
      onLoad(page, params = {}) {
          console.log('onLoad', this.query,this.form);
          const query = {
              ...this.query,
          };
          this.loading = true;
          getList(page.currentPage, page.pageSize, Object.assign(query, params)).then(res => {
              const data = res.data.data;
              this.page.total = data.total;
              this.tableData = data.records;
              this.loading = false;
          }, () => {
              this.tableData = [];
              this.loading = false;
          }).catch(err => {
              this.data = [];
              this.loading = false;
          });
      }
  },
  mounted() {