小小儁爺
23 小时以前 9fd5c98eb80c80775d43c581cc7155cf0168d26c
1.存货绑定工艺路线绑定显示优化2.生成工单修改优化
已修改7个文件
255 ■■■■■ 文件已修改
.env.production 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/organizationList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/inventoryList.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workOrder/produceOrderList.vue 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workOrder/workOrderList.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.production
@@ -6,4 +6,7 @@
# 文件下载地址   下载数据模板地址
# 本地服务器
VUE_APP_BASE_API_FILE = 'http://192.168.1.21:9000/'
VUE_APP_BASE_API_FILE = 'http://121.196.36.24:8049/'
# 客户 优步
# VUE_APP_BASE_API_FILE = 'http://192.168.0.120:8000/'
package.json
@@ -16,6 +16,8 @@
  "dependencies": {
    "@jiaminghi/data-view": "^2.10.0",
    "@microsoft/signalr": "^7.0.9",
    "@vue-office/pdf": "^2.0.10",
    "@vue/composition-api": "^1.7.2",
    "array-to-tree": "^3.3.2",
    "axios": "0.18.1",
    "core-js": "3.6.5",
@@ -42,10 +44,13 @@
    "vue-count-to": "^1.0.13",
    "vue-cron": "^1.0.9",
    "vue-cron-editor-buefy": "^0.2.17",
    "vue-demi": "^0.14.10",
    "vue-easy-print": "0.0.8",
    "vue-pdf": "^4.3.0",
    "vue-print-nb": "^1.7.5",
    "vue-router": "3.0.6",
    "vue-splitpane": "^1.0.6",
    "vue-webview": "0.0.34",
    "vuedraggable": "^2.24.3",
    "xlsx": "0.14.1"
  },
src/views/basicSettings/organizationList.vue
@@ -93,7 +93,7 @@
          </el-table-column>
          <el-table-column
            prop="islastreport"
            label="是否末道报工"
            label="是否只显示末道"
            sortable="custom"
          >
            <template slot-scope="{row}">
src/views/materialManager/inventoryList.vue
@@ -676,8 +676,10 @@
        }}
      </div>
      <el-divider />
      <div style="margin-bottom: 10px">
      <div style="margin-bottom: 10px;display: flex;align-items: center">
        <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 工艺路线集合
        <el-input v-model="filterRoute" style="width: 200px;margin-left: 10px;" placeholder="请输入工艺路线进行过滤" @input="filterRouteChange" />
      </div>
      <div class="myCheckboxGroup">
@@ -956,6 +958,7 @@
        <div style="width:calc(100% - 460px)">
          <div style="margin-bottom: 10px">
            <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 工艺路线集合
            <el-input v-model="filterRoute" style="width: 200px;margin-left: 10px;" placeholder="请输入工艺路线进行过滤" @input="filterRouteChange2" />
          </div>
          <div class="myCheckboxGroup">
