hdy
2024-03-01 648160f5b764431dfcb54621149d8fa6b7941696
jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -38,7 +38,7 @@
      <el-form-item style="margin-left: 14px" label="产品编号" prop="productCode">
        <el-input
          v-model="queryParams.productCode"
          placeholder="请输入产品编号"
          placeholder="请输入产品序列号"
          clearable
          @keyup.enter.native="handleQuery"
        />
@@ -51,43 +51,18 @@
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="车间编号" prop="workshopCode">
      <el-form-item label="工厂编号" prop="siteCode">
        <el-input
          v-model="queryParams.workshopCode"
          placeholder="请输入车间编号"
          v-model="queryParams.siteCode"
          placeholder="请输入工厂编号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="产线编号" prop="lineCode">
      <el-form-item label="工站编号" prop="stationCode">
        <el-input
          v-model="queryParams.lineCode"
          placeholder="请输入产线编号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item style="margin-left: 7px" label-width="80" label="产品BOM" prop="bomCode">
        <el-input
          v-model="queryParams.bomCode"
          placeholder="请输入产品BOM"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工艺流程" prop="routeCode">
        <el-input
          v-model="queryParams.routeCode"
          placeholder="请输入工艺流程"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工艺配方" prop="recipeCode">
        <el-input
          v-model="queryParams.recipeCode"
          placeholder="请输入工艺配方"
          v-model="queryParams.stationCode"
          placeholder="请输入工站编号"
          clearable
          @keyup.enter.native="handleQuery"
        />
@@ -129,36 +104,36 @@
          v-hasPermi="['om:productionOrde:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['om:productionOrde:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-upload2"
          :disabled="move"
          size="mini"
          @click="moveUp(val => val, 'up')"
        >上移</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :disabled="move"
          @click="moveUp(val => val, 'down')"
        >下移</el-button>
      </el-col>
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
<!--          plain-->
<!--          icon="el-icon-download"-->
<!--          size="mini"-->
<!--          @click="handleExport"-->
<!--          v-hasPermi="['om:productionOrde:export']"-->
<!--        >导出</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
<!--          plain-->
<!--          icon="el-icon-upload2"-->
<!--          :disabled="move"-->
<!--          size="mini"-->
<!--          @click="moveUp(val => val, 'up')"-->
<!--        >上移</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
<!--          plain-->
<!--          icon="el-icon-download"-->
<!--          size="mini"-->
<!--          :disabled="move"-->
<!--          @click="moveUp(val => val, 'down')"-->
<!--        >下移</el-button>-->
<!--      </el-col>-->
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
@@ -173,85 +148,67 @@
        </el-table-column>
        <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode">
        </el-table-column>
        <el-table-column label="产品编号" width="140" align="center" prop="productCode">
        <el-table-column label="产品序列号" width="110" align="center" prop="productCode">
        </el-table-column>
        <el-table-column label="产品名称" width="160" align="center" prop="productName">
        <el-table-column label="产品名称" width="120" align="center" prop="productName">
        </el-table-column>
        <el-table-column label="工单状态" align="center" prop="orderStatus">
        <el-table-column label="工单状态" width="100" align="center" prop="orderStatus">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>
          </template>
        </el-table-column>
        <el-table-column label="车间编号" align="center" prop="workshopCode">
        <el-table-column label="工厂编号" align="center" prop="siteCode">
        </el-table-column>
        <el-table-column label="产线编号" align="center" prop="lineCode">
        <el-table-column label="工站编号" align="center" prop="stationCode">
        </el-table-column>
        <el-table-column label="工艺流程" width="140" align="center" prop="routeCode">
        <el-table-column label="报工信息结果" width="110" align="center" prop="resultText">
        </el-table-column>
        <el-table-column label="产品BOM" width="140" align="center" prop="bomCode">
        <el-table-column label="报工结果代码" width="110" align="center" prop="resultCode">
        </el-table-column>
        <el-table-column label="工艺配方" width="140" align="center" prop="recipeCode">
        </el-table-column>
        <el-table-column label="计划数量" align="center" prop="planQty">
        </el-table-column>
        <el-table-column label="实际数量" align="center" prop="actualQty">
        </el-table-column>
        <el-table-column label="实际上线数量" width="100" align="center" prop="actualOnlineQty">
        </el-table-column>
        <el-table-column label="需求日期" align="center" prop="demandDate" width="180">
        </el-table-column>
        <el-table-column label="计划开始时间" width="160" align="center" prop="planStartTime">
        </el-table-column>
        <el-table-column label="计划结束时间" width="160" align="center" prop="planEndTime">
        <el-table-column label="是否报工" width="80" align="center" prop="sfResult">
        </el-table-column>
        <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime">
        </el-table-column>
        <el-table-column label="实际结束时间" width="160" align="center" prop="actualEndTime">
        </el-table-column>
        <el-table-column width="160" label="创建时间" align="center" prop="createTime">
        </el-table-column>
        <el-table-column width="160" label="更新时间" align="center" prop="updateTime">
        <el-table-column label="当前站点报工时间" width="160" align="center" prop="actualEndTime">
        </el-table-column>
        <el-table-column label="创建人" width="80" align="center" prop="createUser">
        </el-table-column>
        <el-table-column label="修改人" width="80" align="center" prop="updateUser">
        </el-table-column>
        <el-table-column label="备注" width="100" align="center" prop="remarks">
        </el-table-column>
        <el-table-column label="流水号" align="center" prop="streamNumber">
        </el-table-column>
        <el-table-column label="客户" width="80" align="center" prop="custom">
        </el-table-column>
        <el-table-column fixed="right" width="350" label="操作" align="center" class-name="small-padding fixed-width">
          <template slot-scope="scope">
            <!--  工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) -->
            <el-button type="success" :disabled="scope.row.orderStatus !== '1'"  style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">开始</el-button>
            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&&  scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">冻结</el-button>
            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">解冻</el-button>
            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">关闭</el-button>
            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>
