loulijun2021
2023-03-03 0aa79c7b9926e01f61de7c6514ea1deffe3bee7c
1.节拍工价、工单新增控制必须设置计件单价
已修改4个文件
227 ■■■■■ 文件已修改
src/api/scgl.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/kb/ckgl.vue 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/scgl/gd.vue 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/zzmx/jpgj.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/scgl.js
@@ -375,3 +375,13 @@
    params: data
  })
}
// 工单派发选择工艺路线或选择生产车间时判断绑定条件
export function SelectRouteOrWkshop(data) {
  return request({
    url: 'ProductionManagement/SelectRouteOrWkshop',
    method: 'get',
    params: data
  })
}
src/views/kb/ckgl.vue
@@ -164,7 +164,7 @@
                  <el-table-column
                    prop="voucherdate"
                    label="单据日期"
                    width="130"
                    width="140"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.voucherdate" class="ellipsis">{{ row.voucherdate.substring(0, 10) }}</div>
@@ -174,7 +174,7 @@
                  <el-table-column
                    prop="wo"
                    label="单据编号"
                    width="195"
                    width="228"
                  >
                    <template slot-scope="{row}">
                      <div class="ellipsis">{{ row.wo }}</div>
@@ -183,7 +183,7 @@
                  <el-table-column
                    prop="customename"
                    label="客户"
                    width="125"
                    width="345"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.customename" class="ellipsis">{{ row.customename }}</div>
@@ -200,16 +200,16 @@
                  <!--                      <div v-else>/</div>-->
                  <!--                    </template>-->
                  <!--                  </el-table-column>-->
                  <el-table-column
                    prop="SourceVoucherCode"
                    label="来源单号"
                    width="185"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.SourceVoucherCode" class="ellipsis">{{ row.SourceVoucherCode }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
<!--                  <el-table-column-->
<!--                    prop="SourceVoucherCode"-->
<!--                    label="来源单号"-->
<!--                    width="185"-->
<!--                  >-->
<!--                    <template slot-scope="{row}">-->
<!--                      <div v-if="row.SourceVoucherCode" class="ellipsis">{{ row.SourceVoucherCode }}</div>-->
<!--                      <div v-else>/</div>-->
<!--                    </template>-->
<!--                  </el-table-column>-->
                  <!--                  <el-table-column-->
                  <!--                    prop="materiel_code"-->
                  <!--                    label="产品编号"-->
@@ -218,7 +218,7 @@
                  <el-table-column
                    prop="materiel_name"
                    label="产品名称"
                    width="170"
                    width="200"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.materiel_name" class="ellipsis">{{ row.materiel_name }}</div>
@@ -237,7 +237,7 @@
                  <el-table-column
                    prop="quantity"
                    label="数量"
                    width="87"
                    width="130"
                  >
                    <template slot-scope="{row}">
                      <div class="ellipsis">{{ row.quantity }}</div>
@@ -246,37 +246,37 @@
                  <el-table-column
                    prop="saleOutQuantity"
                    label="已发货数量"
                    width="100"
                    width="130"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.saleOutQuantity" class="ellipsis">{{ row.saleOutQuantity }}</div>
                      <div v-else>0</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="priuserdefnvc1"
                    label="检验方式"
                    width="110"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.priuserdefnvc1">{{ row.priuserdefnvc1 }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="priuserdefnvc2"
                    label="检验人员"
                    width="110"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.priuserdefnvc2">{{ row.priuserdefnvc2 }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
<!--                  <el-table-column-->
<!--                    prop="priuserdefnvc1"-->
<!--                    label="检验方式"-->
<!--                    width="110"-->
<!--                  >-->
<!--                    <template slot-scope="{row}">-->
<!--                      <div v-if="row.priuserdefnvc1">{{ row.priuserdefnvc1 }}</div>-->
<!--                      <div v-else>/</div>-->
<!--                    </template>-->
<!--                  </el-table-column>-->
<!--                  <el-table-column-->
<!--                    prop="priuserdefnvc2"-->
<!--                    label="检验人员"-->
<!--                    width="110"-->
<!--                  >-->
<!--                    <template slot-scope="{row}">-->
<!--                      <div v-if="row.priuserdefnvc2">{{ row.priuserdefnvc2 }}</div>-->
<!--                      <div v-else>/</div>-->
<!--                    </template>-->
<!--                  </el-table-column>-->
                  <el-table-column
                    prop="deliveryDate"
                    label="预计交货日期"
                    width="141"
                    width="180"
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.deliveryDate">{{ row.deliveryDate.substring(0,10) }}</div>
src/views/scgl/gd.vue
@@ -38,10 +38,10 @@
              </el-select>
            </el-form-item>
            <el-form-item label="订单编号" style=" display: flex;">
              <el-input v-model="form.mesordercode" placeholder="请输入" style="width: 200px" />
              <el-input v-model="form.mesordercode" placeholder="请输入" style="width: 200px"/>
            </el-form-item>
            <el-form-item label="源单单号" style="display: flex;">
              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item label="单据类型" style=" display: flex;">
              <el-select
