loulijun2021
2023-08-11 43f4fd08bb99f587c387391aad727fb82b34b7c1
1.存货类型页面优化
已修改3个文件
146 ■■■■ 文件已修改
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/InventoryList.vue 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -16,6 +16,7 @@
  "dependencies": {
    "@microsoft/signalr": "^7.0.9",
    "axios": "0.18.1",
    "array-to-tree": "^3.3.2",
    "core-js": "3.6.5",
    "cronstrue": "^2.28.0",
    "dayjs": "^1.11.5",
src/views/makeModel/InventoryList.vue
@@ -48,21 +48,28 @@
              <el-input v-model="form.partspec" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="存货类型" style=" display: flex;">
              <el-select
                v-model="form.stocktypecode"
              <el-cascader
                ref="cascader"
                :options="stocktypeArr"
                filterable
                :popper-append-to-body="false"
                style="width: 200px"
                placeholder="请选择"
              >
                <!--                @change="val=>stocktypecodeChange(val,'form')"-->
                <el-option
                  v-for="item in stocktypeArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                :props="defaultProps"
                @change="val=>cascaderChange(val,'form')"
                />
              </el-select>
              <!--              <el-select-->
              <!--                v-model="form.stocktypecode"-->
              <!--                filterable-->
              <!--                :popper-append-to-body="false"-->
              <!--                style="width: 200px"-->
              <!--                placeholder="请选择"-->
              <!--              >-->
              <!--                &lt;!&ndash;                @change="val=>stocktypecodeChange(val,'form')"&ndash;&gt;-->
              <!--                <el-option-->
              <!--                  v-for="item in stocktypeArr"-->
              <!--                  :key="item.code"-->
              <!--                  :label="item.name"-->
              <!--                  :value="item.code"-->
              <!--                />-->
              <!--              </el-select>-->
            </el-form-item>
            <el-form-item v-if="false" label="物料类型" style=" display: flex;">
              <el-select
@@ -272,22 +279,31 @@
          </el-select>
        </el-form-item>
        <el-form-item label="存货类型" prop="stocktypecode">
          <el-select
            v-model="dialogForm.stocktypecode"
            filterable
            :popper-append-to-body="false"
            style="width: 200px"
            placeholder="请选择"
          >
            <!--            @change="val=>stocktypecodeChange(val,'dialogForm')"-->
            <el-option
              v-for="item in stocktypeArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
          <el-cascader
            ref="cascaderDialog"
            :options="stocktypeArr"
            filterable
            :props="defaultPropsDialog"
            @change="val=>cascaderChange(val,'dialogForm')"
            />
          </el-select>
          <!--          <el-select-->
          <!--            v-model="dialogForm.stocktypecode"-->
          <!--            filterable-->
          <!--            :popper-append-to-body="false"-->
          <!--            style="width: 200px"-->
          <!--            placeholder="请选择"-->
          <!--          >-->
          <!--            &lt;!&ndash;            @change="val=>stocktypecodeChange(val,'dialogForm')"&ndash;&gt;-->
          <!--            <el-option-->
          <!--              v-for="item in stocktypeArr"-->
          <!--              :key="item.code"-->
          <!--              :label="item.name"-->
          <!--              :value="item.code"-->
          <!--            />-->
          <!--          </el-select>-->
        </el-form-item>
        <el-form-item label="所属仓库" prop="warehousecode">
          <el-select
@@ -720,6 +736,7 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
import arrayToTree from 'array-to-tree'
export default {
  name: 'CHDA',
@@ -981,7 +998,20 @@
      isBatchNo: false, // 是否批次管理
      isFifo: false, // 是否先进先出
      isInCheck: false, // 是否入库检验
      isOutCheck: false// 是否出厂检验
      isOutCheck: false, // 是否出厂检验
      defaultProps: {
        checkStrictly: true,
        expandTrigger: 'hover',
        value: 'code',
        label: 'name'
      },
      defaultPropsDialog: {
        // checkStrictly: true,
        expandTrigger: 'hover',
        value: 'code',
        label: 'name'
      }
    }
  },
  created() {
@@ -1079,6 +1109,34 @@
        }, 10000)
      }
    },
    cascaderChange(val, type) {
      if (type === 'form') {
        this.form.stocktypecode = val[val.length - 1]
      }
      if (type === 'dialogForm') {
        this.dialogForm.stocktypecode = val[val.length - 1]
      }
    },
    // parents:用于返回的数组,childNode:要查询的节点,treeData:json树形数据
    findParent(parents, childNode, treeData) {
      for (let i = 0; i < treeData.length; i++) {
        // 父节点查询条件
        if (treeData[i].code === childNode) {
          // 如果找到结果,保存当前节点
          parents.push(treeData[i].code)
          // 用当前节点再去原数据查找当前节点的父节点
          this.findParent(parents, treeData[i].iparent_id, this.stocktypeArr)
          break
        } else {
          if (treeData[i].children instanceof Array) {
            //    没找到,遍历该节点的子节点
            this.findParent(parents, childNode, treeData[i].children)
          }
        }
      }
      return parents
    },
    async getInventoryFileSelect() {
      const res = await InventoryFileSelect(this.form)
      this.tableData = res.data
@@ -1087,7 +1145,13 @@
    },
    async getStockTypeSelect() {
      const { data: res } = await StockTypeSelect()
      this.stocktypeArr = res
      this.stocktypeArr = arrayToTree(res, {
        parentProperty: 'iparent_id',
        customID: 'code',
        childrenProperty: 'children'
      })
      console.log(this.stocktypeArr, 2)
    },
    async getWareHouseSelect() {
      const { data: res } = await WareHouseSelect()
@@ -1139,6 +1203,7 @@
      this.form.stocktypecode = ''
      this.form.materialtypecode = ''
      this.form.storehousecode = ''
      this.$refs.cascader.checkedValue = ''
      this.getInventoryFileSelect()
    },
    // 新增按钮
