春风项目四线(合箱线、总装线)
cl
2024-01-18 d18622be3bf4c48e9cf17bc4d3254245438ed272
jcdm-ui/src/views/main/bs/orderScheduling/index.vue
@@ -2,18 +2,10 @@
  <div class="app-container">
    <el-card class="box-card">
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
          <el-form-item label="订单编号" prop="orderNumber">
          <el-form-item label="订单编号" prop="orderNo">
            <el-input
              v-model="queryParams.orderNumber"
              v-model="queryParams.orderNo"
              placeholder="请输入订单编号"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="发动机号" prop="engineNo">
            <el-input
              v-model="queryParams.engineNo"
              placeholder="请输入发动机号"
              clearable
              @keyup.enter.native="handleQuery"
            />
@@ -26,59 +18,85 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="工时" prop="workingHours">
            <el-input
              v-model="queryParams.workingHours"
              placeholder="请输入工时"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="当前工位" prop="currentWorkstation">
            <el-input
              v-model="queryParams.currentWorkstation"
              placeholder="请输入当前工位"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="是否打印" prop="whetherOrPrint">
            <el-input
              v-model="queryParams.whetherOrPrint"
              placeholder="请输入是否打印"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="10报工" prop="report10">
            <el-input
              v-model="queryParams.report10"
              placeholder="请输入10报工"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="20报工" prop="report20">
            <el-input
              v-model="queryParams.report20"
              placeholder="请输入20报工"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="操作人" prop="operator">
            <el-input
              v-model="queryParams.operator"
              placeholder="请输入操作人"
              clearable
              @keyup.enter.native="handleQuery"
            />
          <el-form-item label="生产状态" prop="productionStatus">
            <el-select v-model="queryParams.productionStatus" placeholder="请选择工单状态" clearable>
              <el-option
                v-for="dict in dict.type.order_scheduling_produce_status"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"/>
            </el-select>
          </el-form-item>
          <el-form-item style="float: right">
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-form>
      <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
        <el-form-item label="发动机号" prop="engineNo">
          <el-input
            v-model="queryParams.engineNo"
            placeholder="请输入发动机号"
            clearable
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="质量状态" prop="qualityStatus">
          <el-select v-model="queryParams.qualityStatus" placeholder="请选择质量状态" clearable>
            <el-option
              v-for="dict in dict.type.quality_status"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"/>
          </el-select>
        </el-form-item>
        <el-form-item label="是否打印" prop="whetherOrPrint">
          <el-select v-model="queryParams.whetherOrPrint" placeholder="请选择是否打印" clearable>
            <el-option
              v-for="dict in dict.type.print_status"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"/>
          </el-select>
        </el-form-item>
        <el-form-item label="合箱报工" prop="report10">
          <el-input
            v-model="queryParams.report10"
            placeholder="请输入合箱报工"
            clearable
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="总装报工" prop="report20">
          <el-input
            v-model="queryParams.report20"
            placeholder="请输入总装报工"
            clearable
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="CVT报工" prop="report30">
          <el-input
            v-model="queryParams.report30"
            placeholder="请输入CVT报工"
            clearable
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="操作时间" prop="operateTime">
          <el-date-picker
            v-model="queryParams.dateConditions"
            type="datetimerange"
            :picker-options="pickerOptions"
            value-format="yyyy-MM-dd HH:mm:ss"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            align="right">
          </el-date-picker>
        </el-form-item>
      </el-form>
    </el-card>
    <el-card style="margin-top: 10px" class="box-card">
@@ -130,44 +148,86 @@
        <el-table border v-loading="loading" :data="orderSchedulingList" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="55" align="center" />
          <el-table-column label="订单编号" align="center" prop="orderNumber">
          <el-table-column label="生产订单" align="center" prop="orderNo" width="130">
          </el-table-column>
          <el-table-column label="发动机号" align="center" prop="engineNo">
          <el-table-column label="发动机号" align="center" prop="engineNo" width="150">
          </el-table-column>
          <el-table-column label="产品类型" align="center" prop="productType">
