Fixiaobai
2023-12-14 57214d3ef6e7a32685b791ff3c8f1fc49539e055
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改26个文件
1001 ■■■■ 文件已修改
src/api/quality/finishedProduct.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/quality/processInspect.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/quality/rawMaterial.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/const/crud/customerOrder/customerOrderForm.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/admin/user/info.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/part/part-form.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/operationtask/operationtask-form.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/operation-task-pane.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/taskinfo-pane.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/workReportCard.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/Packaging_ledger/pack-from.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/finishedProduct-form.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/newReport/ReportForm.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/packageinspect/packageInspect-form.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/index.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/processInspect-form.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/teststandard/standard-form.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/completeproductstructure/completeproductstructure-form.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/document/document-form.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/operation/operation-form.vue 135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/routing/routing-form.vue 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/changestock/index.vue 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/stock/index.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/quality/finishedProduct.js
@@ -64,7 +64,7 @@
export function updateFinishedInspectById(obj) {
  return request({
    url: '/mes/qualityFinishedInspect/updateFinishedInspectById',
    url: '/mes/qualityFinishedInspect/updateFinishedInspectById2',
    method: 'post',
    params: obj
  })
src/api/quality/processInspect.js
@@ -27,7 +27,7 @@
export function updateProcessInspectsById(query) {
  return request({
    url: '/mes/qualityProcessInspect/updateProcessInspectsById',
    url: '/mes/qualityProcessInspect/updateProcessInspectsById2',
    method: 'post',
    params: query
  })
src/api/quality/rawMaterial.js
@@ -56,7 +56,7 @@
export function updateRawInspectsById(data) {
  return request({
    url: '/mes/rawInspect/updateRawInspectsById/'+data.id,
    url: '/mes/rawInspect/updateRawInspectsById2/'+data.id,
    method: 'post',
    params: data
  })
src/const/crud/customerOrder/customerOrderForm.js
@@ -26,6 +26,7 @@
  delBtn: false,
  align: 'center',
  addBtn: false,
  addBtnText: '添加行',
  addRowBtn: true,
  refreshBtn: false, // 是否显示刷新按钮
  columnBtn: false, // 是否显示显影按钮H
src/views/admin/user/info.vue
@@ -19,7 +19,7 @@
  <div class="app-container calendar-list-container">
    <basic-container>
      <template>
        <el-tabs @tab-click="switchTab">
        <el-tabs v-model="switchStatus" @tab-click="switchTab" style="padding-left:20px">
          <el-tab-pane label="信息管理" name="userManager"/>
          <el-tab-pane label="密码管理" name="passwordManager"/>
        </el-tabs>
@@ -56,7 +56,7 @@
                  <i v-else class="el-icon-plus avatar-uploader-icon"/>
                </el-upload>
              </el-form-item>
              <el-form-item
              <!-- <el-form-item
                label="社交登录"
                prop="social">
                <a
@@ -71,7 +71,7 @@
                  href="#"
                  style="color: blue"
                  @click="handleClick('osc')">开源中国</a>
              </el-form-item>
              </el-form-item> -->
              <el-form-item>
                <el-button
                  type="primary"
src/views/basic/part/part-form.vue
@@ -171,8 +171,8 @@
            <el-input v-model="dataForm.specs" placeholder="规格型号"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="检验员" prop="examiner">
       <!--  <el-col :span="12"> -->
          <!-- <el-form-item label="检验员" prop="examiner">
            <el-select
              v-model="dataForm.examiner"
              placeholder="请选择"
@@ -186,7 +186,7 @@
              >
              </el-option>
            </el-select>
          </el-form-item>
          </el-form-item> -->
          <!-- <el-form-item label="检验规则" prop="testRuleId">
            <el-select
              v-model="dataForm.testRuleId"
@@ -204,7 +204,7 @@
              </el-option>
            </el-select>
          </el-form-item> -->
        </el-col>
        <!-- </el-col> -->
        <!-- <el-col :span="12">
          <el-form-item label="图号" prop="drawingNumber">
            <el-input
@@ -266,8 +266,8 @@
            </el-select>
          </el-form-item>
        </el-col> -->
      </el-row>
      <el-row>
     <!--  </el-row>
      <el-row> -->
        <!-- <el-col :span="12">
          <el-form-item label="电压等级" prop="voltageLevel">
            <el-input
@@ -275,13 +275,15 @@
              placeholder="电压等级"
            ></el-input> </el-form-item
        ></el-col> -->
      </el-row>
      <el-row>
     <!--  </el-row>
      <el-row> -->
        <el-col :span="12"
          ><el-form-item label="重量" prop="weight">
            <el-input v-model="dataForm.weight" placeholder="重量"></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="12">
          <el-form-item label="版本号" prop="engChgLevel">
            <el-input
@@ -291,6 +293,20 @@
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="零件属性" prop="materialAttribute">
            <el-select v-model="dataForm.materialAttribute" style="width: 100%">
              <el-option
                v-for="(item, index) in materialAttributeOptions"
                :key="index"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
        <!-- <el-col :span="12">
            <el-form-item label="IFS启用批次管理" prop="lotTrackingIfs">
              <el-select
@@ -318,7 +334,7 @@
            </el-select>
          </el-form-item>
        </el-col> -->
      </el-row>
      <!-- </el-row> -->
      <el-row>
        <el-col :span="12">
          <el-form-item
@@ -342,20 +358,8 @@
          </el-form-item>
        </el-col>
      </el-row>
      <!-- <el-row> -->
      <el-row>
        <el-col :span="12">
          <el-form-item label="零件属性" prop="materialAttribute">
            <el-select v-model="dataForm.materialAttribute" style="width: 100%">
              <el-option
                v-for="(item, index) in materialAttributeOptions"
                :key="index"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="备注" prop="description">
            <el-input
src/views/plan/operationtask/operationtask-form.vue
@@ -778,7 +778,6 @@
            //              this.dataForm.partName = this.routingList.partName
            //              this.dataForm.partId = this.routingList.partId
            // 制造订单form创建的,自动带出工序
            console.log(this.routingOptions);
            if (param.selectedRoutingOperationId && this.routingOptions) {
              const option = this.routingOptions.find(
                (e) => e.id === param.selectedRoutingOperationId
src/views/product/workbench/operation-task-pane.vue
@@ -719,7 +719,6 @@
                      break
                    }
                  }
                  // console.log(this.operationTasks)
                  // 若当前工单在工单列表未被找到且当前工单状态为已完成或已取消时,则将当前工单重置为空并抛出事件,否则不管
                  if (isResetCurrOpertionTaskFlag) {
                    getOperationTaskById(taskId).then((res) => {
src/views/product/workbench/taskinfo-pane.vue
@@ -1675,7 +1675,6 @@
                      // 给弹出框产量列表productList赋值
                      this.productList = []
                      const product = {}
                      console.log('userInfo', this.userInfo)
                      const currStaff = this.personBoardList.find((item) => {
                        return item.staffId == this.userInfo.staffId
                      })
@@ -1892,10 +1891,6 @@
    currOperateTask: {
      handler(newValue, oldValue) {
        if (newValue.id) {
          console.log(
            'currOperateTask',
            this.currOperateTask.routingOperationRemark
          )
          this.opTask.statusDesc = newValue.statusDesc
          // 查询paramDatas
          this.getTechnologyRoutingParam(newValue)
src/views/product/workbench/workReportCard.vue
@@ -2749,7 +2749,6 @@
    },
    createLodopPrintIze(data) {
      const currYearAndMonth = getYearAndMonth()
      console.log(data)
      const qr = {
        part_no: data.partNo,
        lot_batch_no: data.ifsBatchNo,
@@ -2890,7 +2889,6 @@
      this.LODOP.PRINT()
    },
    createLodopPrint(data) {
      console.log(data)
      const qr = {
        part_no: data.partNo,
        lot_batch_no: data.ifsBatchNo,
@@ -3075,7 +3073,6 @@
    },
    saveList() {
      const list = JSON.parse(JSON.stringify(this.productOutputList))
      console.log(`output->list`, list)
      const data = []
      list.forEach((el) => {
        if (el.isEdit) {
src/views/quality/Packaging_ledger/pack-from.vue
@@ -140,7 +140,7 @@
    //   ...mapGetters(['permissions'])
    },
    created() {
      this.getParamType()
      // this.getParamType()
    },
    methods: {
         // 获取数据列表
src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -8,7 +8,7 @@
            <h2 v-else>编辑-产品检验单</h2>
        </div>
        <div class="btn-group header-right">
            <el-button @click="addTestProject" v-if="processInspectVo.id==null">生成检验项目</el-button>
            <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id==null">生成检验项目</el-button>
        </div>
    </div>
    <div class="page-main">
@@ -26,27 +26,24 @@
                        <el-col :span="6">
                            <el-form-item label="订单号:">
                                <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
                                v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" />
                                v-model="processInspectVo.orderNumber" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="报工单号:">
                                <el-input disabled v-model="processInspectVo.productNo"
                                    placeholder="请输入报工单号:" autocomplete="off" />
                                <el-input disabled v-model="processInspectVo.productNo" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="客户名称:">
                                <el-input disabled v-model="processInspectVo.prname"
                                    placeholder="请输入客户名称" autocomplete="off" />
                                <el-input disabled v-model="processInspectVo.prname" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :span="6">
                            <el-form-item label="工程名称:">
                                <el-input disabled v-model="processInspectVo.sname"
                                    placeholder="请输入工程名称" autocomplete="off" />
                                <el-input disabled v-model="processInspectVo.sname" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
@@ -60,15 +57,13 @@
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="产品编码:">
                                <el-input disabled v-model="processInspectVo.mcode"
                                    placeholder="请输入产品编码" autocomplete="off" />
                            <el-form-item label="产品编号:">
                                <el-input disabled v-model="processInspectVo.mcode" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="规格型号:">
                                <el-input disabled v-model="processInspectVo.specificationsModel"
                                    placeholder="请输入规格型号" autocomplete="off" />
                                <el-input disabled v-model="processInspectVo.specificationsModel" autocomplete="off" />
                            </el-form-item>
                        </el-col>
                    </el-row>
@@ -161,7 +156,7 @@
                                </div>
                            </template>
                        </el-table-column>
                        <el-table-column prop="inspectionValue">
                        <el-table-column prop="inspectionValue"
                                label="检验描述" width="240" style="text-align: center;">
                                <template slot-scope="scope">
                                    <el-col v-if="scope.row.itype === '1'">
@@ -346,6 +341,11 @@
                    pro+=arr.length
                }
            })
            let obj = {
                id: this.processInspectVo.id,
                number: 0,
                result: this.inspectionResultForm[0].result
            }
            if (pro > 0) {
                this.$prompt('请输入不合格数量', '不合格数量', {
                    confirmButtonText: '确定',
@@ -353,11 +353,8 @@
                    inputPattern: /^\d+$/,
                    inputErrorMessage: '请输入正确数字格式'
                }).then(({ value }) => {
                    let data = {
                    id: this.processInspectVo.id,
                    number: value
                    }
                    updateFinishedInspectById(data).then(res => {
                    obj.number = value
                    updateFinishedInspectById(obj).then(res => {
                        if(res.data.data.indexOf("成功") > 0){
                            this.$message.success("上报成功");
                            this.checkTestState()
@@ -367,7 +364,7 @@
                    });
                }).catch(() => {});
            }else{
                updateFinishedInspectById({id:this.processInspectVo.id,number:0}).then(res => {
                updateFinishedInspectById(obj).then(res => {
                    if(res.data.data.indexOf("成功") > 0){
                            this.$message.success("上报成功");
                            this.checkTestState()
@@ -563,12 +560,38 @@
                }
            })
        },
        changeRowResult(){
            if(this.inspectionItems){
                this.inspectionItems.forEach(e=>{
                    if(e.children){
                        e.children.forEach(i=>{
                            if(i.empiricalValueAddss.length>1){
                                let arr = i.inspectionValue.split(",")
                                arr.splice((arr.length-1),1)
                                let obj = {
                                    devideId: i.eId,
                                    fpid: row.iid,
                                    inspectionValue: arr.join(","),
                                    note : i.inote
                                }
                                updateFinishedInsProduct(obj).then(res => {
                                    if (res.data.code == 0) {
                                        this.init()
                                    }
                                })
                            }
                        })
                    }
                })
            }
        },
        // 删除检验值列
        clickDeleteInspectionColumn() {
            if (this.empiricalValueAdd - 1 === 0) {
            } else {
                if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
                    this.empiricalValueAdd = this.empiricalValueAdd - 1;
                    this.changeRowResult()
                    this.inspectionItems.forEach(i => {
                        i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
                    });
src/views/quality/finishedProductInspection/index.vue
@@ -127,7 +127,7 @@
                        {
                            minWidth: '120',
                            prop: 'materialCode',
                            label: '产品编码',
                            label: '产品编号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text'
src/views/quality/newReport/ReportForm.vue
@@ -1504,14 +1504,12 @@
                },
                data: requireData,
                success: function(response) {
                  console.log('response', response)
                  const resJson = JSON.parse(
                    response
                      .replace(/\r/g, '')
                      .replace(/\n/g, '')
                      .replace(/\s*/g, '')
                  )
                  console.log('resJson', resJson)
                  // TODO
                  if (resJson.message) {
                    const resData = resJson.data
src/views/quality/packageinspect/packageInspect-form.vue
@@ -282,7 +282,6 @@
              _than.confirmSubmit(_than.submitData,true)
            }
          }).catch(error=>{
            console.log("输入行号");
            _than.dialogVisible = true
          })
@@ -353,6 +352,7 @@
          })
          this.list[i].children.splice(childrenIndex,1)
        }
        this.changeResult()
      },
      //保存检查项
      savePackIns(){
@@ -379,6 +379,7 @@
          updatePackageInsProduct(dataList).then(res=>{
            if(res.status===200){
              this.$message.success("保存成功")
              this.init()
            }
          }).catch(error=>{
            console.log(error);
src/views/quality/processInspect/index.vue
@@ -73,6 +73,14 @@
                        },
                        {
                            minWidth: '120',
                            prop: 'materialCode',
                            label: '产品编号',
                            isTrue: true,
                            isSearch: true,
                            searchInfoType: 'text'
                        },
                        {
                            minWidth: '120',
                            prop: 'material',
                            label: '产品名称',
                            isTrue: true,
@@ -209,8 +217,9 @@
            addOrUpdateHandle(row) {
                this.$router.push({
                    name: 'processInspectForm',
                    query: { id: row == null ? null : row.id,resultVal : row == null ? null : row.result },
                })
                    query: { id: row == null ? null : row.id },
                    params: { resultVal : row == null ? null : row.result }
                })
            },
            formatResult(row, column, cellValue){
                if(cellValue != undefined || cellValue != null){
src/views/quality/processInspect/processInspect-form.vue
@@ -8,13 +8,13 @@
                <h2 v-else>编辑-过程检验单</h2>
            </div>
            <div class="btn-group header-right">
                <el-button @click="addTestProject" v-if="processInspectVo.id == null">生成检验项目</el-button>
                <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id == null">生成检验项目</el-button>
            </div>
        </div>
        <div class="page-main">
            <div class="finishedProduct-basic">
                <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" label-position="right"
                    label-width="120px" style="width: 100%" size="small">
                    label-width="120px" style="width: 100%" size="small" :rules="rules">
                    <div class="formwrapper">
                        <el-row>
                            <el-col :span="6">
@@ -24,7 +24,7 @@
                                </el-form-item>
                            </el-col>
                            <el-col :span="6">
                                <el-form-item label="订单号:">
                                <el-form-item label="订单号:" prop="orderNumber">
                                    <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
                                        v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" />
                                </el-form-item>
@@ -41,8 +41,8 @@
                                </el-form-item>
                            </el-col>
                            <el-col :span="6">
                                <el-form-item label="产品编码:">
                                    <el-input disabled v-model="processInspectVo.materialCode" placeholder="请输入产品编码"
                                <el-form-item label="产品编号:">
                                    <el-input disabled v-model="processInspectVo.materialCode" placeholder="请输入产品编号"
                                        autocomplete="off" />
                                </el-form-item>
                            </el-col>
@@ -50,7 +50,7 @@
                        <el-row>
                            <el-col :span="6">
                                <el-form-item label="规格型号:">
                                    <el-input disabled v-model="processInspectVo.specs" placeholder="请输入规格型号"
                                    <el-input disabled v-model="processInspectVo.specs"
                                        autocomplete="off" />
                                </el-form-item>
                            </el-col>
@@ -113,7 +113,7 @@
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.empiricalValueAddss[index]"
                                                @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input>
                                                @blur="changeState(scope.row,true)" placeholder="请输入检测值"></el-input>
                                            <span v-if="resultVal != null && processInspectVo.id != null"
                                                v-text="scope.row.empiricalValueAddss[index]"></span>
                                        </el-tooltip>
@@ -121,10 +121,7 @@
                                    <el-col v-else>
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <!-- <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.empiricalValueAddss[index]"
                                                @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input> -->
                                            <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择">
                                            <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择">
                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
                                                    :value="item.value">
                                                </el-option>
@@ -151,31 +148,16 @@
                            <el-table-column 
                                label="检验描述" width="240" style="text-align: center;">
                                <template slot-scope="scope">
                                    <el-col v-if="scope.row.itype === '1'">
                                    <el-col>
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.inote"
                                                @blur="changeState(scope.row, inote)" placeholder="请输入检验描述"></el-input>
                                                @blur="changeState(scope.row)" placeholder="请输入检验描述"></el-input>
                                            <span v-if="resultVal != null && processInspectVo.id != null"
                                                v-text="scope.row.inote"></span>
                                        </el-tooltip>
                                    </el-col>
                                <el-col v-else>
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.inote"
                                                @blur="changeState(scope.row, inote)" placeholder="请输入检测值"></el-input>
                                            <!-- <el-select style="width: 100%;" @change="changeState(scope.row, inote)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="请选择">
                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
                                                    :value="item.value">
                                                </el-option>
                                            </el-select>  -->
                                         <span v-if="resultVal != null && processInspectVo.id != null"
                                                v-text="scope.row.inote"></span>
                                        </el-tooltip>
                                    </el-col>
                                </template>
                            </el-table-column>
                            <el-table-column label="结论" fixed="right" min-width="100">
@@ -236,6 +218,9 @@
export default {
    data() {
        return {
            rules: {
                orderNumber: [{required:true,message:'订单号不能为空',trigger:'blur'}]
            },
            dataVal: [{
                label: '是',
                value: '是'
@@ -257,7 +242,7 @@
                proInsNo: null,
                material: null,
                materialCode: null,
                orderNumber: "ZTTIC20230001",
                orderNumber: null,
                quantity: null,
                specs: null,
                unit: null,
@@ -279,11 +264,12 @@
    mounted() {
        this.getDeviceList()
        this.processInspectVo.id = this.$route.query.id
        this.resultVal = this.$route.query.resultVal
        this.resultVal = this.$route.params.resultVal
        if (this.resultVal == null) {
            let val = sessionStorage.getItem("process-resultVal-" + this.processInspectVo.id);
            val == undefined ? this.resultVal = null : this.resultVal = val
        }
        console.log(this.resultVal);
        this.init()
    },
    methods: {
@@ -297,6 +283,11 @@
                    pro += arr.length
                }
            })
            let obj = {
                id: this.processInspectVo.id,
                number: 0,
                result: this.inspectionResultForm[0].result
            }
            if (pro > 0) {
                this.$prompt('请输入不合格数量', '不合格数量', {
                    confirmButtonText: '确定',
@@ -304,11 +295,8 @@
                    inputPattern: /^\d+$/,
                    inputErrorMessage: '请输入正确数字格式'
                }).then(({ value }) => {
                    let data = {
                        id: this.processInspectVo.id,
                        number: value
                    }
                    updateProcessInspectsById(data).then(res => {
                    obj.number = value
                    updateProcessInspectsById(obj).then(res => {
                        let data = res.data.data
                        if (data) {
                            if (data.indexOf("成功") > 0) {
@@ -322,7 +310,7 @@
                    });
                }).catch(() => { });
            } else {
                updateProcessInspectsById({ id: this.processInspectVo.id, number: 0 }).then(res => {
                updateProcessInspectsById(obj).then(res => {
                    let data = res.data.data
                    if (data) {
                        if (data.indexOf("成功") > 0) {
@@ -378,9 +366,9 @@
                                    arr = obj.inspectionValue.split(",")
                                }
                                obj.empiricalValueAddss = arr
                                if(obj.note){
                                        snote=obj.inote
                                    }
                                if(!obj.inote){
                                    obj.inote = null
                                }
                                if (arr.length > this.empiricalValueAdd) {
                                    this.empiricalValueAdd = arr.length
                                }
@@ -388,11 +376,21 @@
                        }
                    })
                    this.inspectionItems = result.children
                    let rVal = '1'
                    this.inspectionItems.forEach(item => {
                        if (item.children) {
                            item.children.forEach(obj => {
                                if (obj.iresult == 0) {
                                    rVal = '0'
                                }
                            })
                        }
                    })
                    this.inspectionResultForm = [{
                        materialCode: result.materialCode,
                        material: result.material,
                        userName: Array.from(new Set(userList)).join(","),
                        result: this.resultVal == null ? '' : this.resultVal,
                        result: this.resultVal == null ? rVal : this.resultVal,
                    }]
                }).catch(error => {
                    console.log(error)
@@ -432,7 +430,22 @@
            this.processInspectVo.material = sample.material
            this.technologyList = sample.children
        },
        changeState(row, index) {
        changeState(row,isChecked) {
            const _than = this
            if(isChecked){
                let isNumber = true
                for(var i=0;i<row.empiricalValueAddss.length;i++){
                    let val = row.empiricalValueAddss[i]
                    if(!/^[0-9]*[1-9][0-9]*$/.test(val)){
                        row.empiricalValueAddss[i] = null
                        _than.$message.error("请输入数字")
                        isNumber = false
                    }
                }
                if(!isNumber){
                    return
                }
            }
            if (row.iid != null && row.iid != '') {
                let str = ""
                row.empiricalValueAddss.forEach(e => {
@@ -442,13 +455,11 @@
                if (str === undefined || str === '' || str === null) {
                    return
                }
                let obj = {
                    devideId: row.eId,
                    ppid: row.iid,
                    inspectionValue: str,
                    note : row.inote
                }
                updateProcessInsProduct(obj).then(res => {
                    if (res.data.code == 0) {
@@ -462,20 +473,23 @@
        },
        addTestProject() {
            let val = this.processInspectVo
            const _than = this
            addProcess(val).then(res => {
                let id = res.data.data
                if (id != null) {
                    _than.processInspectVo.id = id
                    queryById(id).then(response => {
                        let proList = response.data.data.children
                        proList.forEach(item => {
                            item.iid = Math.random();
                            if (item.children != undefined) {
                                item.children.forEach(obj => {
                                    obj.inote = null
                                    obj.empiricalValueAddss = []
                                })
                            }
                        })
                        this.inspectionItems = proList
                        _than.inspectionItems = proList
                    }).catch(error => {
                        console.log(error);
                    })
@@ -485,32 +499,67 @@
            })
        },
        selectInfoByOrderId() {
            chooseMater({
                orderNumber: this.processInspectVo.orderNumber
            }).then(res => {
                if (res.data.data != null) {
                    this.optionsSamplename = res.data.data.children
                } else {
                    this.$message({
                        message: '没有该订单号!',
                        type: 'warning'
                    });
                    this.optionsSamplename = []
                    this.processInspectVo.materialCode = null
                    this.processInspectVo.material = null
                    this.processInspectVo.specs = null
                    this.processInspectVo.unit = null
            this.$refs.addInspectionform.validate(valid=>{
                if(valid){
                    chooseMater({
                        orderNumber: this.processInspectVo.orderNumber
                    }).then(res => {
                        if (res.data.data != null) {
                            this.optionsSamplename = res.data.data.children
                        } else {
                            this.$message({
                                message: '没有该订单号!',
                                type: 'warning'
                            });
                            this.optionsSamplename = []
                            this.processInspectVo.materialCode = null
                            this.processInspectVo.material = null
                            this.processInspectVo.specs = null
                            this.processInspectVo.unit = null
                        }
                    })
                }
            })
        },
        changeRowResult(){
            if(this.inspectionItems){
                this.inspectionItems.forEach(e=>{
                    if(e.children){
                        e.children.forEach(i=>{
                            if(i.empiricalValueAddss.length>1){
                                let arr = i.inspectionValue.split(",")
                                arr.splice((arr.length-1),1)
                                let obj = {
                                    devideId: i.eId,
                                    ppid: i.iid,
                                    inspectionValue: arr.join(","),
                                    note : i.inote
                                }
                                updateProcessInsProduct(obj).then(res => {
                                    if (res.data.code == 0) {
                                        this.init()
                                    }
                                })
                            }
                        })
                    }
                })
            }
        },
        // 删除检验值列
        clickDeleteInspectionColumn() {
            if (this.empiricalValueAdd - 1 === 0) {
            const _than = this
            if (_than.empiricalValueAdd - 1 === 0) {
            } else {
                if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
                    this.empiricalValueAdd = this.empiricalValueAdd - 1;
                    this.inspectionItems.forEach(i => {
                        i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
                if (_than.empiricalValueAddMaxNumber != _than.empiricalValueAdd - 1) {
                    _than.empiricalValueAdd = _than.empiricalValueAdd - 1;
                    _than.changeRowResult()
                    _than.inspectionItems.forEach(i => {
                        if(i.children){
                            i.children.forEach(ele=>{
                                ele.empiricalValueAddss.splice(_than.empiricalValueAdd, 1);
                            })
                        }
                    });
                }
            }
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -7,7 +7,7 @@
        <h2 v-else>编辑-原材料检验</h2>
      </div>
      <div class="btn-group header-right">
        <el-button @click="save()" v-if="this.dataForm.id==null">保存</el-button>
        <el-button @click="save()" type="primary" v-if="this.dataForm.id==null">保存</el-button>
      </div>
    </div>
    <div class="page-main">
@@ -170,10 +170,11 @@
                    <template slot-scope="scope">
                      <div v-if="!scope.row.children">
                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start">
                          <el-select @blur="changeState(scope.row, index)" style="width:100%" allow-create filterable default-first-option
                          <el-select style="width:100%" allow-create filterable default-first-option
                          :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                          v-model="scope.row.testValueList[index]"
                          placeholder="请输入或选择检测值" @change="updateTestValue(scope.row,scope.$index)">
                          placeholder="请输入或选择检测值"
                          @change="changeState(scope.row,scope.$index)">
                            <el-option label="是" value="是"/>
                            <el-option label="否" value="否"/>
                          </el-select>
@@ -514,6 +515,7 @@
        let data = {
          id: this.dataForm.id,
          number: this.unqualifiedNum,
          result: this.conclusionTable[0].testState
        }
        updateRawInspectsById(data).then(res => {
          if(res.data.code == 0 && (res.data.data=='1'|| res.data.data=='0')){
@@ -580,37 +582,45 @@
        }
      },
      changeRowResult(){
          if(this.list){
              this.list.forEach(e=>{
                  if(e.children){
                      e.children.forEach(i=>{
                          if(i.testValueList.length>1){
                              let arr = i.testValue.split(",")
                              arr.splice((arr.length-1),1)
                              let obj = {
                                deviceId: i.deviceId,
                                rpId: i.rpId,
                                testValue: arr.join(","),
                                note: i.note
                              }
                              updateRawInsProduct(obj).then(res=>{
                                if(res.data.code === 0){
                                  this.init()
                                }
                              })
                          }
                      })
                  }
              })
          }
      },
      delTeatValueColumn(){
        if (this.empiricalValueAdd - 1 > 0) {
          if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
            this.empiricalValueAdd = this.empiricalValueAdd - 1;
            this.changeRowResult()
            this.list.forEach(i => {
              i.testValueList.splice(this.empiricalValueAdd, 1);
              if(i.children){
                i.children.forEach(ele=>{
                  ele.testValueList.splice(this.empiricalValueAdd, 1);
                })
              }
            });
          }
        }
      },
      updateTestValue(row,index){
        if(row.rpId == null){
          return
        }
        let val = row.testValueList.join(",");
        let obj = {
          deviceId: row.deviceId,
          rpId: row.rpId,
          testValue: val,
          note: row.note
        }
        updateRawInsProduct(obj).then(res=>{
          if(res.data.code === 0){
            this.$message.success("更新成功")
            this.init()
          }else{
            this.$message.success("更新失败")
          }
        }).catch(error=>{
          this.$message.error(error)
        })
      },
      init(){
        if(this.dataForm.id){
@@ -669,11 +679,21 @@
                    this.list.push(ele)
                }}
            })
            let rVal = '1'
            this.list.forEach(item=>{
                if(item.children){
                  item.children.forEach(ele=>{
                    if(ele.testState == 0){
                      rVal = '0'
                    }
                  })
                }
            })
            this.conclusionTable = [{
              code: data.code,
              name: data.name,
              userName: Array.from(new Set(userNameList)).join(','),
              testState: this.resultVal==null?null:this.resultVal
              testState: this.resultVal==null?rVal:this.resultVal
            }]
          }).catch(error=>{
            this.$message.error("获取失败",error)
@@ -683,6 +703,22 @@
        }
      },
      changeState(row, index) {
          if(row){
            let isTrue = true
            for(var i=0;i<row.testValueList.length;i++){
              let val = row.testValueList[i]
              let reg = /^[0-9]*[1-9][0-9]*$/
              console.log(['是','否'].includes(val));
              if(!reg.test(val) && !['是','否'].includes(val)){
                this.$message.error("请输入数字或选择是否")
                row.testValueList[i] = null
                isTrue = false
              }
            }
            if(!isTrue){
              return
            }
          }
          if (row.rpId != null && row.rpId != '') {
            let val = row.testValueList.join(",")
            if (val === undefined || val === '' || val === null) {
src/views/quality/teststandard/standard-form.vue
@@ -262,6 +262,9 @@
              this.visible = false
              this.isSubmit = false
              this.$emit('refreshDataList')
            }).catch(error=>{
              console.error(error);
              this.isSubmit = false
            })
          } else {
            addTestStandard(this.dataForm).then((data) => {
@@ -269,6 +272,9 @@
              this.visible = false
              this.isSubmit = false
              this.$emit('refreshDataList')
            }).catch(error=>{
              console.error(error);
              this.isSubmit = false
            })
          }
        } else {
src/views/technology/completeproductstructure/completeproductstructure-form.vue
@@ -7,7 +7,7 @@
        <h2 v-if="!editable">查看-完整产品结构</h2>
      </div>
      <div class="btn-group header-right" v-if="editable">
        <el-button :disabled="isSubmit" v-thinclick="`dataFormSubmit`"
        <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`"
          >保存</el-button
        >
      </div>
src/views/technology/document/document-form.vue
@@ -7,7 +7,7 @@
        <h2 v-if="!editable">查看-工艺文件</h2>
      </div>
      <div class="btn-group header-right" v-if="editable">
        <el-button @click="save()">保存</el-button>
        <el-button type="primary" @click="save()">保存</el-button>
      </div>
    </div>
    <div class="page-main">
src/views/technology/operation/operation-form.vue
@@ -6,7 +6,7 @@
        <h2>编辑-工序</h2>
      </div>
      <div class="btn-group header-right">
        <el-button :disabled="isSubmit" v-thinclick="`dataFormSubmit`"
        <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`"
          >保存</el-button
        >
      </div>
@@ -14,50 +14,38 @@
    <div class="page-main">
      <div class="operation-basic">
        <el-form
          :inline="true"
          style="width:100%"
          :model="dataForm"
          :rules="dataRule"
          ref="dataForm"
          label-width="100px"
          class="l-mes form-content"
        >
          class="l-mes">
          <el-row class="first-row">
            <el-col :span="24">
            <el-col :span="6">
              <el-form-item label="工序名称" prop="name">
                <el-input
                  style="width:100%"
                  v-model="dataForm.name"
                  placeholder="工序名称"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="工序编号" prop="operationNo">
                <el-input
                  style="width:100%"
                  v-model="dataForm.operationNo"
                  placeholder="工序编号"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item label="零件族" prop="partFamilyId">
                <el-select
                  v-model="dataForm.partFamilyId"
                  filterable
                  placeholder="请选择"
                  style="width: 100%;"
                >
                  <el-option
                    v-for="(item, index) in this.partFamilyOptions"
                    :key="index"
                    :label="item.partFamilyName"
                    :value="item.id"
                  >
                  </el-option>
                </el-select>
              </el-form-item> -->
            </el-col>
            <el-col :span="6">
              <el-form-item label="工作中心" prop="workCenter">
                <el-select
                  v-model="dataForm.workCenter"
                  placeholder="工作中心"
                  style="width: 100%"
                  filterable
                >
                  filterable >
                  <el-option
                    v-for="item in workCenterOptions"
                    :key="item.id"
@@ -66,18 +54,8 @@
                  />
                </el-select>
              </el-form-item>
              <!-- <el-form-item label="机器运转因素" prop="machRunFactor">
                <el-input
                  v-model="dataForm.machRunFactor"
                  placeholder="机器运转因素"
                ></el-input>
              </el-form-item>
              <el-form-item label="机器设置时间" prop="machSetupTime">
                <el-input
                  v-model="dataForm.machSetupTime"
                  placeholder="机器设置时间"
                ></el-input>
              </el-form-item> -->
            </el-col>
            <el-col :span="6">
              <el-form-item label="人工类别" prop="laborClassNo">
                <el-select
                  v-model="dataForm.laborClassNo"
@@ -94,95 +72,30 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <!-- <el-form-item label="劳力运转因素" prop="laborRunFactor">
                <el-input
                  v-model="dataForm.laborRunFactor"
                  placeholder="劳力运转因素"
                ></el-input>
              </el-form-item> -->
              <!-- <el-form-item label="劳力设置时间" prop="laborSetupTime">
                <el-input
                  v-model="dataForm.laborSetupTime"
                  placeholder="劳力设置时间"
                ></el-input>
              </el-form-item> -->
              <!-- <el-form-item label="因素单位" prop="runTimeCodeDb">
                <el-select
                  v-model="dataForm.runTimeCodeDb"
                  placeholder="因素单位"
                  style="width: 100%"
                >
                  <el-option
                    v-for="item in runTimeCodeDbOptions"
                    :key="item.id"
                    :label="item.label"
                    :value="item.value"
                  />
                </el-select>
              </el-form-item> -->
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="班组人员" prop="crewSize">
                <el-input
                  style="width:100%"
                  v-model="dataForm.crewSize"
                  placeholder="班组人员"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item label="外部工序项目" prop="outsideOpItem">
                <el-select
                  v-model="dataForm.outsideOpItem"
                  placeholder="外部工序项目"
                  style="width: 170px"
                  clearable
                >
                  <el-option
                    v-for="item in outsideOpItemOptions"
                    :key="item.id"
                    :label='item.value + "-" + item.label '
                    :value="item.value"
                  />
                </el-select>
              </el-form-item> -->
            </el-col>
            <el-col :span="12">
              <el-form-item label="备注" prop="remark">
                <el-input
                  v-model="dataForm.remark"
                  placeholder="备注"
                  style="width: 280px"
                  style="width: 100%"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <!-- <el-row style="padding-top: 10px">
            <el-col :span="24">
              <el-form-item label="配置项">
                <el-checkbox-group
                  v-model="checkboxGroup"
                  @change="checkboxGroupChange()"
                >
                  <el-checkbox-button
                    label="productionCounting"
                    key="productionCounting"
                    >报工</el-checkbox-button
                  >
                  <el-checkbox-button label="daq" key="daq"
                    >采集</el-checkbox-button
                  >
                  <el-checkbox-button label="inspection" key="inspection"
                    >检验</el-checkbox-button
                  >
                  <el-checkbox-button
                    label="autoInspection"
                    key="autoInspection"
                    >自动报检</el-checkbox-button
                  >
                  <el-checkbox-button label="semiFinished" key="semiFinished"
                    >半成品</el-checkbox-button
                  >
                  <el-checkbox-button label="materialCost" key="materialCost"
                    >投料</el-checkbox-button
                  >
                </el-checkbox-group>
              </el-form-item>
            <el-col :span="6">
            </el-col>
          </el-row> -->
          </el-row>
        </el-form>
      </div>
@@ -1163,7 +1076,7 @@
<style>
.operation-basic {
  background-color: #fff;
  height: 200px;
  height: 130px;
  display: flex;
  padding: 20px 30px;
  border: 1px solid #ddd;
src/views/technology/routing/routing-form.vue
@@ -7,31 +7,35 @@
        <h2 v-if="!editable">查看-工艺路线</h2>
      </div>
      <div class="btn-group header-right" v-if="editable">
        <el-button :disabled="isSubmit" v-thinclick="`allSave`">保存</el-button>
        <el-button :disabled="isSubmit" type="primary" v-thinclick="`allSave`">保存</el-button>
      </div>
    </div>
    <div class="page-main">
      <div class="routing-basic">
        <el-form
          :inline="true"
          :model="dataForm"
          :rules="dataRule"
          ref="dataForm"
          label-width="100px"
          style="width: 100%"
          class="l-mes"
          :disabled="!editable"
        >
          <el-row>
            <el-col :span="24">
              <el-form-item prop="routingNo" label="工艺编号">
            <el-col :span="6">
              <el-form-item style="width:100%" prop="routingNo" label="工艺编号">
                <el-input
                  style="width:100%"
                  v-model="dataForm.routingNo"
                  placeholder="工艺编号"
                  disabled
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item prop="partNo" label="零件号">
                <el-input
                  style="width:100%"
                  v-model="dataForm.partNo"
                  placeholder="零件号"
                  disabled
@@ -43,60 +47,31 @@
                  ></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item prop="partName" label="零件名称">
                <el-input
                  v-model="dataForm.partName"
                  placeholder="零件名称"
                  readonly
                  style="width: 300px"
                  style="width: 100%"
                ></el-input>
              </el-form-item>
              <el-form-item prop="description" label="描述">
                <el-input
                  v-model="dataForm.description"
                  placeholder="描述"
                  style="width: 280px"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item prop="wireCore" label="线芯">
                <el-input
                  v-model="dataForm.wireCore"
                  placeholder="线芯"
                  style="width: 60px"
                ></el-input>
              </el-form-item> -->
            </el-col>
            <el-col :span="6">
              <el-form-item label="BOM" prop="bomId">
                <el-select :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable>
                <el-select style="width:100%" :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable>
                  <el-option
                    v-for="item in bomList"
                    :key="item.id"
                    :label="item.number"
                    :value="item.id"
                  />
                    :value="item.id" />
                </el-select>
              </el-form-item>
              <!-- <el-form-item prop="version" label="工艺版本">
                <el-input
                  v-model="dataForm.version"
                  placeholder="工艺版本"
                ></el-input>
              </el-form-item> -->
              <!-- <el-form-item label="工艺类型" prop="bomTypeDb">
                <el-select
                  v-model="dataForm.bomTypeDb"
                  placeholder="请选择工艺类型"
                  style="width:100%"
                  @change="bomTypeDbChange"
                >
                  <el-option
                    v-for="(item, index) in bomTypeDbOptions"
                    :label="item.label"
                    :value="item.value"
                    :key="index"
                  >
                  </el-option>
                </el-select>
              </el-form-item> -->
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="逐步采用日期" prop="phaseInDate">
                <el-date-picker
                  v-model="dataForm.phaseInDate"
@@ -106,6 +81,8 @@
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="逐步淘汰日期" prop="phaseOutDate">
                <el-date-picker
                  v-model="dataForm.phaseOutDate"
@@ -115,27 +92,17 @@
                >
                </el-date-picker>
              </el-form-item>
              <!-- <el-form-item prop="alternativeNo" label="替代">
            </el-col>
            <el-col :span="6">
              <el-form-item prop="description" label="描述">
                <el-input
                  v-model="dataForm.alternativeNo"
                  placeholder="替代"
                  v-model="dataForm.description"
                  placeholder="描述"
                  style="width: 100%"
                ></el-input>
              </el-form-item> -->
              <!-- <el-form-item prop="alternativeDesc" label="替代描述">
                <el-input
                  v-model="dataForm.alternativeDesc"
                  placeholder="替代描述"
                ></el-input>
              </el-form-item> -->
              <!-- <el-form-item label="已同步至IFS" prop="ifsSync">
                <span
                  style="width: 146px;display: inline-block;font-size:12px;font-weight:bold;"
                  >{{ dataForm.ifsSync ? '是' : '否' }}</span
                >
              </el-form-item> -->
              <!-- <el-form-item label="主工艺" prop="master">
                <el-switch v-model="dataForm.master"> </el-switch>
              </el-form-item> -->
              </el-form-item>
            </el-col>
            <el-col :span="6">
            </el-col>
          </el-row>
        </el-form>
@@ -731,7 +698,7 @@
        wireCore: null
      },
      dataRule: {
        partName: [
        partNo: [
          { required: true, message: '零件不能为空', trigger: 'change' }
        ],
        bomTypeDb: [
src/views/warehouse/changestock/index.vue
@@ -2,145 +2,90 @@
  <div class="mod-config">
    <basic-container>
      <div style="margin-left: 15px;">
        <el-row>
          <el-col :span="1">
            <div>
              <el-divider direction="vertical"></el-divider>
              <div
                style="float: left;height: 18px;font-size: 14px;line-height: 18px;font-weight: bold"
              >
                <span>零件</span>
              </div>
            </div>
          </el-col>
          <el-col :span="3">
            <div>
              <el-input
                class="change-stock-input"
                v-model="partNoStock"
                placeholder="零件"
                style="width: 100%"
                disabled
              >
                <el-button
                  slot="append"
                  icon="el-icon-search"
                  @click="openPartDialog()"
                ></el-button>
              </el-input>
            </div>
          </el-col>
          <el-col :span="1" :offset="1">
            <div>
              <el-divider direction="vertical"></el-divider>
              <div
                style="float: left;height: 18px;font-size: 14px;line-height: 18px;font-weight: bold"
              >
                <span>库位</span>
              </div>
            </div>
          </el-col>
          <el-col :span="3">
            <div>
              <el-input
                class="change-stock-input"
                v-model="locationNoStock"
                placeholder="库位号"
                @focus="openPicker(locationNoStock)"
                style="width: 100%"
                disabled
              >
                <i
                  slot="suffix"
                  v-show="locationNoStock"
                  @click="clearForm(locationNoStock)"
                  class="el-input__icon el-icon-error err-style"
                ></i>
                <el-button
                  slot="append"
                  icon="el-icon-search"
                  @click="openLocationDialog()"
                ></el-button>
              </el-input>
            </div>
          </el-col>
          <el-col :span="2">
            <div style="display:flex;justify-content:flex-end;">
              <div
                style="height: 18px;font-size: 14px;line-height: 18px;font-weight: bold;width:60px;"
              >
                <span>批次号</span>
              </div>
              <div>
                <el-divider direction="vertical"></el-divider>
              </div>
            </div>
          </el-col>
          <el-col :span="3">
            <div>
              <el-input
                class="change-stock-input"
                v-model="partBatchNoStock"
                placeholder="批次号"
                @focus="openPicker(partBatchNoStock)"
                style="width: 100%"
                disabled
              >
                <i
                  slot="suffix"
                  v-show="partBatchNoStock"
                  @click="clearStock(partBatchNoStock)"
                  class="el-input__icon el-icon-error err-style"
                ></i>
                <el-button
                  slot="append"
                  icon="el-icon-search"
                  @click="openStockDialog()"
                ></el-button>
              </el-input>
            </div>
          </el-col>
          <el-col :span="2">
            <div style="display:flex;justify-content:flex-end;">
              <div
                style="height: 18px;font-size: 14px;line-height: 18px;font-weight: bold;width:60px;"
              >
                <span>可用数量</span>
              </div>
              <div>
                <el-divider direction="vertical"></el-divider>
              </div>
            </div>
          </el-col>
          <el-col :span="3">
            <div>
              <el-select
                v-model="stockList.condition"
                placeholder="请选择"
                @change="conditionChange"
              >
                <el-option
                  v-for="item in conditionOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
        <el-form class="l-mes" style="width:100%" :model="searchForm" label-width="80px" label-position="right">
          <el-row>
            <el-col :span="5">
              <el-form-item label="零件">
                <el-input
                  class="change-stock-input"
                  v-model="searchForm.partNoStock"
                  placeholder="零件"
                  style="width: 100%"
                  disabled
                >
                </el-option>
              </el-select>
            </div>
          </el-col>
          <el-col :span="3">
            <div style="text-align:center;">
              <el-button @click="clearConditions">清空</el-button
              ><el-button
                @click="queryByConditions"
                :disabled="isSubmit"
                type="primary"
                >查询</el-button
              >
            </div>
          </el-col>
        </el-row>
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    @click="openPartDialog()"
                  ></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item label="库位">
                <el-input
                  class="change-stock-input"
                  v-model="searchForm.locationNoStock"
                  placeholder="库位号"
                  style="width: 100%"
                  disabled
                >
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    @click="openLocationDialog()"
                  ></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item label="批次号">
                <el-input
                  class="change-stock-input"
                  v-model="searchForm.partBatchNoStock"
                  placeholder="批次号"
                  style="width: 100%"
                  disabled
                >
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    @click="openStockDialog()"
                  ></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item label="可用数量">
                <el-select
                  style="width:100%"
                  v-model="searchForm.condition"
                  placeholder="请选择"
                  @change="conditionChange"
                >
                  <el-option
                    v-for="item in conditionOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="3" :offset="1">
              <div style="text-align:center;">
                <el-button @click="clearConditions">清空</el-button
                ><el-button
                  @click="queryByConditions"
                  :disabled="isSubmit"
                  type="primary"
                  >查询</el-button
                >
              </div>
            </el-col>
          </el-row>
        </el-form>
        <div style="margin-top: 15px;">
          <el-divider direction="vertical"></el-divider>
          <div
@@ -148,11 +93,11 @@
          >
            <span>实时库存</span>
          </div>
          <el-button type="primary" @click="addOrUpdateHandle()"
          <el-button size="mini" type="primary" @click="addOrUpdateHandle()"
            >新增</el-button
          >
          <el-button type="primary" @click="addStockSubmit()">接收</el-button>
          <el-button type="primary" @click="deleteStockSubmit()"
          <el-button size="mini" type="primary" @click="addStockSubmit()">接收</el-button>
          <el-button size="mini" type="primary" @click="deleteStockSubmit()"
            >发放</el-button
          >
@@ -307,6 +252,12 @@
export default {
  data() {
    return {
      searchForm: {
        partNoStock: null,
        locationNoStock: null,
        partBatchNoStock: null,
        condition: '>0',
      },
      stockList: {
        condition: '>0',
        locationNo: null,
@@ -322,9 +273,6 @@
      paramObj: {},
      dataRule: {},
      addOrUpdateVisible: false,
      partNoStock: null,
      locationNoStock: null,
      partBatchNoStock: null,
      showPart: false,
      showLocation: false,
      showStock: false,
@@ -355,7 +303,7 @@
    }
  },
  watch: {
    partNoStock: {
    'searchForm.partNoStock': {
      handler(newValue, oldValue) {
        if (newValue != null && newValue != undefined) {
          // this.getData()
@@ -364,7 +312,7 @@
      deep: true,
      immediate: true
    },
    locationNoStock: {
    'searchForm.locationNoStock': {
      handler(newValue, oldValue) {
        if (newValue != null && newValue != undefined) {
          // this.getData()
@@ -373,7 +321,7 @@
      deep: true,
      immediate: true
    },
    partBatchNoStock: {
    'searchForm.partBatchNoStock': {
      handler(newValue, oldValue) {
        if (newValue != null && newValue != undefined) {
          // this.getData()
@@ -386,16 +334,16 @@
  methods: {
    // 清空所有查询条件
    clearConditions() {
      this.partNoStock = null
      this.searchForm.partNoStock = null
      this.stockList.partNo = null
      this.paramObj.partId = null
      this.stockList.partName = null
      this.stockList.partId = null
      this.locationNoStock = null
      this.searchForm.locationNoStock = null
      this.stockList.locationNo = null
      this.stockList.locationId = null
      this.paramObj.locationId = null
      this.partBatchNoStock = null
      this.searchForm.partBatchNoStock = null
      this.stockList.partBatchNo = null
    },
    // 根据查询条件,搜索
@@ -403,15 +351,15 @@
      this.getData()
    },
    // 可用数量条件变更后,触发查询
    conditionChange() {
      // this.getData()
    conditionChange(val) {
      this.stockList.condition = val
    },
    // 零件
    openPartDialog() {
      this.showPart = true
    },
    getData() {
      if (this.partNoStock != null) {
      if (this.searchForm.partNoStock != null) {
        getStockCount(this.stockList).then((resp) => {
          const respData = resp.data.data
          if (respData && respData > 100) {
@@ -433,29 +381,10 @@
        this.$message.error('请先选择一个零件')
      }
    },
    openPicker() {
      document.activeElement.blur() // 主动触发onblur事件,是原生的js哟
    },
    clearForm() {
      this.locationNoStock = null
      this.stockList.locationNo = this.locationNoStock
      this.stockList.locationId = null
      this.paramObj.locationId = null
      // this.getData()
    },
    clearStock() {
      this.partBatchNoStock = null
      this.stockList.partBatchNo = this.partBatchNoStock
      this.locationNoStock = null
      this.stockList.locationNo = this.locationNoStock
      this.stockList.locationId = null
      this.paramObj.locationId = null
      // this.getData()
    },
    selectPart(param) {
      if (param) {
        this.partNoStock = param.partNo
        this.stockList.partNo = this.partNoStock
        this.searchForm.partNoStock = param.partNo
        this.stockList.partNo = this.searchForm.partNoStock
        this.paramObj.partId = param.id
        this.stockList.partName = param.partName
        this.stockList.partId = param.id
@@ -469,14 +398,15 @@
      // }
    },
    selectLocation(param) {
      console.log(param);
      if (param) {
        this.locationNoStock = param.locNo
        this.stockList.locationNo = this.locationNoStock
        this.searchForm.locationNoStock = param.locNo
        this.stockList.locationNo = this.searchForm.locationNoStock
        this.stockList.locationId = param.id
        this.paramObj.locationId = param.id
      } else {
        this.locationNoStock = null
        this.stockList.locationNo = this.locationNoStock
        this.searchForm.locationNoStock = null
        this.stockList.locationNo = this.searchForm.locationNoStock
        this.stockList.locationId = null
        this.paramObj.locationId = null
        // this.getData()
@@ -492,25 +422,25 @@
    dataFormSubmit() {},
    selectStock(param) {
      if (param) {
        this.partBatchNoStock = param.partBatchNo
        this.stockList.partBatchNo = this.partBatchNoStock
        this.searchForm.partBatchNoStock = param.partBatchNo
        this.stockList.partBatchNo = this.searchForm.partBatchNoStock
        this.stockList.locationNo = param.locationNo
        this.locationNoStock = param.locationNo
        this.searchForm.locationNoStock = param.locationNo
        this.stockList.locationId = param.locationId
        this.paramObj.locationId = param.locationId
        this.partNoStock = param.partNo
        this.stockList.partNo = this.partNoStock
        this.searchForm.partNoStock = param.partNo
        this.stockList.partNo = this.searchForm.partNoStock
        this.paramObj.partId = param.partId
        this.stockList.partName = param.partName
        this.stockList.partId = param.partId
      } else {
        this.partBatchNoStock = null
        this.stockList.partBatchNo = this.partBatchNoStock
        this.locationNoStock = null
        this.stockList.locationNo = this.locationNoStock
        this.searchForm.partBatchNoStock = null
        this.stockList.partBatchNo = this.searchForm.partBatchNoStock
        this.searchForm.locationNoStock = null
        this.stockList.locationNo = this.searchForm.locationNoStock
        this.stockList.locationId = null
        this.paramObj.locationId = null
        this.partNoStock = null
        this.searchForm.partNoStock = null
        this.stockList.partNo = null
        this.paramObj.partId = null
        this.stockList.partName = null
src/views/warehouse/stock/index.vue
@@ -11,13 +11,13 @@
        ref="warehouseStockTable"
      >
        <template #toolbar>
          <el-button
          <!-- <el-button
            v-if="permissions.warehouse_stock_scm"
            @click="pushScm()"
            type="primary"
            style="margin-left:10px;"
            >成品推送SCM
          </el-button>
          </el-button> -->
        </template>
      </ttable>
      <!-- 创建主生产计划 -->
@@ -65,7 +65,7 @@
      multipleSelection: [],
      uploadInfo: {
        // 是否展示上传EXCEL以及对应的url
        isShow: true,
        isShow: false,
        url: '/mes/stock/upload'
      },
      prelang: 'operation',
@@ -161,7 +161,7 @@
            isSearch: true,
            searchInfoType: 'text'
          },
          {
         /*  {
            width: '100',
            minWidth: '100',
            prop: 'partBatchNo',
@@ -220,7 +220,7 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          }, */
          {
            width: '100',
            minWidth: '100',
@@ -261,7 +261,7 @@
            isSearch: true,
            searchInfoType: 'text'
          },
          {
         /*  {
            width: '100',
            minWidth: '100',
            prop: 'reserveQuantity',
@@ -270,7 +270,7 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          }, */
          {
            width: '100',
            minWidth: '120',
@@ -291,7 +291,7 @@
            isSearch: true,
            searchInfoType: 'text'
          },
          {
          /* {
            width: '100',
            minWidth: '120',
            prop: 'sstockQuantity',
@@ -320,8 +320,8 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          {
          }, */
          /* {
            minWidth: '100',
            prop: 'status',
            label: '状态',
@@ -329,7 +329,7 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          }, */
          {
            minWidth: '100',
            prop: 'ifsBatchNo',
@@ -350,7 +350,7 @@
          }
        ],
        toolbar: [
          {
          /* {
            text: '移库',
            type: 'primary',
            fun: this.moveStock
@@ -369,7 +369,7 @@
            text: '成品标签2',
            type: 'primary',
            fun: this.warehousingSmalllPrint
          }
          } */
        ]
      },
      addOrUpdateVisible: false,
vue.config.js
@@ -2,11 +2,15 @@
 * 配置参考:
 * https://cli.vuejs.org/zh/config/
 */
// const url = 'http://192.168.2.7:9999'
const url = 'http://192.168.32.45:9999'
//const url = 'http://192.168.2.7:9999'
//const url = 'http://192.168.32.45:9999'
// const url = 'http://192.168.0.23:9999'
const url = 'http://localhost:9999'
// const url = 'http://localhost:9999'
const localUrl = 'http://localhost:8089'