@@ -60,16 +60,16 @@
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品编码" style=" display: flex;">
              <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;">
              <el-input v-model="form.partname" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.partname" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品规格" style=" display: flex;">
              <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="创建人员" style=" display: flex;">
              <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入" />
              <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;">
              <!--              <el-date-picker-->
@@ -93,7 +93,9 @@
            </el-form-item>
          </div>
          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
          <div class="bodySearchReset"
               :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
          >
            <el-button v-waves type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          </div>
@@ -346,7 +348,7 @@
                  />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">
                  <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" />
                  <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)"/>
                </el-tooltip>
              </div>
            </template>
@@ -494,7 +496,7 @@
        </el-form-item>
        <el-form-item label="工单编号" prop="mesordercode">
          <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />
          <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px"/>
        </el-form-item>
        <div style="display: flex">
          <el-form-item label="工单类型" prop="mesorderstus">
@@ -564,13 +566,13 @@
          </el-select>
        </el-form-item>
        <el-form-item v-if="operation!=='add'" label="产品名称" prop="partname">
          <el-input v-model="dialogForm.partname" disabled style="width: 200px" />
          <el-input v-model="dialogForm.partname" disabled style="width: 200px"/>
        </el-form-item>
        <el-form-item label="产品编码">
          <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />
          <el-input v-model="dialogForm.partcode" disabled style="width: 200px"/>
        </el-form-item>
        <el-form-item label="产品规格" prop="partspec">
          <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
          <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
        </el-form-item>
        <div style="display: flex">
          <div style="display: flex;flex-wrap: nowrap">
@@ -609,6 +611,7 @@
              :popper-append-to-body="false"
              style="width: 200px;"
              placeholder="请选择"
              @change="wkshopcodeChange"
              :disabled="dialogForm.routecode===''"
            >
              <el-option
@@ -620,29 +623,29 @@
            </el-select>
          </el-form-item>
        </div>
<!--        <el-form-item label="是否排程" prop="isAps">-->
<!--          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">-->
<!--            <el-radio key="Y" label="Y" value="Y">是</el-radio>-->
<!--            <el-radio key="N" label="N" value="N">否</el-radio>-->
<!--          </el-radio-group>-->
<!--        </el-form-item>-->
<!--        <el-form-item label="物料清单" :prop="dialogForm.isAps==='Y'?'bomId':''">-->
<!--          <el-select-->
<!--            v-model="dialogForm.bomId"-->
<!--            filterable-->
<!--            :disabled="dialogForm.isAps==='N'"-->
<!--            :popper-append-to-body="false"-->
<!--            style="width: 200px;"-->
<!--            placeholder="请选择"-->
<!--          >-->
<!--            <el-option-->
<!--              v-for="item in bomIdArr"-->
<!--              :key="item.id"-->
<!--              :label="item.version"-->
<!--              :value="item.id"-->
<!--            />-->
<!--          </el-select>-->
<!--        </el-form-item>-->
        <!--        <el-form-item label="是否排程" prop="isAps">-->
        <!--          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">-->
        <!--            <el-radio key="Y" label="Y" value="Y">是</el-radio>-->
        <!--            <el-radio key="N" label="N" value="N">否</el-radio>-->
        <!--          </el-radio-group>-->
        <!--        </el-form-item>-->
        <!--        <el-form-item label="物料清单" :prop="dialogForm.isAps==='Y'?'bomId':''">-->
        <!--          <el-select-->
        <!--            v-model="dialogForm.bomId"-->
        <!--            filterable-->
        <!--            :disabled="dialogForm.isAps==='N'"-->
        <!--            :popper-append-to-body="false"-->
        <!--            style="width: 200px;"-->
        <!--            placeholder="请选择"-->
        <!--          >-->
        <!--            <el-option-->
        <!--              v-for="item in bomIdArr"-->
        <!--              :key="item.id"-->
        <!--              :label="item.version"-->
        <!--              :value="item.id"-->
        <!--            />-->
        <!--          </el-select>-->
        <!--        </el-form-item>-->
        <el-form-item label="计划开始时间" prop="planstartdate">
          <el-date-picker
            v-model="dialogForm.planstartdate"
@@ -743,11 +746,20 @@
        <div class="footerButton">
          <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>
          <!--          <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">预览</el-button>-->
               <el-button
                 v-if="!sumbitBottonIsDisabled"
                 v-waves
                 type="primary"
                 :loading="$store.state.app.buttonIsDisabled"
                 :disabled="$store.state.app.buttonIsDisabled"
                 @click="dialogVisibleConfirm"
               >确 定</el-button>
          <el-button
            v-if="sumbitBottonIsDisabled"
            v-waves
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
            :disabled="$store.state.app.buttonIsDisabled"
            disabled
            @click="dialogVisibleConfirm"
          >确 定</el-button>
        </div>
