春风项目四线(合箱线、总装线)
cl
2024-01-18 aac927d42bfa7cbf1aaa14bf206f6eeb0bb9f286
jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -21,7 +21,6 @@
        </el-select>
      </el-form-item>
      <el-form-item style="float: right">
        <el-button type="warning" icon="el-icon-download" size="mini" @click="getProductionNotice">接收</el-button>
        <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>
@@ -96,31 +95,41 @@
          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"
          type="success"
          plain
          icon="el-icon-upload2"
          :disabled="move"
          icon="el-icon-wind-power"
          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>
          @click="getProductionNotice"
          v-hasPermi="['om:productionOrde:receive']"
        >接收</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-createUpdate"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="CreatehandleUpdate"
@@ -137,7 +146,7 @@
        </el-table-column>
        <el-table-column label="生产订单" width="160" align="center">
          <template slot-scope="scope">
            <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">
            <router-link :to="{path: '/main/orderScheduling-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">
              <span>{{ scope.row.workOrderNo }}</span>
            </router-link>
          </template>
@@ -146,25 +155,25 @@
        </el-table-column>
        <el-table-column label="需求数量" align="center" prop="planQty">
        </el-table-column>
        <el-table-column label="物料类型" width="140" align="center" prop="productCode">
        <el-table-column label="产品编号" width="150" align="center" prop="productCode">
        </el-table-column>
        <el-table-column label="实际数量" width="160" align="center" prop="actualQty">
        </el-table-column>
<!--        <el-table-column label="实际数量" width="160" align="center" prop="actualQty">-->
<!--        </el-table-column>-->
        <el-table-column label="工单状态" 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>
        <el-table-column label="仓库" align="center">
        </el-table-column>
<!--        <el-table-column label="工厂" align="center" prop="workshopCode">-->
<!--        </el-table-column>-->
<!--        <el-table-column label="仓库" align="center">-->
<!--        </el-table-column>-->
        <el-table-column label="产线" align="center" prop="lineCode">
        </el-table-column>
        <el-table-column label="订单类型" align="center">
        </el-table-column>
        <el-table-column label="ZWS" align="center">
        </el-table-column>
<!--        <el-table-column label="订单类型" align="center">-->
<!--        </el-table-column>-->
<!--        <el-table-column label="ZWS" align="center">-->
<!--        </el-table-column>-->
<!--        <el-table-column label="工艺流程" width="140" align="center" prop="routeCode">-->
<!--        </el-table-column>-->
@@ -194,7 +203,7 @@
        </el-table-column>
        <el-table-column width="160" label="通知生成日期" align="center" prop="createTime">
        </el-table-column>
        <el-table-column label="成品描述" width="160" align="center" prop="productName">
        <el-table-column label="成品描述" width="320" align="center" prop="productName">
        </el-table-column>
<!--        <el-table-column label="修改人" width="80" align="center" prop="updateUser">-->
<!--        </el-table-column>-->
@@ -341,9 +350,9 @@
        <i class="el-icon-s-order"></i>
        {{titleName}}
      </span>
      <el-form ref="form" inline  :model="form"  :rules="CreateRules"label-width="80px">
        <el-form-item   label="种类" prop="typeZ">
          <el-input disabled v-model="form.typeZ"  placeholder="请输入种类" />
      <el-form ref="form" inline  :model="form" :rules="CreateRules" label-width="100px">
        <el-form-item   label="机型" prop="typeZ">
          <el-input disabled v-model="form.typeZ"  placeholder="请输入机型" />
        </el-form-item>
        <el-form-item  label="日期" prop="dateTime">
          <el-date-picker clearable
