zouyu
2023-11-29 a97ed98a732f533edd1b2b61ca3dbcaec7406306
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改6个文件
已添加1个文件
446 ■■■■ 文件已修改
src/api/warehouse/pallettransports.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/common/ztt-table.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/feed-form.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/feed-pane.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/Packaging_ledger/index.vue 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warehouse/pallettransports/index.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/warehouse/pallettransports.js
@@ -23,6 +23,14 @@
  })
}
export function selectAll(data) {
  return request({
    url: '/mes/palletTransportsDetail/selectAll',
    method: 'get',
    params: data
  })
}
export function putPalletTransports(obj) {
  return request({
    url: '/mes/palletTransports',
src/views/common/ztt-table.vue
@@ -937,7 +937,8 @@
      }
    },
    getDataList(selectedId) {
      this.dataListLoading = true
      // this.dataListLoading = true
      this.dataListLoading = false
      var criteria = {}
      criteria.dateTimeFilters = this.dateTimeFilters
      criteria.multiSearchFilter = this.multiSearchFilter
src/views/product/workbench/feed-form.vue
@@ -29,10 +29,10 @@
          >
          </el-table-column>
          <el-table-column
            prop="partDescription"
            prop="partName"
            header-align="center"
            align="center"
            label="零件描述"
            label="零件"
          >
          </el-table-column>
          <el-table-column
@@ -205,13 +205,13 @@
      getCheckRawPart(partNoList).then((response) => {
        if (response.data.code === 0) {
          // éœ€è¦å¯†ç ç¡®è®¤æƒ…况
          if (response.data.data.success === false) {
            this.messages = response.data.data.message
            this.onnerVisible = true
          } else {
          //if (response.data.data.success === false) {
          //  this.messages = response.data.data.message
          //  this.onnerVisible = true
          //} else {
            // ä¸éœ€è¦å¯†ç  ç›´æŽ¥æŠ•æ–™
            this.saveFeed()
          }
          //}
        }
      })
    },
src/views/product/workbench/feed-pane.vue
@@ -229,16 +229,16 @@
            </template>
          </el-table-column> -->
          <el-table-column
            label="零件描述"
            prop="partDescription"
            label="零件"
            prop="partName"
            align="center" show-overflow-tooltip
          >
            <template slot="header">
              <div style="line-height: 14px;">零件描述</div>
              <div style="line-height: 14px;">零件</div>
              <div class="th" @click.stop>
                <el-input
                  type="text"
                  v-model="queryParamTwo.partDescription"
                  v-model="queryParamTwo.partName"
                  @keyup.enter.native="handleStockList"
                  clearable
                  @clear="handleStockList"
@@ -247,7 +247,7 @@
              </div>
            </template>
            <template slot-scope="scope">
              <span>{{ scope.row.partDescription }}</span>
              <span>{{ scope.row.partName }}</span>
            </template>
          </el-table-column>
          <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center">
@@ -1202,7 +1202,7 @@
        :show-overflow-tooltip="true"
      >
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">零件描述</div>
          <div style="line-height: 14px;">零件</div>
          <div class="th" @click.stop>
            <el-input
              type="text"
src/views/quality/Packaging_ledger/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,287 @@
<template>
    <div class="mod-config">
        <basic-container>
        <el-row>
            <el-col :span="11">
            <ttable
        :table="table"
        :isShowHide="true"
        :prelang="prelang"
        :options="options"
        ref="processconfiguration"
        >
        <template #toolbar></template>
            </ttable>
            </el-col>
            <el-col :span="13" style="padding-left: 10px">
                <el-card>
                <div slot="header">
                <el-row>
                    <el-col :span="8">
                    <span>标准参数</span>
                    </el-col>
                    <el-col :span="8" :offset="4">
                    <!-- <el-button
                        style="float: right; padding: 3px 0"
                        type="text"
                        @click="beginItemLayOut"
                    >
                        å¸ƒå±€
                    </el-button> -->
                    </el-col>
                    <el-col :span="2">
                    <!-- <el-button
                        style="float: right; padding: 3px 0"
                        type="text"
                        :disabled="isSubmit"
                        v-thinclick="`dataFormTestStandardParam`"
                        v-if="editable"
                        >保存
                    </el-button> -->
                    </el-col>
                    <el-col :span="2">
                    <!-- <el-button
                        style="float: right; padding: 3px 0"
                        type="text"
                        @click="relateOperationParam()"
                        v-if="editable"
                        >添加
                    </el-button> -->
                    </el-col>
                </el-row>
                <el-row>
                    <!-- <span style="font-weight:500" v-if="testNo.length > 0"
                    >您当前选择的检测标准编号是:<span style="color:#066EFF">{{
                        testNo
                    }}</span></span
                    > -->
                </el-row>
                </div>
                <el-table
              :data="testStandardParams"
              id="testStandardParamTable"
              ref="testStandardParam"
              :default-sort="{ prop: 'index' }"
              highlight-current-row
              height="700"
              style="width: 100%"
              class="l-mes-table"
              border
              stripe
            >
              <el-table-column
                prop="index"
                label="序号"
                align="center"
                width="50"
              />
              <!-- <el-table-column
                label="是否引用工艺参数"
                prop="isReference"
                align="center"
              >
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.isReference"
                    placeholder="请选择"
                    style="width: 100%;"
                  >
                    <el-option
                      v-for="(item, index) in referenceOptions"
                      :key="index"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="是否抽检" prop="isCheck" align="center">
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.isCheck"
                    placeholder="请选择"
                    style="width: 100%;"
                  >
                    <el-option
                      v-for="(item, index) in isCheckOptions"
                      :key="index"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column
                label="线芯"
                prop="wireCore"
                align="center"
                width="60"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.wireCore"></el-input>
                </template>
              </el-table-column> -->
              <el-table-column label="参数编号" prop="code" align="center" />
              <el-table-column
                label="参数项"
                prop="parameterItem"
                align="center"
              />
              <el-table-column
                label="要求范围"
                prop="referenceValue"
                align="center"
              >
              </el-table-column>
              <el-table-column
                label="默认值"
                prop="defaultValue"
                align="center"
              >
              </el-table-column>
              <el-table-column
                label="参数项类型"
                prop="paramType"
                align="center"
              >
              </el-table-column>
              <el-table-column
                label="参数格式"
                prop="parameterFormat"
                align="center"
                width="80"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.parameterFormat"></el-input>
                </template>
              </el-table-column><el-table-column
                label="测试方法"
                prop="purpose"
                align="center"
                width="80"
              >
              </el-table-column>
              <el-table-column
                label="测试目的"
                prop="method"
                align="center"
                width="80"
              >
              </el-table-column>
              <el-table-column label="单位" prop="unit" align="center" />
            </el-table>
                </el-card>
            </el-col>
        </el-row>
        </basic-container>
    </div>
</template>
<script>
import ttable from '@/views/common/ztt-table.vue'
export default {
    data(){
        return {
            prelang: 'operation',
            dataListLoading: false,
            options: {
                height: 300, // é»˜è®¤é«˜åº¦-为了表头固定
                stripe: true, // æ˜¯å¦ä¸ºæ–‘马纹 table
                highlightCurrentRow: false, // æ˜¯å¦è¦é«˜äº®å½“前行
                border: true, // æ˜¯å¦æœ‰çºµå‘边框
                lazy: false, // æ˜¯å¦éœ€è¦æ‡’加载
                fit: true, // åˆ—的宽度是否自撑开
                multiSelect: true, //
                seqNo: true,
                isShowHide: true, // æ˜¯å¦æ˜¾ç¤ºæ˜¾å½±æŒ‰é’®
                isRefresh: true, // æ˜¯å¦æ˜¾ç¤ºåˆ·æ–°æŒ‰é’®
                isSearch: true, // é«˜çº§æŸ¥è¯¢æŒ‰é’®
                defaultOrderBy: { column: 'createTime', direction: 'desc' }
            },
            table: {
                total: 0,
                currentPage: 1,
                pageSize: 20,
                data: [],
                // æ ‡é¢˜
                column: [
                  {
                    minWidth: '140',
                    prop: 'oo',
                    label: '订单编号',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },{
                    minWidth: '140',
                    prop: 'materhhooial',
                    label: '质量追溯号',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },
                  {
                    minWidth: '140',
                    prop: 'mateuurial',
                    label: '产品名称',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },
                  {
                    minWidth: '140',
                    prop: 'materoiial',
                    label: '规格型号',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },
                  {
                    minWidth: '140',
                    prop: 'matperoial',
                    label: '单位',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },
                  {
                    minWidth: '140',
                    prop: 'materpial',
                    label: '数量',
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'text',
                  },
                  {
                    minWidth: '130',
                    width: '150',
                    prop: 'dealTime',
                    label: '入库时间',
                    sort: true,
                    isTrue: true,
                    isSearch: true,
                    searchInfoType: 'datetimerange',
                },
                ],
                toolbar: [
                  {
                    text: 'xxx',
                    type: 'primary',
                  },
                ],
            },
       }
    },
    medthods: {},
//     computed: {
//     ...mapGetters(['permissions'])
//   },
    components: {
    ttable
    },
}
</script>
src/views/warehouse/pallettransports/index.vue
@@ -17,7 +17,8 @@
            <div></div>
          </div>
          <div style="padding:0px 20px 0px;">
            <el-table class="pallet-transports-optask-table" :data="palletTransportsOptaskData" style="width: 100%;"
            <el-table class="pallet-transports-optask-table" :data="palletTransportsOptaskData"
            style="width: 100%;"
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border highlight-current-row
              @row-click="optaskRowClick" stripe ref="palletTransportsOptaskTable">
              <el-table-column align="center" width="55" label="单选">
@@ -89,7 +90,8 @@
          </div>
          <div style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;">
            <div>
              <span style="font-weight:bold;">移库明细</span><span style="color:red;">({{
              <span style="font-weight:bold;">移库明细</span>
              <span style="color:red;">({{
                palletTransportsMaterialMultipleSelection.length > 0
                ? palletTransportsMaterialMultipleSelection[
                  palletTransportsMaterialMultipleSelection.length - 1
@@ -111,27 +113,27 @@
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border
              @selection-change="palletTransportsDetailSelectionChange" stripe ref="palletTransportsDetailTable">
              <el-table-column type="selection" width="55"> </el-table-column>
              <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip>
              <el-table-column prop="part_no" label="零件号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip>
              <el-table-column prop="part_desc" label="零件描述" align="center" show-overflow-tooltip>
              </el-table-column>
              <!-- <el-table-column prop="batchNo" label="批次号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="wdr" label="WDR" align="center">
              </el-table-column> -->
              <el-table-column prop="operationTaskNo" label="工单" align="center" show-overflow-tooltip>
              <el-table-column prop="operation_task_no" label="工单" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="transferQuantity" label="移库数量" align="center">
              <el-table-column prop="transfer_quantity" label="移库数量" align="center">
              </el-table-column>
              <el-table-column prop="unit" label="单位" align="center">
              </el-table-column>
              <!-- <el-table-column prop="fromIfsLocationNo" label="IFS从库位" align="center">
              </el-table-column> -->
              <el-table-column prop="toIfsLocationNo" label="移至库位" align="center">
                <template slot-scope="scope">
              <el-table-column prop="to_ifs_location_no" label="移至库位" align="center">
                <!-- <template slot-scope="scope">
                  <el-link type="primary" @click="openSingleLocationDialog(scope.row)">{{ scope.row.toIfsLocationNo
                  }}</el-link>
                </template>
                </template> -->
              </el-table-column>
              <el-table-column prop="state" label="状态" align="center">
                <template slot-scope="scope">
@@ -146,8 +148,8 @@
              </el-table-column>
              <el-table-column label="操作" align="center" width="85">
                <template slot-scope="scope">
                  <el-button type="text" @click="openEditStockDialog(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true">编辑</el-button>
                  <!-- <el-button type="text" @click="openEditStockDialog(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true">编辑</el-button> -->
                  <el-button type="text" @click="delDetail(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true">删除</el-button>
                </template>
@@ -186,7 +188,8 @@
  delPalletTransportsMaterialObj,
  palletTransportsDetailFetchList,
  delPalletTransportsDetailObj,
  executeMoveLocation
  executeMoveLocation,
  selectAll,
} from '@/api/warehouse/pallettransports'
import { getByPalletTransId } from '@/api/plan/operationtask'
import ttable from '@/views/common/ztt-table.vue'
@@ -198,7 +201,7 @@
import detailIfsLocationDialog from './detail-ifslocation-form'
import adaptive from '@/util/adaptive'
import { mapGetters } from 'vuex'
import { saveBatchPalletTransportsDetail } from '@/api/warehouse/pallettransports'
export default {
  data() {
    return {
@@ -211,6 +214,8 @@
        isShow: false,
        url: ''
      },
      WorkOrder:{},
      datalistAPI:'',
      prelang: 'pallettransports',
      options: {
        height: 300, // é»˜è®¤é«˜åº¦-为了表头固定
@@ -544,25 +549,39 @@
    },
    // èŽ·å–ç§»åº“æ˜Žç»†æ•°æ®åˆ—è¡¨
    getPalletTransportsDetailData() {
      this.palletTransportsDetailData = []
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        const currPalletTransportsMaterial = this
          .palletTransportsMaterialMultipleSelection[
          this.palletTransportsMaterialMultipleSelection.length - 1
        ]
        let obj = {
          partNo: currPalletTransportsMaterial.partNo,
          partDesc: currPalletTransportsMaterial.partDesc,
          operationTaskNo: this.currOptask.optaskNo,
          transferQuantity: currPalletTransportsMaterial.surplusQuantity,
          unit: currPalletTransportsMaterial.unit,
          toIfsLocationNo: currPalletTransportsMaterial.currPalletTransportsMaterial,
          state: null
      console.log("对应工单",this.WorkOrder);
      console.log("物料需求",this.palletTransportsMaterialMultipleSelection);
      let transportsDetails =[]
      transportsDetails = this.palletTransportsMaterialMultipleSelection.map(el =>{
        return{
          partNo:el.partNo,
          partDesc: el.partDesc,
          transferQuantity: el.surplusQuantity,
          toIfsLocationNo:el.toIfsLocationNo,
          toIfsLocationName: el.toIfsLocationName,
          transportsId: el.transportsId,
          transportsMaterialId:el.id,
          operationTaskNo:this.WorkOrder.optaskNo,
          operationTaskId:this.WorkOrder.id,
          unit: el.unit,
        }})
      // this.palletTransportsDetailData = transportsDetails
      if (transportsDetails.length > 0) {
          saveBatchPalletTransportsDetail(transportsDetails)
            .then((response) => {
              const resData = response.data
              if (resData.code === 0) {
                this.innerVisible = false
                this.$message.success('添加移库明细成功')
                this.$emit('refreshDataList')
              } else {
                this.$message.error('添加移库明细失败')
              }
              this.palletTransportsMaterialSelectionChange()
            })
            .catch(() => {
            })
        }
        this.palletTransportsDetailData.push(obj)
      } else {
        this.$message.error('请先选择物料需求')
      }
    },
    // æ·»åŠ ifs物料库存回调
    addIfsStockCallback() {
@@ -600,10 +619,11 @@
    },
    // æ‰“开单个明细批量更新库位弹框
    openSingleLocationDialog(row) {
      console.log(row);
      if (row.state === '01initial') {
        this.detailList = []
        this.detailList.push(row)
        this.showDetailLocation = true
        // this.showDetailLocation = true
      } else {
        this.$message.error('移库明细已执行')
      }
@@ -686,16 +706,25 @@
    },
    palletTransportsMaterialSelectionChange(val) {
      this.palletTransportsMaterialMultipleSelection = val
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        const currPalletTransportsMaterial = this
          .palletTransportsMaterialMultipleSelection[
          this.palletTransportsMaterialMultipleSelection.length - 1
        ]
        this.materialRow = currPalletTransportsMaterial
      } else {
        this.materialRow = null
      }
      // this.getPalletTransportsDetailData()
      let ids =[]
      this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)})
      let pId = ids[ids.length - 1];
      console.log(pId);
      if(pId!=null){
        selectAll({
            transportsId:this.currPalletTransportsRow.id,
            transportsMaterialId: pId
          }).then((res) =>{
            console.log(res);
            if(res.data.data){
              this.palletTransportsDetailData.push(res.data.data)
            }else{
              this.palletTransportsDetailData = []
            }
            })
         }else{
          this.palletTransportsDetailData = []
         }
    },
    palletTransportsDetailSelectionChange(val) {
      this.palletTransportsDetailMultipleSelection = val
@@ -712,6 +741,8 @@
      })
    },
    optaskRowClick(row, column) {
      console.log(row,222222222222222);
      this.WorkOrder = row
      this.palletTransportsOptaskData.forEach((item) => {
        if (row.id !== item.id) {
          item.commonChecked = false
vue.config.js
@@ -2,12 +2,13 @@
 * é…ç½®å‚考:
 * 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.0.23:9999'
// const url = 'http://192.168.83.249:9999'
// const url = 'http://localhost:9999'
//  const url = 'http://localhost:9999'
const url = 'http://ztt-gateway:9999'
// const url = 'http://ztt-gateway:9999'
const localUrl = 'http://localhost:8089'
//const localUrl = 'http://10.88.15.95:8089'
const CompressionWebpackPlugin = require('compression-webpack-plugin')