zuozhengqing
2024-01-02 5e5291e7c7978e4905b1249b7e562d689d89586d
出入库产品列表添加从..出库,到..位置
4个文件已修改
105 ■■■■ 已修改文件
src/common/untils/request.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/makepager/CommonFormTableView.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/overview/AddOverviewDialog.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/overview/OverviewListView.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/common/untils/request.js
@@ -25,7 +25,7 @@
    prod:`//${window.location.hostname}:9080`,
    test:`//192.168.20.119:9080`,
    // 想跳到本地启动的登录页的话需要把dev改成你本地项目路径
    dev: `//192.168.20.158:8080`
    dev: `//192.168.8.112:8080`
  }
  return loginPathMap[environmentType()]
src/components/makepager/CommonFormTableView.vue
@@ -285,6 +285,25 @@
                  </template>
                </div>
              </el-form-item>
              <!-- 从 -->
              <el-form-item v-else-if="item.formLocation" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
                <div class="custom-name">
                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.formLocation }}</span>
                  <el-autocomplete
                    v-else
                    style="width: 100%"
                    v-model="scope.row.productCategory"
                    @focus="productTypeFocus"
                    :fetch-suggestions="
                      (queryString, callback) => {
                        querySearchAsync(queryString, callback, 'formLocation')
                      }
                    "
                    value-key="name"
                    @select="handleSelectClient('formLocation', $event)"
                  ></el-autocomplete>
                </div>
              </el-form-item>
              <!-- 产品类别 -->
              <el-form-item
                v-else-if="item.productType"
@@ -369,7 +388,7 @@
        <slot name="tableButton" />
      </el-table>
    </el-form>
    <div v-if="!detailEnter && !isinventory && !islistingrules && !isReorder" style="margin: 10px">
    <div v-if="!detailEnter && !isinventory  && !isReorder" style="margin: 10px">
      <el-button size="small" type="primary" @click="add">添加明细行</el-button>
      <!-- <el-button size="small" type="primary" @click="empty">清空</el-button> -->
    </div>
