chenrui hace 1 año
padre
commit
e56620c184

+ 178 - 172
src/views/allocationManagement/transferOut/edit.vue

@@ -105,189 +105,190 @@
       </a-card>
       <!-- 选择产品 -->
       <a-card size="small" title="选择产品" :bordered="false" class="allocateBillEdit-cont">
-            <!-- 筛选条件 -->
+        <!-- 筛选条件 -->
+        <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="allocateBillEdit-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="allocateBillEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="原厂编码" prop="productOrigCode">
+                  <a-input id="allocateBillEdit-productOrigCode" v-model.trim="queryParam.productOrigCode" 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="storeTransferOutList-refresh">查询</a-button>
+                <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="storeTransferOutList-reset">重置</a-button>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <!-- 列表 -->
+        <s-table
+          class="sTable"
+          ref="table"
+          size="small"
+          index="0"
+          tableId="table1"
+          :rowKey="(record) => record.stockSn"
+          :columns="columns"
+          :customRow="handleClickRow"
+          :data="loadData"
+          :defaultLoadData="false"
+          :scroll="{ y: 300 }"
+          bordered>
+          <!-- 调出数量 -->
+          <template slot="qty" slot-scope="text, record">
+            <a-input-number
+              size="small"
+              v-model="record.qty"
+              :precision="0"
+              :min="1"
+              :max="record.currentStockQty"
+              placeholder="请输入"
+              style="width: 100%;" />
+          </template>
+          <!-- 操作 -->
+          <template slot="action1" slot-scope="text, record">
+            <a-button
+              size="small"
+              type="link"
+              class="button-primary"
+              :loading="spinning"
+              @click="handleAdd(record, false, 'noRefresh')"
+            >添加</a-button>
+          </template>
+        </s-table>
+      </a-card>
+      <!-- 已选产品 -->
+      <a-card size="small" title="已选产品" :bordered="false" class="allocateBillEdit-cont">
+        <!-- 总计 -->
+        <a-alert type="info" style="margin-bottom:10px">
+          <div slot="message">
+            总数量:<strong>{{ (productTotal&&(productTotal.totalQty || productTotal.totalQty==0)) ? productTotal.totalQty : '--' }}</strong> ;
+            <span v-if="$hasPermissions('M_transferOut_edit_costPrice')">总成本:<strong>{{ (productTotal&&(productTotal.totalCost || productTotal.totalCost==0)) ? toThousands(productTotal.totalCost) : '--' }}</strong> ;</span>
+            <span v-if="$hasPermissions('M_transferOut_edit_salesPrice')">总售价:<strong>{{ (productTotal&&(productTotal.totalPrice || productTotal.totalPrice==0)) ? toThousands(productTotal.totalPrice) : '--' }}</strong>;</span>
+          </div>
+        </a-alert>
+        <!-- 筛选条件 -->
+        <a-row :gutter="15">
+          <a-col :span="16">
             <div class="table-page-search-wrapper">
-              <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+              <a-form layout="inline" @keyup.enter.native="$refs.chooseTable.refresh(true)">
                 <a-row :gutter="15">
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="9" :sm="24">
                     <a-form-item label="产品编码" prop="productCode">
-                      <a-input id="allocateBillEdit-productCode" v-model.trim="queryParam.productCode" placeholder="请输入产品编码" allowClear />
+                      <a-input id="allocateBillEdit-productCode" v-model.trim="chooseQueryParam.productCode" placeholder="请输入产品编码" allowClear />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="9" :sm="24">
                     <a-form-item label="产品名称" prop="productName">
-                      <a-input id="allocateBillEdit-productName" v-model.trim="queryParam.productName" placeholder="请输入产品名称" allowClear />
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="原厂编码" prop="productOrigCode">
-                      <a-input id="allocateBillEdit-productOrigCode" v-model.trim="queryParam.productOrigCode" placeholder="请输入原厂编码" allowClear />
+                      <a-input id="allocateBillEdit-productName" v-model.trim="chooseQueryParam.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="storeTransferOutList-refresh">查询</a-button>
-                    <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="storeTransferOutList-reset">重置</a-button>
+                    <a-button type="primary" @click="$refs.chooseTable.refresh(true)" :disabled="chooseDisabled" id="storeTransferOutList-refresh">查询</a-button>
+                    <a-button style="margin-left: 8px" @click="chooseResetSearchForm" :disabled="chooseDisabled" id="storeTransferOutList-reset">重置</a-button>
                   </a-col>
                 </a-row>
               </a-form>
             </div>