<!--            <template slot-scope="scope">-->
<!--              <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.productType"/>-->
<!--            </template>-->
            <template slot-scope="scope">
              <dict-tag :options="dict.type.material_type" :value="scope.row.productType"/>
            </template>
          </el-table-column>
          <el-table-column label="机型" align="center" prop="model">
          </el-table-column>
          <el-table-column label="生产状态" align="center" prop="productionStatus">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/>
            </template>
          </el-table-column>
          <el-table-column label="工时" align="center" prop="workingHours">
          </el-table-column>
          <el-table-column label="当前工位" align="center" prop="currentWorkstation">
          </el-table-column>
          <el-table-column label="质量状态" align="center" prop="qualityStatus">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.quality_status" :value="scope.row.qualityStatus"/>
            </template>
          </el-table-column>
          <el-table-column label="是否打印" align="center" prop="whetherOrPrint">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/>
            </template>
          </el-table-column>
          <el-table-column label="10报工" align="center" prop="report10">
          </el-table-column>
          <el-table-column label="20报工" align="center" prop="report20">
          <el-table-column label="合箱报工" align="center" prop="report10">
          </el-table-column>
          <el-table-column label="合箱上线" align="center" prop="combinedBoxLaunch">
          <el-table-column label="总装报工" align="center" prop="report20">
          </el-table-column>
          <el-table-column label="总装下线" align="center" prop="finalAssemblyOffline">
          <el-table-column label="CVT报工" align="center" prop="report30">
          </el-table-column>
          <el-table-column label="合箱上线" align="center" prop="combinedBoxTime">
          </el-table-column>
          <el-table-column label="总装下线" align="center" prop="finalAssemblyTime">
          </el-table-column>
          <el-table-column label="操作人" align="center" prop="operator">
          </el-table-column>
          <el-table-column label="操作时间" align="center" prop="operateTime">
          <el-table-column label="操作时间" align="center" prop="operateTime" width="160">
          </el-table-column>
<!--          <el-table-column label="状态" align="center" prop="status">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="预留字段1" align="center" prop="spareField1">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="预留字段2" align="center" prop="spareField2">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="预留字段3" align="center" prop="spareField3">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="预留字段4" align="center" prop="spareField4">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="创建用户" align="center" prop="createUser">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="更改用户" align="center" prop="updateUser">-->
<!--          </el-table-column>-->
<!--          <el-table-column label="备注" align="center" prop="remarks">-->
<!--          </el-table-column>-->
          <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope">
              <el-button
@@ -208,14 +268,33 @@
        {{titleName}}
      </span>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="订单编号" prop="orderNumber">
          <el-input v-model="form.orderNumber" placeholder="请输入订单编号" />
        <el-form-item label="订单编号" prop="orderNo">
          <el-input v-model="form.orderNo" placeholder="请输入订单编号" />
        </el-form-item>
        <el-form-item label="发动机号" prop="engineNo">
          <el-input v-model="form.engineNo" placeholder="请输入发动机号" />
        </el-form-item>
        <el-form-item label="产品类型" prop="productType">
          <el-select v-model="form.productType" placeholder="请选择产品类型">
<!--            <el-option-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.label"-->
<!--              :value="dict.value"-->
<!--            ></el-option>-->
          </el-select>
        </el-form-item>
        <el-form-item label="机型" prop="model">
          <el-input v-model="form.model" placeholder="请输入机型" />
        </el-form-item>
        <el-form-item label="生产状态" prop="productionStatus">
          <el-radio-group v-model="form.productionStatus">
<!--            <el-radio-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.value"-->
<!--            >{{dict.label}}</el-radio>-->
          </el-radio-group>
        </el-form-item>
        <el-form-item label="工时" prop="workingHours">
          <el-input v-model="form.workingHours" placeholder="请输入工时" />
@@ -223,18 +302,60 @@
        <el-form-item label="当前工位" prop="currentWorkstation">
          <el-input v-model="form.currentWorkstation" placeholder="请输入当前工位" />
        </el-form-item>
        <el-form-item label="质量状态" prop="qualityStatus">
          <el-radio-group v-model="form.qualityStatus">
<!--            <el-radio-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.value"-->
<!--            >{{dict.label}}</el-radio>-->
          </el-radio-group>
        </el-form-item>
        <el-form-item label="是否打印" prop="whetherOrPrint">
          <el-input v-model="form.whetherOrPrint" placeholder="请输入是否打印" />
        </el-form-item>
        <el-form-item label="10报工" prop="report10">
          <el-input v-model="form.report10" placeholder="请输入10报工" />
        <el-form-item label="合箱报工" prop="report10">
          <el-input v-model="form.report10" placeholder="请输入合箱报工" />
        </el-form-item>
        <el-form-item label="20报工" prop="report20">
          <el-input v-model="form.report20" placeholder="请输入20报工" />
        <el-form-item label="总装报工" prop="report20">
          <el-input v-model="form.report20" placeholder="请输入总装报工" />
        </el-form-item>
        <el-form-item label="30报工" prop="report20">
          <el-input v-model="form.report30" placeholder="请输入30报工" />
        </el-form-item>
        <el-form-item label="操作人" prop="operator">
          <el-input v-model="form.operator" placeholder="请输入操作人" />
        </el-form-item>
        <el-form-item label="状态" prop="status">
          <el-radio-group v-model="form.status">