<!--            <el-button-->
<!--              :disabled="scope.row.orderStatus !== '1'"-->
<!--              size="mini"-->
<!--              type="success"-->
<!--              style="width: 72px"-->
<!--              icon="el-icon-edit"-->
<!--              @click="handleUpdate(scope.row)"-->
<!--              v-hasPermi="['om:productionOrde:edit']"-->
<!--            >修改</el-button>-->
<!--            <el-button-->
<!--              :disabled="scope.row.orderStatus !== '1'"-->
<!--              size="mini"-->
<!--              type="warning"-->
<!--              style="width: 72px"-->
<!--              icon="el-icon-delete"-->
<!--              @click="handleDelete(scope.row)"-->
<!--              v-hasPermi="['om:productionOrde:remove']"-->
<!--            >删除</el-button>-->
            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">完成</el-button>
            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button>            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>
          </template>
        </el-table-column>
<!--        <el-table-column label="流水号" align="center" prop="streamNumber">-->
<!--        </el-table-column>-->
<!--        <el-table-column label="客户" width="80" align="center" prop="custom">-->
<!--        </el-table-column>-->
<!--        <el-table-column fixed="right" width="350" label="操作" align="center" class-name="small-padding fixed-width">-->
<!--          <template slot-scope="scope">-->
<!--            &lt;!&ndash;  工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) &ndash;&gt;-->
<!--            <el-button type="success" :disabled="scope.row.orderStatus !== '1'"  style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">开始</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&&  scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">冻结</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">解冻</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">关闭</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>-->
<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;              type="success"&ndash;&gt;-->
<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
<!--&lt;!&ndash;              icon="el-icon-edit"&ndash;&gt;-->
<!--&lt;!&ndash;              @click="handleUpdate(scope.row)"&ndash;&gt;-->
<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:edit']"&ndash;&gt;-->
<!--&lt;!&ndash;            >修改</el-button>&ndash;&gt;-->
<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;              type="warning"&ndash;&gt;-->
<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
<!--&lt;!&ndash;              icon="el-icon-delete"&ndash;&gt;-->
<!--&lt;!&ndash;              @click="handleDelete(scope.row)"&ndash;&gt;-->
<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:remove']"&ndash;&gt;-->
<!--&lt;!&ndash;            >删除</el-button>&ndash;&gt;-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">完成</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button>            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>-->
<!--          </template>-->
<!--        </el-table-column>-->
      </el-table>
    </el-card>