-            <!-- 列表 -->
-            <s-table
-              class="sTable"
-              ref="table"
+          </a-col>
+          <a-col :span="8" style="text-align: right;">
+            <span v-if="selNums">已选{{ selNums }}项</span>
+            <a-button
+              style="margin:0 10px;"
+              id="salesEdit-plDel-btn"
+              @click="openPlSet">批量设置费用归属</a-button>
+            <a-button id="allocateBillEdit-import-btn" @click="openGuideModal=true">导入产品</a-button>
+            <a-button type="danger" style="margin-left: 10px" @click.stop="handleDel('', 'all')" id="chainTransferOutEdit-del-all-btn">整单删除</a-button>
+          </a-col>
+        </a-row>
+        <!-- 列表 -->
+        <s-table
+          class="sTable"
+          ref="chooseTable"
+          size="small"
+          index="1"
+          tableId="table2"
+          :rowKey="(record) => record.id"
+          :row-selection="{ columnWidth: 40 }"
+          @rowSelection="rowSelectionFun"
+          :columns="chooseColumns"
+          :data="chooseLoadData"
+          :defaultLoadData="false"
+          :pagination="{pageSizeOptions: ['20','50','100','200','500']}"
+          :pageSize="20"
+          :scroll="{ y: 300 }"
+          bordered>
+          <!-- 售价 -->
+          <template slot="price" slot-scope="text, record, index">
+            <!-- 调往对象为经销商时不可编辑售价,为员工或其他时可编辑售价 -->
+            <div v-if="$route.params.dealerLevel == 'OTHER'">
+              <a-select
+                size="small"
+                id="allocateBillEdit-price"
+                option-label-prop="label"
+                v-model="record.price"
+                placeholder="请选择"
+                @change="e => priceChange(e, record)"
+                @focus="e => priceFocus(record, index)"
+                style="width: 100%;">
+                <a-select-option v-if="record.cost" :value="record.cost" :key="'cb-'+record.cost" :label="record.cost">成本 {{ record.cost }}</a-select-option>
+                <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].provincePrice" :value="loadDataSource[index].provincePrice" :key="'A-'+loadDataSource[index].productSn" :label="loadDataSource[index].provincePrice">A价 {{ loadDataSource[index].provincePrice }}</a-select-option>
+                <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].cityPrice" :value="loadDataSource[index].cityPrice" :key="'B-'+loadDataSource[index].productSn" :label="loadDataSource[index].cityPrice">B价 {{ loadDataSource[index].cityPrice }}</a-select-option>
+                <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].specialPrice" :value="loadDataSource[index].specialPrice" :key="'C-'+loadDataSource[index].productSn" :label="loadDataSource[index].specialPrice">C价 {{ loadDataSource[index].specialPrice }}</a-select-option>
+              </a-select>
+            </div>
+            <span v-else>{{ toThousands(record.price) }}</span>
+          </template>
+          <!-- 调出数量 -->
+          <template slot="qty" slot-scope="text, record">
+            <a-input-number
               size="small"