@@ -1149,10 +1214,14 @@
    },
    // 修改按钮
    async edit(operation, row) {
      const cascaderCheckedValue = this.findParent([], row.stocktypecode, this.stocktypeArr)
      this.operation = operation
      this.dialogVisible = true
      // await this.stocktypecodeChange(row.stocktypecode, 'dialogForm')
      this.$nextTick(() => {
        this.$refs.cascaderDialog.checkedValue = cascaderCheckedValue.reverse()
        this.dialogForm.id = row.id
        this.dialogForm.materialcode = row.partcode
        this.dialogForm.materialname = row.partname
@@ -1205,6 +1274,7 @@
      this.isFifo = false
      this.isInCheck = false
      this.isOutCheck = false
      this.$refs.cascaderDialog.checkedValue = ''
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
vue.config.js
@@ -53,20 +53,21 @@
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: 'http://121.196.36.24:8017', // 请求的第三⽅接⼝地址       本地开发服务器
        // target: 'http://192.168.94.178:8001', // 请求的第三⽅接⼝地址       客户服务器
        changeOrigin: true, // 请求跨域时,需 配置此项
        pathRewrite: { // 路径重写,替换target中的请求地址
          ['^' + process.env.VUE_APP_BASE_API]: '/api/'
        }
        // ws: true;//开启ws, 如果是http代理此处可以不用设置
      },
      [process.env.VUE_APP_BASE_API_BASE]: {
        target: 'http://121.196.36.24:8019', // 请求的第三⽅接⼝地址       本地开发服务器
        changeOrigin: true, // 请求跨域时,需 配置此项
        pathRewrite: { // 路径重写,替换target中的请求地址
          ['^' + process.env.VUE_APP_BASE_API_BASE]: '/base/'
        }
        // ws: true;//开启ws, 如果是http代理此处可以不用设置
      }
      // [process.env.VUE_APP_BASE_API_BASE]: {
      //   target: 'http://121.196.36.24:8019', // 请求的第三⽅接⼝地址       本地开发服务器
      //   changeOrigin: true, // 请求跨域时,需 配置此项
      //   pathRewrite: { // 路径重写,替换target中的请求地址
      //     ['^' + process.env.VUE_APP_BASE_API_BASE]: '/base/'
      //   }
      //   // ws: true;//开启ws, 如果是http代理此处可以不用设置
      // }
    }
    // before: require('./mock/mock-server.js')
  },