فهرست منبع

Merge branch 'develop_yh48-1' of jianguan-web/qpls-md-html into pre-release

李磊 8 ماه پیش
والد
کامیت
ccbd7f8215

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1728625621550
+  "version": 1728723855804
 }

+ 138 - 112
src/views/purchasingManagement/purchaseReturnOutSync/edit.vue

@@ -15,94 +15,94 @@
       </a-page-header>
       <!-- 选择产品 -->
       <div class="purchaseReturnEdit-cont">
-          <a-collapse :activeKey="['1']">
-            <a-collapse-panel key="1" header="选择产品">
-              <!-- 筛选条件 -->
-              <div class="table-page-search-wrapper">
-                <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-                  <a-row :gutter="15">
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品编码" prop="productCode">
-                        <a-input id="bulkReturnGoodsEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品名称" prop="productName">
-                        <a-input id="bulkReturnGoodsEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-model-item label="仓库">
-                        <a-select
-                          placeholder="请选择仓库"
-                          id="bulkReturnGoodsEdit-warehouseSn"
-                          allowClear
-                          v-model="queryParam.warehouseSn"
-                          :showSearch="true"
-                          option-filter-prop="children"
-                          :filter-option="filterOption">
-                          <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
-                        </a-select>
-                      </a-form-model-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-                      <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="bulkReturnGoodsEdit-refresh">查询</a-button>
-                      <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="bulkReturnGoodsEdit-reset">重置</a-button>
-                    </a-col>
-                  </a-row>
-                </a-form>
-              </div>
-              <!-- 列表 -->
-              <s-table
-                class="sTable"
-                ref="table"
-                size="small"
-                :rowKey="(record) => record.stockDetailSn"
-                rowKeyName="stockDetailSn"
-                :columns="columns"
-                :data="loadData"
-                :pageSize="10"
-                :scroll="{ y: 149 }"
-                bordered>
-                <!-- 数量 -->
-                <template slot="returnQty" slot-scope="text, record">
-                  <a-input-number
-                    size="small"
-                    id="purchaseReturnEdit-returnQty"
-                    v-model="record.returnQty"
-                    :precision="0"
-                    :min="1"
-                    :max="record.refundableQty"
-                    placeholder="请输入"
-                    style="width: 100%;" />
-                </template>
-                <!-- 单价 -->
-                <template slot="returnPrice" slot-scope="text, record">
-                  <a-input-number
-                    size="small"
-                    id="purchaseReturnEdit-returnPrice"
-                    v-model="record.returnPrice"
-                    :precision="2"
-                    :min="0"
-                    :max="999999"
-                    placeholder="请输入"
-                    style="width: 100%;" />
-                </template>
-                <!-- 操作 -->
-                <template slot="action" slot-scope="text, record">
-                  <span v-if="record.refundableQty==0">--</span>
-                  <a-button
-                    v-else
-                    size="small"
-                    type="link"
-                    class="button-primary"
-                    @click="handleAdd(record)"
-                    id="purchaseReturnEdit-add-btn">添加</a-button>
-                </template>
-              </s-table>
-            </a-collapse-panel>
-          </a-collapse>
-        </div>
+        <a-collapse :activeKey="['1']">
+          <a-collapse-panel key="1" header="选择产品">
+            <!-- 筛选条件 -->
+            <div class="table-page-search-wrapper">
+              <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+                <a-row :gutter="15">
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品编码" prop="productCode">
+                      <a-input id="bulkReturnGoodsEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品名称" prop="productName">
+                      <a-input id="bulkReturnGoodsEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-model-item label="仓库">
+                      <a-select
+                        placeholder="请选择仓库"
+                        id="bulkReturnGoodsEdit-warehouseSn"
+                        allowClear
+                        v-model="queryParam.warehouseSn"
+                        :showSearch="true"
+                        option-filter-prop="children"
+                        :filter-option="filterOption">
+                        <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
+                      </a-select>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
+                    <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="bulkReturnGoodsEdit-refresh">查询</a-button>
+                    <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="bulkReturnGoodsEdit-reset">重置</a-button>
+                  </a-col>
+                </a-row>
+              </a-form>
+            </div>
+            <!-- 列表 -->
+            <s-table
+              class="sTable"
+              ref="table"
+              size="small"
+              :rowKey="(record) => record.stockDetailSn"
+              rowKeyName="stockDetailSn"
+              :columns="columns"
+              :data="loadData"
+              :pageSize="10"
+              :scroll="{ y: 149 }"
+              bordered>
+              <!-- 数量 -->
+              <template slot="returnQty" slot-scope="text, record">
+                <a-input-number
+                  size="small"
+                  id="purchaseReturnEdit-returnQty"
+                  v-model="record.returnQty"
+                  :precision="0"
+                  :min="1"
+                  :max="record.refundableQty"
+                  placeholder="请输入"
+                  style="width: 100%;" />
+              </template>
+              <!-- 单价 -->
+              <template slot="returnPrice" slot-scope="text, record">
+                <a-input-number
+                  size="small"
+                  id="purchaseReturnEdit-returnPrice"
+                  v-model="record.returnPrice"
+                  :precision="2"
+                  :min="0"
+                  :max="999999"
+                  placeholder="请输入"
+                  style="width: 100%;" />
+              </template>
+              <!-- 操作 -->
+              <template slot="action" slot-scope="text, record">
+                <span v-if="record.refundableQty==0">--</span>
+                <a-button
+                  v-else
+                  size="small"
+                  type="link"
+                  class="button-primary"
+                  @click="handleAddNew(record)"
+                  id="purchaseReturnEdit-add-btn">添加</a-button>
+              </template>
+            </s-table>
+          </a-collapse-panel>
+        </a-collapse>
+      </div>
       <!-- 已选产品 -->
       <div class="purchaseReturnEdit-cont">
         <a-collapse :activeKey="['1']">