-              index="0"
-              tableId="table1"
-              :rowKey="(record) => record.stockSn"
-              :columns="columns"
-              :customRow="handleClickRow"
-              :data="loadData"
-              :defaultLoadData="false"
-              :scroll="{ y: 300 }"
-              bordered>
-              <!-- 调出数量 -->
-              <template slot="qty" slot-scope="text, record">
-                <a-input-number
-                  size="small"
-                  v-model="record.qty"
-                  :precision="0"
-                  :min="1"
-                  :max="record.currentStockQty"
-                  placeholder="请输入"
-                  style="width: 100%;" />
-              </template>
-              <!-- 操作 -->
-              <template slot="action1" slot-scope="text, record">
-                <a-button
-                  size="small"
-                  type="link"
-                  class="button-primary"
-                  :loading="spinning"
-                  @click="handleAdd(record, false, 'noRefresh')"
-                >添加</a-button>
-              </template>
-            </s-table>
-      </a-card>
-      <!-- 已选产品 -->
-      <a-card size="small" title="已选产品" :bordered="false" class="allocateBillEdit-cont">
-            <!-- 总计 -->
-            <a-alert type="info" style="margin-bottom:10px">
-              <div slot="message">
-                总数量:<strong>{{ (productTotal&&(productTotal.totalQty || productTotal.totalQty==0)) ? productTotal.totalQty : '--' }}</strong> ;
-                <span v-if="$hasPermissions('M_transferOut_edit_costPrice')">总成本:<strong>{{ (productTotal&&(productTotal.totalCost || productTotal.totalCost==0)) ? toThousands(productTotal.totalCost) : '--' }}</strong> ;</span>
-                <span v-if="$hasPermissions('M_transferOut_edit_salesPrice')">总售价:<strong>{{ (productTotal&&(productTotal.totalPrice || productTotal.totalPrice==0)) ? toThousands(productTotal.totalPrice) : '--' }}</strong>;</span>
-              </div>
-            </a-alert>
-            <!-- 筛选条件 -->
-            <a-row :gutter="15">
-              <a-col :span="16">
-                <div class="table-page-search-wrapper">
-                  <a-form layout="inline" @keyup.enter.native="$refs.chooseTable.refresh(true)">
-                    <a-row :gutter="15">
-                      <a-col :md="9" :sm="24">
-                        <a-form-item label="产品编码" prop="productCode">
-                          <a-input id="allocateBillEdit-productCode" v-model.trim="chooseQueryParam.productCode" placeholder="请输入产品编码" allowClear />
-                        </a-form-item>
-                      </a-col>
-                      <a-col :md="9" :sm="24">
-                        <a-form-item label="产品名称" prop="productName">
-                          <a-input id="allocateBillEdit-productName" v-model.trim="chooseQueryParam.productName" placeholder="请输入产品名称" allowClear />
-                        </a-form-item>
-                      </a-col>
-                      <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-                        <a-button type="primary" @click="$refs.chooseTable.refresh(true)" :disabled="chooseDisabled" id="storeTransferOutList-refresh">查询</a-button>
-                        <a-button style="margin-left: 8px" @click="chooseResetSearchForm" :disabled="chooseDisabled" id="storeTransferOutList-reset">重置</a-button>
-                      </a-col>
-                    </a-row>
-                  </a-form>
-                </div>
-              </a-col>
-              <a-col :span="8" style="text-align: right;">
-                <span v-if="selNums">已选{{ selNums }}项</span>
-                <a-button
-                  style="margin:0 10px;"
-                  id="salesEdit-plDel-btn"
-                  @click="openPlSet">批量设置费用归属</a-button>
-                <a-button id="allocateBillEdit-import-btn" @click="openGuideModal=true">导入产品</a-button>
-                <a-button type="danger" style="margin-left: 10px" @click.stop="handleDel('', 'all')" id="chainTransferOutEdit-del-all-btn">整单删除</a-button>
-              </a-col>
-            </a-row>
-            <!-- 列表 -->
-            <s-table
-              class="sTable"
-              ref="chooseTable"
+              id="allocateBillEdit-qty"
+              v-model="record.qty"
+              :precision="0"
+              :min="1"
+              :max="999999"
+              placeholder="请输入"
+              @blur="e => qtyBlur(e.target.value, record)"
+              style="width: 100%;" />
+          </template>
+          <!-- 费用归属部门 -->
+          <template slot="department" slot-scope="text, record">
+            <a-select
+              style="width:100%"
+              placeholder="请选择部门"
+              size="small"
+              allowClear
+              v-model="record.departmentSn"
+              :showSearch="true"
+              @change="e => handleChange(e, record)"
+              option-filter-prop="children"
+              :filter-option="filterOption">
+              <a-select-option v-for="item in departmentList" :key="item.departmentSn" :value="item.departmentSn">{{ item.name }}</a-select-option>
+            </a-select>
+          </template>
+          <!-- 操作 -->
+          <template slot="action" slot-scope="text, record">
+            <a-button
               size="small"