@@ -265,93 +222,37 @@
    />
    <!-- 添加或修改生产工单对话框 -->
    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="1000px" append-to-body>
    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
       <span slot="title">
        <i class="el-icon-s-order"></i>
        {{titleName}}
      </span>
      <el-form ref="form" inline :model="form" :rules="rules" label-width="80px">
        <el-form-item label="工单号" prop="workOrderNo">
          <el-input v-model="form.workOrderNo" placeholder="请输入生产工单号" />
      <el-form ref="form" inline :model="form" :rules="rules" label-width="100px">
        <el-form-item label="生产工单号" prop="workOrderNo">
          <el-input style="width: 265px" v-model="form.workOrderNo" placeholder="请输入生产工单号" />
        </el-form-item>
        <el-form-item label="订单编号" prop="salesOrderCode">
          <el-input v-model="form.salesOrderCode" placeholder="请输入订单编号" />
          <el-input style="width: 265px" v-model="form.salesOrderCode" placeholder="请输入订单编号" />
        </el-form-item>
        <el-form-item label="产品编号" prop="productCode">
        <el-form-item label="产品序列号" prop="productNum">
          <el-input v-model="form.productCode" placeholder="请选择产品" >
            <el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
          </el-input>
          <ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
        </el-form-item>
        <el-form-item label="产品名称" prop="productName">
          <el-input v-model="form.productName" disabled placeholder="请输入产品名称" />
          <el-input style="width: 265px" v-model="form.productName" disabled placeholder="请输入产品名称" />
        </el-form-item>
        <el-form-item label="车间编号" prop="workshopCode">
          <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="请选择车间编号">
            <el-option
              v-for="item in options"
              :key="item.workshopCode"
              :label="item.workshopName"
              :value="item.workshopCode">
            </el-option>
          </el-select>
        <el-form-item label="工厂编号" prop="siteCode">
          <el-input style="width: 265px" v-model="form.siteCode" placeholder="请输入工厂编号" />
        </el-form-item>
        <el-form-item style="margin-left: -15px" label="产线编号" prop="lineCode">
          <el-select style="width: 93%" v-model="form.lineCode" placeholder="请选择产线编号">
            <el-option
              v-for="item in lineOptions"
              :key="item.lineCode"
              :label="item.lineName"
              :value="item.lineCode">
            </el-option>
          </el-select>
        <el-form-item label="工站编号" prop="stationCode">
          <el-input style="width: 265px"v-model="form.stationCode" placeholder="请输入工站编号" />
        </el-form-item>
        <el-form-item label="工艺流程" prop="routeCode">
          <el-input v-model="form.routeCode" disabled placeholder="请输入工艺流程" />
        <el-form-item label="备注" prop="remarks">
          <el-input style="width: 265px" v-model="form.remarks" placeholder="请输入备注" />
        </el-form-item>
        <el-form-item label="产品BOM" prop="bomCode">
          <el-input v-model="form.bomCode" disabled placeholder="请输入产品BOM" />
        </el-form-item>
        <el-form-item label="工艺配方" prop="recipeCode">
          <el-input v-model="form.recipeCode" placeholder="请输入工艺配方" />
        </el-form-item>
        <el-form-item label="计划数量" prop="planQty">
          <el-input v-model="form.planQty" placeholder="请输入计划数量" />
        </el-form-item>
        <el-form-item label="需求日期" prop="demandDate">
          <el-date-picker style="width: 88%" clearable
            v-model="form.demandDate"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择需求日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item style="margin-left: -30px" label="备注" prop="remarks">
          <el-input v-model="form.remarks" placeholder="请输入备注" />
        </el-form-item>
        <el-row>
          <el-col :span="12">
            <el-form-item style="margin-left: 10px" label-width="120" label="计划开始时间" prop="planStartTime">
              <el-date-picker clearable
                v-model="form.planStartTime"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="请选择计划开始时间">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item style="margin-left: 76px" label-width="120" label="计划结束时间" prop="planEndTime">
              <el-date-picker clearable
                v-model="form.planEndTime"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="请选择计划结束时间">
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -427,7 +328,12 @@
        frontEndId: 0,
        idNums: null,
        flag: null,
      siteCode: null,
      productNum: null,
      stationCode: null,
      resultText: null,
      resultCode: null,
      sfResult: null
      },
      // 表单参数
      form: {},
@@ -561,7 +467,13 @@
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null
        spareField4: null,
        siteCode: null,
        productNum: null,
        stationCode: null,
        resultText: null,
        resultCode: null,
        sfResult: null
      };
      this.resetForm("form");
    },