<!--            <el-radio-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.value"-->
<!--            >{{dict.label}}</el-radio>-->
          </el-radio-group>
        </el-form-item>
<!--        <el-form-item label="预留字段1" prop="spareField1">-->
<!--          <el-input v-model="form.spareField1" placeholder="请输入预留字段1" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="预留字段2" prop="spareField2">-->
<!--          <el-input v-model="form.spareField2" placeholder="请输入预留字段2" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="预留字段3" prop="spareField3">-->
<!--          <el-input v-model="form.spareField3" placeholder="请输入预留字段3" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="预留字段4" prop="spareField4">-->
<!--          <el-input v-model="form.spareField4" placeholder="请输入预留字段4" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="创建用户" prop="createUser">-->
<!--          <el-input v-model="form.createUser" placeholder="请输入创建用户" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="更改用户" prop="updateUser">-->
<!--          <el-input v-model="form.updateUser" placeholder="请输入更改用户" />-->
<!--        </el-form-item>-->
<!--        <el-form-item label="备注" prop="remarks">-->
<!--          <el-input v-model="form.remarks" placeholder="请输入备注" />-->
<!--        </el-form-item>-->
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -249,6 +370,7 @@
export default {
  name: "OrderScheduling",
  dicts: ['order_scheduling_produce_status','quality_status','print_status','material_type'],
  data() {
    return {
      // 遮罩层
@@ -260,6 +382,7 @@
      single: true,
      // 非多个禁用
      multiple: true,
      advancedShowSearch: false,
      // 显示搜索条件
      showSearch: true,
      // 总条数
@@ -274,7 +397,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        orderNumber: null,
        orderNo: null,
        engineNo: null,
        productType: null,
        model: null,
@@ -285,25 +408,72 @@
        whetherOrPrint: null,
        report10: null,
        report20: null,
        combinedBoxLaunch: null,
        finalAssemblyOffline: null,
        combinedBoxTime: null,
        finalAssemblyTime: null,
        operator: null,
        operateTime: null
        operateTime: null,
        status: null,
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null,
        createUser: null,
        updateUser: null,
        remarks: null,
        dateConditions: [],
      },
      // 表单参数
      form: {},
      // 表单校验
      rules: {
      }
        id: [
          { required: true, message: "ID不能为空", trigger: "blur" }
        ],
      },
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近一个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近三个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
          }
        }]
      },
      value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
      value2: ''
    };
  },
  created() {
    let workOrderNo = this.$route.query.workOrderNo;
    this.queryParams.orderNo = workOrderNo
    this.getList();
  },
  methods: {
    advancedQuery(){
      this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true;
    },
    /** 查询订单排产列表 */
    getList() {
      this.loading = true;
      console.log(this.queryParams)
      listOrderScheduling(this.queryParams).then(response => {
        this.orderSchedulingList = response.rows;
        this.total = response.total;
@@ -318,7 +488,8 @@
    // 表单重置
    reset() {
      this.form = {
        orderNumber: null,
        id: null,
        orderNo: null,
        engineNo: null,
        productType: null,
        model: null,
@@ -329,10 +500,21 @@
        whetherOrPrint: null,
        report10: null,
        report20: null,
        combinedBoxLaunch: null,
        finalAssemblyOffline: null,
        combinedBoxTime: null,
        finalAssemblyTime: null,
        operator: null,
        operateTime: null
        operateTime: null,
        status: null,
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null,
        createUser: null,
        createTime: null,
        updateUser: null,
        updateTime: null,
        remarks: null,
        report30: null
      };
      this.resetForm("form");
    },
@@ -340,6 +522,7 @@
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
      this.$modal.msgSuccess(this.queryParams.operateTime);
    },
    /** 重置按钮操作 */
    resetQuery() {
@@ -348,7 +531,7 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.orderNumber)
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
@@ -361,8 +544,8 @@
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const orderNumber = row.orderNumber || this.ids
      getOrderScheduling(orderNumber).then(response => {
      const id = row.id || this.ids
      getOrderScheduling(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.titleName = "修改订单排产";
@@ -372,7 +555,7 @@
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.orderNumber != null) {
          if (this.form.id != null) {
            updateOrderScheduling(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
@@ -390,9 +573,9 @@
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const orderNumbers = row.orderNumber || this.ids;
      this.$modal.confirm('是否确认删除订单排产编号为"' + orderNumbers + '"的数据项?').then(function() {
        return delOrderScheduling(orderNumbers);
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除订单排产编号为"' + ids + '"的数据项?').then(function() {
        return delOrderScheduling(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");