-              index="1"
-              tableId="table2"
-              :rowKey="(record) => record.id"
-              :row-selection="{ columnWidth: 40 }"
-              @rowSelection="rowSelectionFun"
-              :columns="chooseColumns"
-              :data="chooseLoadData"
-              :pagination="{pageSizeOptions: ['20','50','100','200','500']}"
-              :pageSize="20"
-              :scroll="{ y: 300 }"
-              bordered>
-              <!-- 售价 -->
-              <template slot="price" slot-scope="text, record, index">
-                <!-- 调往对象为经销商时不可编辑售价,为员工或其他时可编辑售价 -->
-                <div v-if="$route.params.dealerLevel == 'OTHER'">
-                  <a-select
-                    size="small"
-                    id="allocateBillEdit-price"
-                    option-label-prop="label"
-                    v-model="record.price"
-                    placeholder="请选择"
-                    @change="e => priceChange(e, record)"
-                    @focus="e => priceFocus(record, index)"
-                    style="width: 100%;">
-                    <a-select-option v-if="record.cost" :value="record.cost" :key="'cb-'+record.cost" :label="record.cost">成本 {{ record.cost }}</a-select-option>
-                    <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].provincePrice" :value="loadDataSource[index].provincePrice" :key="'A-'+loadDataSource[index].productSn" :label="loadDataSource[index].provincePrice">A价 {{ loadDataSource[index].provincePrice }}</a-select-option>
-                    <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].cityPrice" :value="loadDataSource[index].cityPrice" :key="'B-'+loadDataSource[index].productSn" :label="loadDataSource[index].cityPrice">B价 {{ loadDataSource[index].cityPrice }}</a-select-option>
-                    <a-select-option v-if="loadDataSource&&loadDataSource[index]&&loadDataSource[index].specialPrice" :value="loadDataSource[index].specialPrice" :key="'C-'+loadDataSource[index].productSn" :label="loadDataSource[index].specialPrice">C价 {{ loadDataSource[index].specialPrice }}</a-select-option>
-                  </a-select>
-                </div>
-                <span v-else>{{ toThousands(record.price) }}</span>
-              </template>
-              <!-- 调出数量 -->
-              <template slot="qty" slot-scope="text, record">
-                <a-input-number
-                  size="small"
-                  id="allocateBillEdit-qty"
-                  v-model="record.qty"
-                  :precision="0"
-                  :min="1"
-                  :max="999999"
-                  placeholder="请输入"
-                  @blur="e => qtyBlur(e.target.value, record)"
-                  style="width: 100%;" />
-              </template>
-              <!-- 费用归属部门 -->
-              <template slot="department" slot-scope="text, record">
-                <a-select
-                  style="width:100%"
-                  placeholder="请选择部门"
-                  size="small"
-                  allowClear
-                  v-model="record.departmentSn"
-                  :showSearch="true"
-                  @change="e => handleChange(e, record)"
-                  option-filter-prop="children"
-                  :filter-option="filterOption">
-                  <a-select-option v-for="item in departmentList" :key="item.departmentSn" :value="item.departmentSn">{{ item.name }}</a-select-option>
-                </a-select>
-              </template>
-              <!-- 操作 -->
-              <template slot="action" slot-scope="text, record">
-                <a-button
-                  size="small"
-                  type="link"
-                  class="button-error"
-                  :loading="spinning"
-                  @click="handleDel(record)"
-                  id="allocateBillEdit-del-btn">删除</a-button>
-              </template>
-            </s-table>
+              type="link"
+              class="button-error"
+              :loading="spinning"
+              @click="handleDel(record)"
+              id="allocateBillEdit-del-btn">删除</a-button>
+          </template>
+        </s-table>
       </a-card>
     </div>
     <div class="affix-cont" v-if="basicInfoData">
@@ -379,9 +380,9 @@ export default {
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
-        const dealerLevel = this.$route.params.dealerLevel == 'OTHER' ? undefined : this.$route.params.dealerLevel
+        const dealerLevel = this.dealerLevel == 'OTHER' ? undefined : this.dealerLevel
         const warehouseSn = this.basicInfoData.warehouseSn
-        const fun = this.$route.params.dealerLevel == 'OTHER' ? queryStockProductForOtherPage : queryStockProductPage
+        const fun = this.dealerLevel == 'OTHER' ? queryStockProductForOtherPage : queryStockProductPage
         return fun(Object.assign(parameter, this.queryParam, { zeroQtyFlag: '0', dealerLevel: dealerLevel, warehouseSn: warehouseSn })).then(res => {
           const data = res.data
           const no = (data.pageNo - 1) * data.pageSize
@@ -399,7 +400,7 @@ export default {
       // 加载数据方法 必须为 Promise 对象
       chooseLoadData: parameter => {
         this.chooseDisabled = true
-        const params = Object.assign(parameter, this.chooseQueryParam, { allocateSn: this.$route.params.sn })
+        const params = Object.assign(parameter, this.chooseQueryParam, { allocateSn: this.allocateSn })
         return allocateBillDetailList(params).then(res => {
           const data = res.data
           const no = (data.pageNo - 1) * data.pageSize
@@ -421,7 +422,9 @@ export default {
       openModal: false,
       nowType: null,
       rowSelectionInfo: null,
-      plSetVal: undefined
+      plSetVal: undefined,
+      dealerLevel: undefined,
+      allocateSn: undefined
     }
   },
   computed: {
@@ -540,6 +543,7 @@ export default {
       this.queryParam.productOrigCode = ''
       if (!flag) {
         this.$refs.table.refresh(true)
+        this.$refs.chooseTable.refresh(true)
       }
     },
     // 双击快速添加
@@ -781,6 +785,8 @@ export default {
       this.$refs.chooseTable.refresh()
     },
     pageInit () {
+      this.dealerLevel = this.$route.params.dealerLevel
+      this.allocateSn = this.$route.params.sn
       this.getDepartmentList()
       this.getDetail()
     }

+ 1 - 1
src/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue

@@ -182,7 +182,7 @@ export default {
       chooseList: [],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
-        this.productForm.sparePartsReturnSn = this.$route.query.returnSn
+        this.productForm.sparePartsReturnSn = this.sparePartsReturnSn
         return sparePartsReturnQueryPage(Object.assign(parameter, this.productForm)).then(res => {
           let data
           if (res.status == 200) {