@@ -1361,7 +1364,10 @@
      batchRouteDataSelectedIndex: 0, // 左侧产品选中值 带出右侧工艺路线
      dialogVisibleBatchStep: false,
      batchStepSelectedValue: []
      batchStepSelectedValue: [],
      filterRoute: '',
      routeOperationArrTemp: []
    }
  },
  watch: {
@@ -1397,6 +1403,13 @@
    this.getSelectApi()
  },
  methods: {
    filterRouteChange(val) {
      this.dialogFormRoute.routeOperationArr = this.routeOperationArrTemp.filter(i => i.name.includes(val))
    },
    filterRouteChange2(val) {
      this.batchRouteDataSelected = this.routeOperationArrTemp.filter(i => i.routename.includes(val))
    },
    // 工艺点击 ,按工序走
    async routeClick2(row) {
      this.dialogVisibleStep = true
@@ -1571,6 +1584,7 @@
        if (this.mesSetting.route) { // 按工艺路线
          this.batchRouteData = res.data
          this.batchRouteDataSelected = this.batchRouteData[0].children
          this.routeOperationArrTemp = this.batchRouteData[0].children
          this.batchRouteDataSelectedIndex = 0
          this.batchRouteData[this.batchRouteDataSelectedIndex].children.forEach((item, index) => {
            item.isSelected1 = false
@@ -1642,9 +1656,10 @@
      this.defaultroute_code = ''
      this.defaultroute_codeArr = []
      this.batchRouteData = []
      this.filterRoute = ''
    },
    partcodeSelected(val, index) {
      this.batchRouteDataSelected = val.children
      this.batchRouteDataSelected = val.children.filter(i => i.routename.includes(this.filterRoute))
      this.batchRouteDataSelectedIndex = index
      this.batchRouteData[this.batchRouteDataSelectedIndex].children.forEach((item, index) => {
        item.isSelected1 = false
@@ -1698,6 +1713,7 @@
            loading.close()
            this.dialogVisibleRoute = true
            this.dialogFormRoute.routeOperationArr = res.data
            this.routeOperationArrTemp = res.data
            // let waitFlag = false// 回显等待是否放行
            this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
@@ -1738,6 +1754,7 @@
    handleCloseRoute() {
      this.dialogFormRoute.routeOperationArr = []
      this.defaultroute_codeArr = []
      this.filterRoute = ''
    },
    // 取消
    routeDialogVisibleCancel() {
@@ -2220,6 +2237,8 @@
  .myCheckboxGroup {
    display: flex;
    flex-wrap: wrap;
    max-height: 200px;
    overflow: auto;
    .myCheckbox {
      //border: 1px solid $main_color;
src/views/workOrder/produceOrderList.vue
@@ -286,66 +286,66 @@
            width="150"
            sortable="custom"
          />
<!--          <el-table-column-->
<!--            prop="priuserdefnvc1"-->
<!--            label="客户名称"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column-->
<!--            prop="priuserdefnvc6"-->
<!--            label="客户编码"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column-->
<!--            prop="priuserdefnvc2"-->
<!--            label="对内名称"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column-->
<!--            prop="priuserdefnvc3"-->
<!--            label="CTP日期"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column-->
<!--            prop="priuserdefnvc4"-->
<!--            label="钢刀编号"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column-->
<!--            prop="priuserdefnvc5"-->
<!--            label="盒型"-->
<!--            width="110"-->
<!--            sortable="custom"-->
<!--          >-->
<!--            <template slot-scope="{row}">-->
<!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
<!--            </template>-->
<!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc1"-->
          <!--            label="客户名称"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc6"-->
          <!--            label="客户编码"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc2"-->
          <!--            label="对内名称"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc3"-->
          <!--            label="CTP日期"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc4"-->
          <!--            label="钢刀编号"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="priuserdefnvc5"-->
          <!--            label="盒型"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            prop="clerkuser"
            label="销售业务员"
@@ -734,7 +734,8 @@
        saleOrderDeliveryDate: '', // 预计交付日期
        paystartdate: '', //   预计开工日期
        payenddate: ''//  预计完工日期
        payenddate: '', //  预计完工日期
        islastreport: ''
      },
      operation: '',
      dialogFormRules: {
@@ -992,6 +993,7 @@
          data.push({
            'erporderid': i.id,
            'sbid': i.sbid,
            'islastreport': i.islastreport,
            'erpordercode': i.wo,
            'partcode': i.partcode,
            'wkshopcode': i.wkshp_code,
@@ -1045,6 +1047,7 @@
      this.$nextTick(() => {
        this.dialogForm.sbid = row.sbid
        this.dialogForm.islastreport = row.islastreport
        this.dialogForm.erporderid = row.id
        this.dialogForm.erpordercode = row.wo
        this.dialogForm.saleordercode = row.saleOrderCode
@@ -1076,6 +1079,7 @@
      this.dialogForm = {
        erporderid: '', // 订单id
        sbid: '', // 订单明细id
        islastreport: '', //
        erpordercode: '', // 订单编号
        saleordercode: '', // 销售订单
@@ -1124,6 +1128,7 @@
          this.$store.state.app.buttonIsDisabled = true
          const data = {
            'sbid': this.dialogForm.sbid,
            'islastreport': this.dialogForm.islastreport,
            'erporderid': this.dialogForm.erporderid,
            'erpordercode': this.dialogForm.erpordercode,
            'saleordercode': this.dialogForm.saleordercode,
src/views/workOrder/workOrderList.vue
@@ -598,24 +598,24 @@
            show-tooltip-when-overflow
            prop="delive_qty"
          />
          <!--          <el-table-column-->
          <!--            label="操作"-->
          <!--            width="120"-->
          <!--            fixed="right"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div class="operationClass">-->
          <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="SOP预览" placement="top">-->
          <!--                  <i-->
          <!--                    v-if="mesSetting.tech"-->
          <!--                    class="el-icon-files"-->
          <!--                    style="cursor: pointer;color:#42b983;margin-right: 15px"-->
          <!--                    @click="pre(row,2)"-->
          <!--                  />-->
          <!--                </el-tooltip>-->
          <!--              </div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            label="操作"
            width="120"
            fixed="right"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip v-del-tab-index class="item" effect="dark" content="SOP预览" placement="top">
                  <i
                    v-if="mesSetting.tech"
                    class="el-icon-files"
                    style="cursor: pointer;color:#42b983;margin-right: 15px"
                    @click="pre(row,2)"
                  />
                </el-tooltip>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
@@ -3166,6 +3166,7 @@
      const flag2 = []
      const data = []
      this.formData3.forEach((i, index) => {
        const islastreport = this.wkshopcodeArr.find(j => j.torg_code === i.wkshopcode).islastreport
        const workListSub = []
        if (i.stepTableData.length > 0) {
          i.stepTableData.forEach((it, j) => {
@@ -3177,10 +3178,12 @@
                isbott: j === 0 ? 'Y' : 'N',
                isend: j === i.stepTableData.length - 1 ? 'Y' : 'N',
                ratio: it.ratio,
                sumqty: it.sumqty
                sumqty: it.sumqty,
                isShow: islastreport === 'N' ? 'Y' : (j === i.stepTableData.length - 1 ? 'Y' : 'N')
              }
            )
          })
          console.log(JSON.parse(JSON.stringify(workListSub)))
          if (this.mesSetting.isOrder) {
            const f = workListSub.every((item, index, array) => {
@@ -3905,6 +3908,10 @@
          if (this.mesSetting.route && !this.dialogForm.routecode) {
            return this.$message.error('请选择工艺路线!')
          }
          const islastreport = this.wkshopcodeArr.find(i => i.torg_code === this.dialogForm.wkshopcode).islastreport
          // console.log(islastreport === 'N', islastreport)
          const workListSub = []
          this.stepTableData.forEach((i, j) => {
            workListSub.push(
@@ -3915,7 +3922,8 @@
                isbott: j === 0 ? 'Y' : 'N',
                isend: j === this.stepTableData.length - 1 ? 'Y' : 'N',
                ratio: i.ratio,
                sumqty: i.sumqty
                sumqty: i.sumqty,
                isShow: islastreport === 'N' ? 'Y' : (j === this.stepTableData.length - 1 ? 'Y' : 'N')
              }
            )
          })
@@ -3932,7 +3940,7 @@
              return this.$message.error('有序报工情况下,超报比例后道工序不能大于前道工序!')
            }
          }
          console.log(isNaN(this.dialogForm.mesqty - this.dialogForm.mesqtyinit))
          // console.log(isNaN(this.dialogForm.mesqty - this.dialogForm.mesqtyinit))
          const data = {
            wostatus: this.dialogForm.mesorderstus, // 工单状态
            wocode: this.dialogForm.mesordercode, // 工单号
@@ -3951,6 +3959,8 @@
            routecode: this.dialogForm.routecode,
            workListSub
          }
          // console.log(JSON.parse(JSON.stringify(data)))
          this.$store.state.app.buttonIsDisabled = true
          AddUpdateMesOrder(data, this.operation === 'add' ? 'Add' : 'Update').then(res => {
@@ -4034,8 +4044,13 @@
      MesOrderPrintSearch(data2).then(res2 => {
        if (res2.code === '200') {
          this.dialogVisibleApprove = true
          let res3 = []
          if (row.islastreport === 'Y') {
            res3 = res2.data.recordset.filter(i => i.isshow === 'Y')
          } else {
            res3 = res2.data.recordset
          }
          const res3 = res2.data.recordset
          // this.tableDataPrint = res3
          this.tableDataPrint = this.chunkArray(res3, 8)
@@ -4445,12 +4460,12 @@
        data_sources: row.data_sources
      }
      const { data: res } = await UpdateMesOrderStepSearch(data)
      if (row.islastreport === 'Y') {
        this.tableDataDetail = res.stepdata.filter(i => i.isend === 'Y')
      } else {
        this.tableDataDetail = res.stepdata
      }
      this.tableDataDetail = res.stepdata
      // if (row.islastreport === 'Y') {
      //   this.tableDataDetail = res.stepdata.filter(i => i.isend === 'Y')
      // } else {
      //   this.tableDataDetail = res.stepdata
      // }
    },
    // 工序删除
    stepDel(row) {
@@ -4566,10 +4581,22 @@
$main_color: #42b983;
.stepSelectedValueClass {
  ::v-deep input {
    //min-height: 34px !important;
    height: 68px !important;
  //::v-deep input {
  //  //min-height: 34px !important;
  //  height: 98px !important;
  //}
  ::v-deep .el-input__inner{
    height: 120px!important;
  }
  ::v-deep .el-select__tags>span{
    display: flex ;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
.dialogVisibleRoute {
vue.config.js
@@ -53,7 +53,7 @@
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: 'http://121.196.36.24:8049', // 本地
        // target: 'http://192.168.1.21:9000', // 浙江优步体育用品股份有限公司
        // target: 'http://192.168.0.120:8000', // 浙江优步体育用品股份有限公司
        changeOrigin: true, // 请求跨域时,需 配置此项
        pathRewrite: { // 路径重写,替换target中的请求地址
          ['^' + process.env.VUE_APP_BASE_API]: '/api/'