@@ -458,7 +477,8 @@
      locacionId: 0,
      productName: "",
      productId: "",
      initialPosition: ""
      initialPosition: "",
      formLocationList:[],
    }
  },
  created() {
@@ -497,6 +517,7 @@
        }
      })
    },
    // 下拉搜索
    async handleSelectClient(value, item) {
      this.$emit("selProductClick", value, item)
      if (value === "product") {
@@ -527,6 +548,8 @@
        restaurants = this.productNameOptions
      } else if (value === "productType") {
        restaurants = this.productTypeNameOptions
      }else if(value==="formLocation"){
        restaurants = this.selLocationOptions
      }
      var results = queryString ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants
      cb(results)
@@ -573,6 +596,7 @@
        }
      })
    },
    // 位置
    async getLocationList() {
      this.locacionName = ""
src/views/overview/AddOverviewDialog.vue
@@ -203,9 +203,10 @@
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item v-if="workType !== 1" label="源位置" prop="fromLocationId">
                <el-form-item v-if="workType !== 1" label="源位置" prop="location">
                  <el-select
                    v-model="editConfig.infomation.fromLocationId"
                    @change="rootLocationChange"
                    v-model="editConfig.infomation.location"
                    placeholder="请选择"
                    size="mini"
                    style="width: 90%"
@@ -215,7 +216,7 @@
                      v-for="item in toLocationOptions"
                      :key="item.id"
                      :label="item.jointName"
                      :value="item.id"
                      :value="{label:item.jointName,value:item.id}"
                    >
                    </el-option>
                  </el-select>
@@ -297,6 +298,8 @@
            <!-- 操作 -->
            <div v-if="activeName === 'first'">
              <CommonFormTableView
                ref="tableView"
                :islistingrules="true"
                :product-table-list="productTableList"
                :detail-enter="!showFooter"
                @inputContent="inputContent"
@@ -486,7 +489,7 @@
        sourceNumber: [{ required: true, message: "请输入来源单据", trigger: "blur" }],
        operationDate: [{ required: true, message: "请选择日期", trigger: "change" }],
        toLocationId: [{ required: true, message: "请选择仓库位置", trigger: "change" }],
        fromLocationId: [{ required: true, message: "请选择源位置", trigger: "change" }],
        location: [{ required: true, message: "请选择源位置", trigger: "change" }],
        operationTypeId: [{ required: true, message: "请选择入库类型", trigger: "change" }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
      },
@@ -747,8 +750,19 @@
          if (this.isNoProduct) {
            this.$message.error("请添加明细行或选择产品不能为空")
          } else {
            let requestUrl = this.editConfig.title === "新建" ? addOperation : updateOperation
            let params = this.saveParams()
            if(this.workType===2){
              params.details.map((item)=>{
                item.fromLocationId=item.fromLocationId.value
              })
            }else if(this.workType===3){
              params.details.map((item)=>{
                item.fromLocationId=item.fromLocationId.value
                item.toLocationId=item.toLocationId.value
              })
            }
            let requestUrl = this.editConfig.title === "新建" ? addOperation : updateOperation
            // let params = this.saveParams()
            requestUrl({
              ...params
            }).then((res) => {
@@ -794,13 +808,13 @@
        contacterID: contacterID,
        contacterName: contacterName,
        details: this.tableData,
        fromLocationId: data.fromLocationId || 0,
        locationId: data.location.value || 0,
        id: data.id,
        number: data.number || "",
        operationDate: data.operationDate || "",
        operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
        operationTypeName: this.receiptType,
        sourceNumber: data.sourceNumber || "",
        sourceNumber:data.sourceNumber || "" ,
        status: 3,
        toLocationId: data.toLocationId || 0,
        waybillNumber: data.waybillNumber || "",
@@ -843,16 +857,32 @@
        this.tableData = []
      }
      // this.tableData = this.editConfig.title !== "新建" ? list : []
      this.productTableList = {
        tableData: this.tableData,
        tableColumn: [
      let tableColumnArr=[]
      if(this.workType===1){
        tableColumnArr= [
          { label: "产品", prop: "productName", productName: true, isRequird: true },
          // { label: "说明", prop: "number", input: true },
          // { label: "日期", prop: "amount", date: true, isRequird: true },
          // { label: "截止日期", prop: "price", date: true },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "计量单位", prop: "unit" }
        ]
      }else if(this.workType===2){
        tableColumnArr = [
          { label: "产品", prop: "productName", productName: true, isRequird: true },
          { label: "从", prop: "fromLocationId", sonLocation: true, isRequird: true },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "计量单位", prop: "unit" }
        ]
      }else if(this.workType===3){
        tableColumnArr = [
          { label: "产品", prop: "productName", productName: true, isRequird: true },
          { label: "从", prop: "fromLocationId", sonLocation: true, isRequird: true },
          { label: "至", prop: "toLocationId", toLocation: true },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "计量单位", prop: "unit" }
        ]
      }
      this.productTableList = {
        tableData: this.tableData,
        tableColumn: tableColumnArr
      }
    },
    // 操作输入
@@ -1029,6 +1059,15 @@
          console.error(error)
        }
      }
    },
    // 源位置选择
    rootLocationChange(val){
      this.productTableList.tableData.map((item)=>{
        console.log(item,"item")
        item.toLocationId={}
        item.fromLocationId={}
      })
      this.$refs.tableView.setLocationList(val.label)
    }
  }
}
src/views/overview/OverviewListView.vue
@@ -247,8 +247,8 @@
          const list = res.data.map((item) => {
            return {
              ...item,
              from: item.fromLocation.name,
              to: item.toLocation.name
              // from: item.fromLocation.name,
              // to: item.toLocation.name
            }
          })
          this.tableList.tableInfomation = list || []
@@ -268,6 +268,12 @@
      this.editConfig.visible = true
      this.editConfig.title = val
      this.editConfig.operationTypeId = this.params.id
      this.editConfig.code = this.params.code
      row.details.map((item)=>{
        item.fromLocationId=item.fromLocation.jointName
        item.toLocationId=item.toLocation.jointName
      })
      row.locationID=row.location.jointName
      this.editConfig.infomation = { ...row }
    },
    // 新建