@@ -341,17 +341,35 @@ export default {
       this.chooseQueryParam.productName = ''
       this.$refs.chooseTable.refresh(true)
     },
-    //  添加/编辑
-    handleAdd (row, isEdit) {
-      // 添加时退货数量字段名为returnQty,编辑时退货数量字段名为qty
-      if (!isEdit && !row.returnPrice) {
-        this.$message.warning('请输入退货价格')
+    // 添加
+    handleAddNew (record) {
+      const _this = this
+      if (record.returnQty === null || record.returnQty === undefined || Number(record.returnQty).toString().trim().length === 0) {
+        this.$message.warning('请输入退货数量')
         return
       }
-      if (!isEdit && !row.returnQty) {
-        this.$message.warning('请输入退货数量')
+      if (record.returnPrice === '' || record.returnPrice === null || record.returnPrice === undefined || Number(record.returnPrice).toString().trim().length === 0) {
+        this.$message.warning('请输入退货价格')
         return
       }
+      if (record.returnPrice === 0) {
+        this.$confirm({
+          title: '提示',
+          content: '退货单价为0,确定添加?',
+          centered: true,
+          onOk () {
+            _this.handleAdd(record)
+          },
+          onCancel () {
+            record.returnPrice = ''
+          }
+        })
+      } else {
+        _this.handleAdd(record)
+      }
+    },
+    //  添加/编辑
+    handleAdd (row, isEdit) {
       const params = {
         id: isEdit ? row.id : undefined,
         purchaseReturnSn: this.$route.params.sn,
@@ -371,17 +389,6 @@ export default {
         remarks: row.remarks,
         promotionFlag: row.promotionFlag
       }
-      if (isEdit) { // 编辑
-        // 清空退货数量时,值应保持未清空前的值,因退货数量都不可为空
-        if (!row.qty) {
-          row.qty = row.qtyBackups
-          return
-        }
-        if (!row.cost) {
-          row.cost = row.costBackups
-          return
-        }
-      }
       this.spinning = true
       purchaseReturnDetailSave(params).then(res => {
         if (res.status == 200) {
@@ -395,10 +402,6 @@ export default {
         }
       })
     },
-    // 双击快速添加
-    handleClickRow (record) {
-      this.handleAdd(record)
-    },
     // 导入明细
     handleImport () {},
     //  删除
@@ -460,6 +463,10 @@ export default {
     },
     // 已选产品 退货数量  blur
     qtyBlur (val, record) {
+      if (val === '') {
+        record.qty = record.qtyBackups
+        return
+      }
       //  光标移出,值发生改变再调用编辑接口
       if (val != record.qtyBackups) {
         this.handleAdd(record, 'edit')
@@ -467,8 +474,27 @@ export default {
     },
     // 已选产品 退货单价  blur
     costBlur (val, record) {
-      if (val && (val != record.costBackups)) {
-        this.handleAdd(record, 'edit')
+      const _this = this
+      if (val === '') {
+        record.cost = record.costBackups
+        return
+      }
+      if (Number(val) !== record.costBackups) {
+        if (Number(val) === 0) {
+          this.$confirm({
+            title: '提示',
+            content: '确定将退货单价修改为0?',
+            centered: true,
+            onOk () {
+              _this.handleAdd(record, 'edit')
+            },
+            onCancel () {
+              record.cost = record.costBackups
+            }
+          })
+        } else {
+          _this.handleAdd(record, 'edit')
+        }
       }
     },
     // 仓库

+ 128 - 98
src/views/purchasingManagement/purchaseReturnOutSync/grapEdit.vue

@@ -15,84 +15,84 @@
       </a-page-header>
       <!-- 选择产品 -->
       <div class="purchaseReturnEdit-cont">
-          <a-collapse :activeKey="['1']">
-            <a-collapse-panel key="1" header="选择产品">
-              <!-- 筛选条件 -->
-              <div class="table-page-search-wrapper">
-                <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-                  <a-row :gutter="15">
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="采购单号" prop="purchaseBillNo">
-                        <a-input id="purchaseReturnEdit-purchaseBillNo" v-model.trim="queryParam.purchaseBillNo" placeholder="请输入采购单号" allowClear />
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品编码" prop="productCode">
-                        <a-input id="purchaseReturnEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品名称" prop="productName">
-                        <a-input id="purchaseReturnEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-                      <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseReturnList-refresh">查询</a-button>
-                      <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="purchaseReturnList-reset">重置</a-button>
-                    </a-col>
-                  </a-row>
-                </a-form>
-              </div>
-              <!-- 列表 -->
-              <s-table
-                class="sTable"
-                ref="table"
-                size="small"
-                :rowKey="(record) => record.id"
-                :columns="columns"
-                :data="loadData"
-                :pageSize="10"
-                :scroll="{ y: 149 }"
-                bordered>
-                <!-- 数量 -->
-                <template slot="returnQty" slot-scope="text, record">
-                  <a-input-number
-                    size="small"
-                    id="purchaseReturnEdit-returnQty"
-                    v-model="record.returnQty"
-                    :precision="0"
-                    :min="1"
-                    :max="record.refundableQty"
-                    placeholder="请输入"
-                    style="width: 100%;" />
-                </template>
-                <!-- 单价 -->
-                <template slot="returnPrice" slot-scope="text, record">
-                  <a-input-number
-                    size="small"
-                    id="purchaseReturnEdit-returnPrice"
-                    v-model="record.returnPrice"
-                    :precision="2"
-                    :min="0"
-                    :max="999999"
-                    placeholder="请输入"
-                    style="width: 100%;" />
-                </template>
-                <!-- 操作 -->
-                <template slot="action" slot-scope="text, record">
-                  <span v-if="record.refundableQty==0">--</span>
-                  <a-button
-                    v-else
-                    size="small"
-                    type="link"
-                    class="button-primary"
-                    @click="handleAdd(record)"
-                    id="purchaseReturnEdit-add-btn">添加</a-button>
-                </template>
-              </s-table>
-            </a-collapse-panel>
-          </a-collapse>
-        </div>
+        <a-collapse :activeKey="['1']">
+          <a-collapse-panel key="1" header="选择产品">
+            <!-- 筛选条件 -->
+            <div class="table-page-search-wrapper">
+              <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+                <a-row :gutter="15">
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="采购单号" prop="purchaseBillNo">
+                      <a-input id="purchaseReturnEdit-purchaseBillNo" v-model.trim="queryParam.purchaseBillNo" placeholder="请输入采购单号" allowClear />
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品编码" prop="productCode">
+                      <a-input id="purchaseReturnEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品名称" prop="productName">
+                      <a-input id="purchaseReturnEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
+                    <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseReturnList-refresh">查询</a-button>
+                    <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="purchaseReturnList-reset">重置</a-button>
+                  </a-col>
+                </a-row>
+              </a-form>
+            </div>
+            <!-- 列表 -->
+            <s-table
+              class="sTable"
+              ref="table"
+              size="small"
+              :rowKey="(record) => record.id"
+              :columns="columns"
+              :data="loadData"
+              :pageSize="10"
+              :scroll="{ y: 149 }"
+              bordered>
+              <!-- 数量 -->
+              <template slot="returnQty" slot-scope="text, record">
+                <a-input-number
+                  size="small"
+                  id="purchaseReturnEdit-returnQty"
+                  v-model="record.returnQty"
+                  :precision="0"
+                  :min="1"
+                  :max="record.refundableQty"
+                  placeholder="请输入"
+                  style="width: 100%;" />
+              </template>
+              <!-- 单价 -->
+              <template slot="returnPrice" slot-scope="text, record">
+                <a-input-number
+                  size="small"
+                  id="purchaseReturnEdit-returnPrice"
+                  v-model="record.returnPrice"
+                  :precision="2"
+                  :min="0"
+                  :max="999999"
+                  placeholder="请输入"
+                  style="width: 100%;" />
+              </template>
+              <!-- 操作 -->
+              <template slot="action" slot-scope="text, record">
+                <span v-if="record.refundableQty==0">--</span>
+                <a-button
+                  v-else
+                  size="small"
+                  type="link"
+                  class="button-primary"
+                  @click="handleAddNew(record)"
+                  id="purchaseReturnEdit-add-btn">添加</a-button>
+              </template>
+            </s-table>
+          </a-collapse-panel>
+        </a-collapse>
+      </div>
       <!-- 已选产品 -->
       <div class="purchaseReturnEdit-cont">
         <a-collapse :activeKey="['1']">
@@ -343,17 +343,35 @@ export default {
       this.chooseQueryParam.productName = ''
       this.$refs.chooseTable.refresh(true)
     },
-    //  添加/编辑
-    handleAdd (row, isEdit) {
-      // 添加时退货数量字段名为returnQty,编辑时退货数量字段名为qty
-      if (!isEdit && !row.returnPrice) {
-        this.$message.warning('请输入退货价格')
+    // 添加
+    handleAddNew (record) {
+      const _this = this
+      if (record.returnQty === null || record.returnQty === undefined || Number(record.returnQty).toString().trim().length === 0) {
+        this.$message.warning('请输入退货数量')
         return
       }
-      if (!isEdit && !row.returnQty) {
-        this.$message.warning('请输入退货数量')
+      if (record.returnPrice === '' || record.returnPrice === null || record.returnPrice === undefined || Number(record.returnPrice).toString().trim().length === 0) {
+        this.$message.warning('请输入退货价格')
         return
       }
+      if (record.returnPrice === 0) {
+        this.$confirm({
+          title: '提示',
+          content: '退货单价为0,确定添加?',
+          centered: true,
+          onOk () {
+            _this.handleAdd(record)
+          },
+          onCancel () {
+            record.returnPrice = ''
+          }
+        })
+      } else {
+        _this.handleAdd(record)
+      }
+    },
+    //  添加/编辑
+    handleAdd (row, isEdit) {
       const params = {
         id: isEdit ? row.id : undefined,
         purchaseReturnSn: this.$route.params.sn,
@@ -366,17 +384,6 @@ export default {
         remarks: row.remarks,
         promotionFlag: row.promotionFlag
       }
-      if (isEdit) { // 编辑
-        // 清空退货数量时,值应保持未清空前的值,因退货数量都不可为空
-        if (!row.qty) {
-          row.qty = row.qtyBackups
-          return
-        }
-        if (!row.cost) {
-          row.cost = row.costBackups
-          return
-        }
-      }
       this.spinning = true
       purchaseReturnDetailSave(params).then(res => {
         if (res.status == 200) {
@@ -451,6 +458,10 @@ export default {
     },
     // 已选产品 退货数量  blur
     qtyBlur (val, record) {
+      if (val === '') {
+        record.qty = record.qtyBackups
+        return
+      }
       //  光标移出,值发生改变再调用编辑接口
       if (val != record.qtyBackups) {
         this.handleAdd(record, 'edit')
@@ -458,8 +469,27 @@ export default {
     },
     // 已选产品 退货单价  blur
     costBlur (val, record) {
-      if (val && (val != record.costBackups)) {
-        this.handleAdd(record, 'edit')
+      const _this = this
+      if (val === '') {
+        record.cost = record.costBackups
+        return
+      }
+      if (Number(val) !== record.costBackups) {
+        if (Number(val) === 0) {
+          this.$confirm({
+            title: '提示',
+            content: '确定将退货单价修改为0?',
+            centered: true,
+            onOk () {
+              _this.handleAdd(record, 'edit')
+            },
+            onCancel () {
+              record.cost = record.costBackups
+            }
+          })
+        } else {
+          _this.handleAdd(record, 'edit')
+        }
       }
     },
     // 获取详情