@@ -923,20 +935,20 @@
              </el-select>
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="订单编号" style=" display: flex;">
              <el-input v-model="sourceForm.erpordercode" placeholder="请输入" style="width: 200px" />
              <el-input v-model="sourceForm.erpordercode" placeholder="请输入" style="width: 200px"/>
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="产品编码" style=" display: flex;">
              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" />
              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="产品名称" style=" display: flex;">
              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入" />
              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;">
              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入" />
              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="创建人员" style=" display: flex;">
              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入" />
              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入"/>
            </el-form-item>
          </div>
@@ -1226,7 +1238,7 @@
          >
            <!--            <div id="qrCode0" ref="qrCodeDiv0" />-->
          </div>
          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" />
          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0"/>
          <div
            style="z-index: 10;background-color:transparent;width: 120px;height:120px; position: absolute;right: 21px"
          />
@@ -1257,7 +1269,7 @@
            align="center"
          >
            <template slot-scope="{row}">
              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn" />
              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn"/>
            </template>
          </el-table-column>
          <el-table-column
@@ -1547,11 +1559,11 @@
      @close="handleCloseRoute"
    >
      <div>
        <i class="el-icon-s-comment" style="color:#42b983;" /> 产品名称:{{ dialogFormRoute.projectName }}
        <i class="el-icon-s-comment" style="color:#42b983;"/> 产品名称:{{ dialogFormRoute.projectName }}
      </div>
      <el-divider />
      <el-divider/>
      <div style="margin-bottom: 10px">
        <i class="el-icon-s-operation" style="color:#42b983;" /> 工艺路线集合
        <i class="el-icon-s-operation" style="color:#42b983;"/> 工艺路线集合
      </div>
      <div class="myCheckboxGroup">
@@ -1575,9 +1587,9 @@
        </div>
      </div>
      <el-divider />
      <el-divider/>
      <div>
        <i class="el-icon-s-operation" style="color:#42b983;" /> 默认工艺路线
        <i class="el-icon-s-operation" style="color:#42b983;"/> 默认工艺路线
      </div>
      <div style="margin-top: 20px">
        <el-select
@@ -1595,9 +1607,9 @@
          />
        </el-select>
      </div>
      <el-divider />
      <el-divider/>
      <div style="margin-bottom: 10px">
        <i class="el-icon-s-operation" style="color:#42b983;" /> 工序列表
        <i class="el-icon-s-operation" style="color:#42b983;"/> 工序列表
      </div>
      <div style="overflow-y: scroll">
        <el-table
@@ -1633,11 +1645,11 @@
          >
            <template slot-scope="{row}">
              <div v-if="row.enable==='Y'">
                <svg-icon icon-class="circleYes" style="margin-right: 2px" />
                <svg-icon icon-class="circleYes" style="margin-right: 2px"/>
                是
              </div>
              <div v-if="row.enable==='N'">
                <svg-icon icon-class="circleNo" style="margin-right: 2px" />
                <svg-icon icon-class="circleNo" style="margin-right: 2px"/>
                否
              </div>
            </template>
@@ -1661,7 +1673,7 @@
  AddUpdateMesOrder,
  ClosedMesOrder,
  DeleteMesOrder, ErpOrderSearch, JobCreationSonAddVison,
  MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep,
  MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, SelectRouteOrWkshop,
  SelectRouteStep
} from '@/api/scgl'
import { InventoryFileAssociationRoute, PartSelect, SaveInventoryFile } from '@/api/zzmx'
@@ -1906,7 +1918,8 @@
        disabledDate(time) {
          return time.getTime() < Date.now() - 8.64e7
        }
      }
      },
      sumbitBottonIsDisabled: false
    }
  },
  created() {
@@ -1966,6 +1979,20 @@
    // 订单状态改变时
    erporderstusChange(val) {
      this.form.mesorderstus = val
    },
    // 生产车间值改变时
    wkshopcodeChange(val) {
      const data = {
        partcode: this.dialogForm.partcode,
        routecode: this.dialogForm.routecode,
        wkshopcode: val
      }
      SelectRouteOrWkshop(data).then((res) => {
        // console.log(res, 1)
      }).catch(err => {
        // console.log(err, 2)
        this.sumbitBottonIsDisabled = true
      })
    },
    // 排序改变时
    sortChange({ column, prop, order }) {
@@ -2041,6 +2068,8 @@
      }
      this.dialogForm.wkshopcode = ''
      this.sumbitBottonIsDisabled = false
    },
    // 工艺路线值改变
    async routecodeChange(val) {
@@ -2214,6 +2243,7 @@
      this.bomIdArr = []
      this.$refs.dialogForm.clearValidate()
      this.sumbitBottonIsDisabled = false
    },
    // 对话框取消
    dialogVisibleCancel() {
src/views/zzmx/jpgj.vue
@@ -711,6 +711,9 @@
    },
    // 保存行
    async saveRow(row) {
      if (parseFloat(row.unprice) <= 0) {
        return this.$message.info('计件单价必须大于零!')
      }
      const data = {
        partcode: this.eqpTable.partcode, //  产品编码
        routecode: this.eqpTable.routecode, //  工艺路线编码