@@ -353,15 +362,14 @@
                          placeholder="请选择日期" @input="handleCodeChange">
          </el-date-picker>
        </el-form-item>
        <el-form-item   label="日期规则" prop="dateTimeRule" hidden>
          <el-input  v-model="form.dateTimeRule"/>
        <el-form-item class="hidden-form-item" label="日期规则" prop="dateTimeRule">
          <el-input v-model="form.dateTimeRule"/>
        </el-form-item>
        <el-form-item   label="起始编号" prop="startCode">
          <el-input  v-model="form.startCode"  placeholder="请输入起始编号" @input="handleCodeChange"/>
          <el-input type="number"   :maxlength="3"  :pattern="'[0-9]{3}'" v-model="form.startCode"  placeholder="请输入起始编号" @input="handleCodeChange"/>
        </el-form-item>
        <el-form-item   label="起止编号" prop="startEndCode">
          <el-input disabled v-model="form.startEndCode"/>
          <el-input type="textarea" disabled v-model="form.startEndCode"/>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -388,6 +396,8 @@
  updateOrderScheduling,
  generateNumbers
} from "@/api/main/bs/orderScheduling/orderScheduling";
import {listMaterial} from "@/api/main/bs/material/material";
import {listModelNumber} from "@/api/main/bs/modelNumber/modelNumber";
export default {
  name: "ProductionOrde",
@@ -452,6 +462,11 @@
        adds:null,
        productionNotice: null,
      },
      materialQueryParams: {
        pageNum: 1,
        pageSize: 10,
        materialCode: null,
      },
      // 表单参数
      form: {},
@@ -475,12 +490,19 @@
        year: [
          { required: true, message: "不能为空", trigger: "blur" }
        ],
        dateTime: [
          { required: true, message: "不能为空", trigger: "blur" }
        ],
        startCode: [
          { required: true, message: "不能为空", trigger: "blur" }
        ],
      },
      change: {
        day: '',
        month: '',
        year: '',
      },
      markNo: '',
    };
  },
  created() {
@@ -519,16 +541,19 @@
        }
        //日
        dateTimeRule = dateTimeRule + day;
        this.form.dateTimeRule = dateTimeRule;
        dateTimeRule = dateTimeRule + this.markNo;
        this.form.dateTimeRule = dateTimeRule;//此处赋值不加机型
        dateTimeRule = dateTimeRule + this.form.typeZ;//此处加机型,顺序不能颠倒
        //赋值起始编码
        this.form.startEndCode = dateTimeRule + startCode + "----" + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ;
        this.form.startEndCode = dateTimeRule +  String(parseInt(startCode)).padStart(3, '0') + "         " + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ;
      }
    },
    getProductionNotice(){
      getProductionNotice(this.queryParams).then(response => {
        this.$modal.msgSuccess("接收成功");
        this.$modal.msgSuccess(response.msg);
        this.queryParams = {}
        this.getList();
      });
@@ -704,14 +729,17 @@
      const id = Row.id || this.ids
      getProductionOrde(id).then(response => {
        console.log(response.data)
        console.log(response.data.productCode)
        this.materialQueryParams.materialCode = response.data.productCode;
        listMaterial(this.materialQueryParams).then(response => {
          this.markNo = response.rows[0].mark
          this.form.typeL = response.rows[0].typeL;
        });
        this.form = response.data;
        this.Createopen = true;
        this.titleName = "生成箱体条码";
        // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1);
      });
      this.$modal.msgSuccess(Row.actualQty);
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
@@ -748,12 +776,39 @@
    /** 生成箱体条码提交按钮 */
    submitFormForBoxCode() {
      let startCode = parseInt(this.form.startCode);
      let queryParams = {
        model: this.form.typeZ,
        modelDate: this.form.dateTimeRule,
      }
      if(startCode>999){
        this.$message.error('起始编号超出最大范围,请输入1-999的数字!');
        return;
      }else if(startCode<1){
        this.$message.error('起始编号超出最小范围,请输入1-999的数字!');
        return;
      }
      listModelNumber(queryParams).then(response => {
        if(response.rows.length === 0){
          this.saveBoxCode()
        }else {
          let maxNumValue = response.rows[0].maxnumValue;
          if(startCode<maxNumValue){
            this.$message.error('箱体条码重复,请重新输入起始编号!');
          }else {
            this.saveBoxCode()
          }
        }
      });
    },
    saveBoxCode(){
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            addOrderSchedulingForBoxCode(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              this.open = false;
              this.Createopen = false;
              this.getList();
            });
          }
@@ -782,8 +837,7 @@
};
</script>
<style lang="scss" scoped>
//::v-deep .el-dialog__header{
//  /*background-color: #f8f8f8;*/
//  background-color: #f8f8f9;
//}
.hidden-form-item {
  display: none;
}
</style>