lilei 11 mesiacov pred
rodič
commit
fba754ae80

+ 1 - 1
public/version.json

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

+ 13 - 16
src/views/purchasingManagement/purchaseReturn/edit.vue

@@ -67,7 +67,7 @@
               <template slot="returnQty" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-returnQty"
+                  :id="'purchaseReturnEdit-returnQty-'+record.id"
                   v-model="record.returnQty"
                   :precision="0"
                   :min="1"
@@ -84,7 +84,8 @@
                   type="link"
                   class="button-primary"
                   @click="handleAdd(record)"
-                  id="purchaseReturnEdit-add-btn">添加</a-button>
+                  :id="'purchaseReturnEdit-add-'+record.id"
+                >添加</a-button>
               </template>
             </s-table>
           </a-collapse-panel>
@@ -120,7 +121,7 @@
               <template slot="qty" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-qty"
+                  :id="'purchaseReturnEdit-qty-'+record.id"
                   v-model="record.qty"
                   :precision="0"
                   :min="1"
@@ -132,7 +133,7 @@
               <template slot="remarks" slot-scope="text, record">
                 <a-input
                   size="small"
-                  id="purchaseReturnEdit-remarks"
+                  :id="'purchaseReturnEdit-remarks-'+record.id"
                   v-model.trim="record.remarks"
                   :maxLength="30"
                   placeholder="退货原因(最多30个字符)"
@@ -183,11 +184,11 @@ export default {
     return {
       spinning: false,
       queryParam: {
-        purchaseBillNo: '',
-        productCode: '',
-        productName: ''
+        purchaseBillNo: '', // 采购单号
+        productCode: '', // 产品编码
+        productName: '' // 产品名称
       },
-      dataSource: [],
+      dataSource: [], // 列表数据
       disabled: false, //  查询、重置按钮是否可操作
       advanced: false, // 高级搜索 展开/关闭
       // 加载数据方法 必须为 Promise 对象
@@ -237,11 +238,13 @@ export default {
         { title: '单位', dataIndex: 'dealerProductEntity.unit', width: '5%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '7%', align: 'center' }
       ]
+      // 成本价权限
       if (this.$hasPermissions('M_ShowAllCost')) {
         arr.splice(9, 0, { title: '采购价', dataIndex: 'price', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
       }
       return arr
     },
+    // 已选产品列
     chooseColumns () {
       const _this = this
       const arr = [
@@ -256,6 +259,7 @@ export default {
         { title: '退货原因', scopedSlots: { customRender: 'remarks' }, width: '15%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
       ]
+      // 成本价格权限
       if (this.$hasPermissions('M_ShowAllCost')) {
         arr.splice(6, 0, { title: '采购价', dataIndex: 'cost', width: '7%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
       }
@@ -325,9 +329,7 @@ export default {
         }
       })
     },
-    // 导入明细
-    handleImport () {},
-    //  删除
+    //  删除,isAll: true 清空所有,false 单个删除
     handleDel (row, isAll) {
       const _this = this
       const content = isAll ? '删除后不可恢复,确定要清空列表吗?' : '删除后不可恢复,确定要进行删除吗?'
@@ -396,11 +398,6 @@ export default {
       if (val && (val != record.remarksBackups)) {
         this.handleAdd(record, 'edit')
       }
-    },
-    filterOption (input, option) {
-      return (
-        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      )
     }
   },
   mounted () {

+ 22 - 19
src/views/purchasingManagement/purchaseReturn/list.vue

@@ -7,7 +7,7 @@
           <a-row :gutter="15">
             <a-col :md="6" :sm="24">
               <a-form-item label="创建时间">
-                <rangeDate ref="rangeDate" :value="time" @change="dateChange" />
+                <rangeDate id="purchaseReturnList-time" ref="rangeDate" :value="time" @change="dateChange" />
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
@@ -44,7 +44,7 @@
             <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 @click="advanced=!advanced" style="margin-left: 8px">
+              <a @click="advanced=!advanced" style="margin-left: 8px" id="purchaseReturnList-advanced">
                 {{ advanced ? '收起' : '展开' }}
                 <a-icon :type="advanced ? 'up' : 'down'"/>
               </a>
@@ -70,20 +70,20 @@
         bordered>
         <!-- 采退单号 -->
         <template slot="purchaseReturnNo" slot-scope="text, record">
-          <span class="table-td-link" v-if="$hasPermissions('B_purchaseReturnDetail')" @click="handleDetail(record)">{{ record.purchaseReturnNo }}</span>
+          <span class="table-td-link" :id="'purchaseReturnList-detail-'+record.id" v-if="$hasPermissions('B_purchaseReturnDetail')" @click="handleDetail(record)">{{ record.purchaseReturnNo }}</span>
           <span v-else>{{ record.purchaseReturnNo }}</span>
           <a-badge count="改" :number-style="{ zoom:'80%',marginLeft:'5px' }" v-if="record.state=='HQ_CHANGE'"></a-badge>
         </template>
-        <!-- 审核 -->
+        <!-- 审核icon -->
         <template slot="audit" slot-scope="text, record">
           <stateIcon :title="record.stateDictValue" v-if="record.state!='AUDIT_REJECT'" :state="record.state == 'WAIT_BACK'||record.state=='CHECKED'||record.state == 'FINISH'?'1':'2'"></stateIcon>
           <stateIcon :title="record.stateDictValue" v-else :state="0"></stateIcon>
         </template>
-        <!-- 出库 -->
+        <!-- 出库icon -->
         <template slot="waitOut" slot-scope="text, record">
           <stateIcon :state="record.hasStockBill == '1'?'1':'2'"></stateIcon>
         </template>
-        <!-- 收款 -->
+        <!-- 收款icon -->
         <template slot="financial" slot-scope="text, record">
           <stateIcon :title="record.settleStateDictValue" :state="record.settleState == 'FINISH'&&record.state!='CANCEL'?'1':'2'"></stateIcon>
         </template>
@@ -95,28 +95,28 @@
             class="button-primary"
             v-if="(record.state == 'WAIT_SUBMIT' || record.state == 'AUDIT_REJECT') && $hasPermissions('B_purchaseReturnEdit')"
             @click="handleEdit(record)"
-            id="purchaseReturnList-edit-btn">编辑</a-button>
+            :id="'purchaseReturnList-edit-'+record.id">编辑</a-button>
           <a-button
             size="small"
             type="link"
             v-else-if="(record.hasStockBill == '0' && (record.state == 'CHECKED'||record.state == 'FINISH')) && $hasPermissions('B_purchaseReturnOutStock')"
             @click="handleWarehouse(record)"
             class="button-primary"
-            id="bulkReturnGoodsList-warehouse-btn">生成出库单</a-button>
+            :id="'purchaseReturnList-out-'+record.id">生成出库单</a-button>
           <a-button
             size="small"
             type="link"
             v-else-if="record.state == 'CHECKED' && $hasPermissions('B_purchaseReturnFinishBill')"
             @click="handleFinishBill(record)"
             class="button-primary"
-            id="bulkReturnGoodsList-warehouse-btn">完结单据</a-button>
+            :id="'purchaseReturnList-finish-'+record.id">完结单据</a-button>
           <a-button
             size="small"
             type="link"
             class="button-error"
             v-else-if="(record.state == 'WAIT_SUBMIT' || record.state == 'AUDIT_REJECT') && $hasPermissions('B_purchaseReturnDel')"
             @click="handleDel(record)"
-            id="purchaseReturnList-del-btn">删除</a-button>
+            :id="'purchaseReturnList-del-'+record.id">删除</a-button>
           <span v-else>--</span>
         </template>
       </s-table>
@@ -126,11 +126,11 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+import getDate from '@/libs/getDate.js'
 import { STable, VSelect } from '@/components'
 import rangeDate from '@/views/common/rangeDate.vue'
-import { purchaseTargetList } from '@/api/purchase'
-import getDate from '@/libs/getDate.js'
 import stateIcon from '@/views/common/stateIcon'
+import { purchaseTargetList } from '@/api/purchase'
 import { purchaseReturnList, purchaseReturnSave, purchaseReturnDel, purchaseReturnOutStockBill, purchaseReturnFinishBill } from '@/api/purchaseReturn'
 export default {
   name: 'PurchaseReturnList',
@@ -140,19 +140,19 @@ export default {
     return {
       spinning: false,
       advanced: true, // 高级搜索 展开/关闭
-      time: [
+      time: [ // 时间默认值
         getDate.getCurrMonthDays().starttime,
         getDate.getCurrMonthDays().endtime
       ],
       queryParam: { //  查询条件
-        beginDate: getDate.getCurrMonthDays().starttime,
-        endDate: getDate.getCurrMonthDays().endtime,
+        beginDate: getDate.getCurrMonthDays().starttime, // 开始时间
+        endDate: getDate.getCurrMonthDays().endtime, // 结束时间
         purchaseReturnNo: '', //  退货单号
         state: undefined, //  业务状态
-        settleState: undefined
+        settleState: undefined // 结算状态
       },
       disabled: false, //  查询、重置按钮是否可操作
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -171,7 +171,7 @@ export default {
           return data
         })
       },
-      purchaseTragetType: []
+      purchaseTragetType: [] // 供应商
     }
   },
   computed: {
@@ -192,6 +192,7 @@ export default {
         // { title: '财务状态', dataIndex: 'settleStateDictValue', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '13%', align: 'center' }
       ]
+      // 成本价权限
       if (this.$hasPermissions('M_ShowAllCost')) {
         arr.splice(4, 0, { title: '退款金额', dataIndex: 'totalAmount', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
       }
@@ -326,6 +327,7 @@ export default {
         }
       })
     },
+    // 获取上级供应商列表
     getParentDealer () {
       purchaseTargetList({ purchaseTargetType: 'SUPPLIER_SYS' }).then(res => {
         if (res.status == 200) {
@@ -335,6 +337,7 @@ export default {
         }
       })
     },
+    // 页面初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -348,7 +351,6 @@ export default {
       const b = this.$store.state.app.updateList
       // 是否从首页点击进入
       const isHomeNav = this.getIsHomeNav()[this.$route.name]
-      console.log(a, b, this.getIsHomeNav(), isHomeNav, this.$route.name)
 
       // 从首页进入,判断式新建还式待办查询
       if (isHomeNav) {
@@ -375,6 +377,7 @@ export default {
         }
       }
     },
+    // 表格高度计算
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235

+ 11 - 14
src/views/purchasingManagement/purchaseReturnOutSync/basicInfoModal.vue

@@ -22,8 +22,8 @@
             v-model="form.returnTargetSn"
             @change="tragetTypeChange"
             v-if="purchaseTragetType.length"
-            id="purchaseOrder-basicInfo-returnTargetSn" >
-            <a-radio v-for="item in purchaseTragetType" :key="item.purchaseTargetSn" :value="item.purchaseTargetSn" class="radio-s">{{ item.purchaseTargetName }}</a-radio>
+          >
+            <a-radio v-for="item in purchaseTragetType" :id="'purchaseOrder-basicInfo-'+item.purchaseTargetSn" :key="item.purchaseTargetSn" :value="item.purchaseTargetSn" class="radio-s">{{ item.purchaseTargetName }}</a-radio>
           </a-radio-group>
           <span v-else>没有可选择的供应商</span>
         </a-form-model-item>
@@ -33,13 +33,12 @@
             showType="radio"
             id="purchaseOrder-grabFlag"
             v-model="form.grabFlag"
-            @change="changeGrabFlag"
             allowClear
             placeholder="请选择"></v-select>
         </a-form-model-item>
         <a-form-model-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;">
-          <a-button type="primary" size="large" :loading="confirmLoading" @click="handleSubmit" id="chooseCustom-btn-submit">保存</a-button>
-          <a-button @click="isShow=false" size="large" style="margin-left: 15px" id="chooseCustom-btn-back">取消</a-button>
+          <a-button type="primary" size="large" :loading="confirmLoading" @click="handleSubmit" id="purchaseOrder-btn-submit">保存</a-button>
+          <a-button @click="isShow=false" size="large" style="margin-left: 15px" id="purchaseOrder-btn-back">取消</a-button>
         </a-form-model-item>
       </a-form-model>
     </a-spin>
@@ -63,7 +62,7 @@ export default {
   data () {
     return {
       spinning: false,
-      confirmLoading: false,
+      confirmLoading: false, // 按钮loading
       isShow: this.openModal, //  是否打开弹框
       settleStyleList: [], // 支付方式
       formItemLayout: {
@@ -72,9 +71,9 @@ export default {
       },
       form: {
         returnTargetType: '', // 供应商
-        returnTargetSn: undefined,
-        returnTargetName: '',
-        grabFlag: '1'
+        returnTargetSn: undefined, // 供应商sn
+        returnTargetName: '', // 供应商名称
+        grabFlag: '1' // 是否抓单
       },
       rules: {
         returnTargetSn: [
@@ -84,16 +83,14 @@ export default {
           { required: true, message: '请选择抓单类型', trigger: 'change' }
         ]
       },
-      purchaseTragetType: []
+      purchaseTragetType: [] // 供应商列表
     }
   },
   mounted () {
     this.getParentDealer()
   },
   methods: {
-    changeGrabFlag (e) {
-      console.log(e)
-    },
+    // 重置列表
     resetForm () {
       this.$refs.ruleForm.resetFields()
       this.form.returnTargetType = ''
@@ -136,6 +133,7 @@ export default {
     setData (data) {
       this.form = JSON.parse(JSON.stringify(data))
     },
+    // 获取上级供应商
     getParentDealer () {
       const zb = this.$hasPermissions('B_PR_outSnycZB')
       const sj = this.$hasPermissions('B_PR_outSnycSJ')
@@ -152,7 +150,6 @@ export default {
       if (sj && zb) {
         params = {}
       }
-      console.log(params)
       queryPurchaseReturnSupplierList(params).then(res => {
         if (res.status == 200 && res.data[0]) {
           this.purchaseTragetType = res.data

+ 3 - 2
src/views/purchasingManagement/purchaseReturnOutSync/detail.vue

@@ -84,8 +84,8 @@ export default {
     return {
       spinning: false,
       // 表头
-      columns: [],
-      dataSource: [],
+      columns: [], // 列
+      dataSource: [], // 列数据
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -109,6 +109,7 @@ export default {
     }
   },
   computed: {
+    // 是否编辑
     isEdit () {
       return ((this.basicInfoData && this.basicInfoData.state == 'WAIT_SUBMIT') || (this.basicInfoData && this.basicInfoData.state == 'AUDIT_REJECT')) && this.$hasPermissions('B_purchaseReturnEdit')
     }

+ 102 - 100
src/views/purchasingManagement/purchaseReturnOutSync/edit.vue

@@ -15,94 +15,95 @@
       </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-'+record.id"
+                  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-'+record.id"
+                  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-'+record.id"
+                >添加</a-button>
+              </template>
+            </s-table>
+          </a-collapse-panel>
+        </a-collapse>
+      </div>
       <!-- 已选产品 -->
       <div class="purchaseReturnEdit-cont">
         <a-collapse :activeKey="['1']">
@@ -167,7 +168,7 @@
               <template slot="qty" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-qty"
+                  :id="'bulkReturnGoodsEdit-qty-'+recod.id"
                   v-model="record.qty"
                   :precision="0"
                   :min="1"
@@ -179,7 +180,7 @@
               <template slot="price" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-cost"
+                  :id="'bulkReturnGoodsEdit-cost-'+recod.id"
                   v-model="record.cost"
                   :precision="2"
                   :min="0"
@@ -194,7 +195,7 @@
               </template>
               <!-- 操作 -->
               <template slot="action" slot-scope="text, record">
-                <a-button size="small" type="link" class="button-error" @click="handleDel(record)" id="purchaseReturnEdit-del-btn">删除</a-button>
+                <a-button :id="'bulkReturnGoodsEdit-del-'+recod.id" size="small" type="link" class="button-error" @click="handleDel(record)">删除</a-button>
               </template>
             </s-table>
           </a-collapse-panel>
@@ -239,11 +240,11 @@ export default {
       spinning: false,
       detailData: null,
       queryParam: {
-        purchaseBillNo: '',
-        productCode: '',
-        productName: ''
+        purchaseBillNo: '', // 采购单号
+        productCode: '', // 产品编码
+        productName: '' // 产品名称
       },
-      dataSource: [],
+      dataSource: [], // 列表数据
       disabled: false, //  查询、重置按钮是否可操作
       advanced: false, // 高级搜索 展开/关闭
       // 表头
@@ -285,10 +286,10 @@ export default {
         { title: '退货金额', scopedSlots: { customRender: 'amount' }, width: '6%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
       ],
-      chooseDisabled: false,
+      chooseDisabled: false, // 禁用按钮
       chooseQueryParam: {
-        productCode: '',
-        productName: ''
+        productCode: '', // 产品编码
+        productName: '' // 产品名称
       },
       // 加载数据方法 必须为 Promise 对象
       chooseLoadData: parameter => {
@@ -329,6 +330,7 @@ export default {
         _this.spinning = false
       })
     },
+    // 重置列表
     resetSearchForm () {
       this.queryParam.productCode = ''
       this.queryParam.productName = ''
@@ -399,8 +401,6 @@ export default {
     handleClickRow (record) {
       this.handleAdd(record)
     },
-    // 导入明细
-    handleImport () {},
     //  删除
     handleDel (row, isAll) {
       const _this = this
@@ -481,6 +481,7 @@ export default {
         }
       })
     },
+    // 供应商名称筛选
     filterOption (input, option) {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
@@ -499,6 +500,7 @@ export default {
         }
       })
     },
+    // 初始化页面
     pageInit () {
       this.getWarehouse()
       this.getDetail(true, true)

+ 93 - 92
src/views/purchasingManagement/purchaseReturnOutSync/grapEdit.vue

@@ -15,84 +15,85 @@
       </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-'+record.id"
+                  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-'+record.id"
+                  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-'+record.id"
+                >添加</a-button>
+              </template>
+            </s-table>
+          </a-collapse-panel>
+        </a-collapse>
+      </div>
       <!-- 已选产品 -->
       <div class="purchaseReturnEdit-cont">
         <a-collapse :activeKey="['1']">
@@ -157,7 +158,7 @@
               <template slot="qty" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-qty"
+                  :id="'bulkReturnGoodsEdit-qty-'+record.id"
                   v-model="record.qty"
                   :precision="0"
                   :min="1"
@@ -170,7 +171,7 @@
               <template slot="price" slot-scope="text, record">
                 <a-input-number
                   size="small"
-                  id="purchaseReturnEdit-cost"
+                  :id="'bulkReturnGoodsEdit-cost-'+record.id"
                   v-model="record.cost"
                   :precision="2"
                   :min="0"
@@ -185,7 +186,7 @@
               </template>
               <!-- 操作 -->
               <template slot="action" slot-scope="text, record">
-                <a-button size="small" type="link" class="button-error" @click="handleDel(record)" id="purchaseReturnEdit-del-btn">删除</a-button>
+                <a-button :id="'bulkReturnGoodsEdit-del-'+record.id" size="small" type="link" class="button-error" @click="handleDel(record)">删除</a-button>
               </template>
             </s-table>
           </a-collapse-panel>
@@ -227,13 +228,13 @@ export default {
   data () {
     return {
       spinning: false,
-      detailData: null,
+      detailData: null, // 详情信息
       queryParam: {
-        purchaseBillNo: '',
-        productCode: '',
-        productName: ''
+        purchaseBillNo: '', // 采购单号
+        productCode: '', // 产品编码
+        productName: '' // 产品名称
       },
-      dataSource: [],
+      dataSource: [], // 列表数据
       disabled: false, //  查询、重置按钮是否可操作
       advanced: false, // 高级搜索 展开/关闭
       // 加载数据方法 必须为 Promise 对象
@@ -251,10 +252,10 @@ export default {
           return data
         })
       },
-      chooseDisabled: false,
+      chooseDisabled: false, // 禁用按钮
       chooseQueryParam: {
-        productCode: '',
-        productName: ''
+        productCode: '', // 产品编码
+        productName: '' // 产品名称
       },
       // 表头
       chooseColumns: [
@@ -273,7 +274,7 @@ export default {
         return purchaseReturnDetailList(Object.assign(parameter,
           this.chooseQueryParam,
           {
-            purchaseReturnSn: this.$route.params.sn,
+            purchaseReturnSn: this.$route.params.sn, // 采购单sn
             orderBy: 'qpls_purchase_return_bill_detail.CREATE_DATE desc'
           })).then(res => {
           const data = res.data
@@ -308,6 +309,7 @@ export default {
         { title: '退货数量', scopedSlots: { customRender: 'returnQty' }, width: '8%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '7%', align: 'center' }
       ]
+      // 成本价权限
       if (this.$hasPermissions('M_ShowAllCost')) {
         arr.splice(4, 0, { title: '采购价格', dataIndex: 'price', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
       }
@@ -390,8 +392,6 @@ export default {
         }
       })
     },
-    // 导入明细
-    handleImport () {},
     //  删除
     handleDel (row, isAll) {
       const _this = this
@@ -475,6 +475,7 @@ export default {
         }
       })
     },
+    // 页面初始化
     pageInit () {
       this.getDetail(true, true)
       this.$refs.chooseTable.refresh(true)

+ 31 - 25
src/views/purchasingManagement/purchaseReturnOutSync/list.vue

@@ -7,7 +7,7 @@
           <a-row :gutter="15">
             <a-col :md="6" :sm="24">
               <a-form-item label="创建时间">
-                <rangeDate ref="rangeDate" :value="time" @change="dateChange" />
+                <rangeDate id="purchaseReturnList-time" ref="rangeDate" :value="time" @change="dateChange" />
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
@@ -17,7 +17,7 @@
             </a-col>
             <a-col :md="6" :sm="24">
               <a-form-item label="供应商">
-                <a-select v-model="queryParam.returnTargetSn" placeholder="请选择供应商">
+                <a-select id="purchaseReturnList-purchaseTarget" v-model="queryParam.returnTargetSn" placeholder="请选择供应商">
                   <a-select-option v-for="item in purchaseTragetType" :key="item.purchaseTargetSn" :value="item.purchaseTargetSn">
                     {{ item.purchaseTargetName }}
                   </a-select-option>
@@ -53,7 +53,7 @@
                   <v-select
                     v-model="queryParam.settleState"
                     ref="settleState"
-                    id="chainTransferOutList-settleState"
+                    id="purchaseReturnList-settleState"
                     code="FINANCIAL_RECEIVE_STATUS"
                     placeholder="请选择财务状态"
                     allowClear></v-select>
@@ -63,7 +63,7 @@
             <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 @click="advanced=!advanced" style="margin-left: 8px">
+              <a @click="advanced=!advanced" style="margin-left: 8px" id="purchaseReturnList-advanced">
                 {{ advanced ? '收起' : '展开' }}
                 <a-icon :type="advanced ? 'up' : 'down'"/>
               </a>
@@ -73,7 +73,7 @@
       </div>
       <!-- 操作按钮 -->
       <div class="table-operator">
-        <a-button id="B_purchaseReturn-add" type="primary" v-if="$hasPermissions('B_purchaseReturn_outSnycAdd')&&($hasPermissions('B_PR_outSnycSJ')||$hasPermissions('B_PR_outSnycZB'))" class="button-error" @click="openModal=true">新增</a-button>
+        <a-button id="purchaseReturnList-add" type="primary" v-if="$hasPermissions('B_purchaseReturn_outSnycAdd')&&($hasPermissions('B_PR_outSnycSJ')||$hasPermissions('B_PR_outSnycZB'))" class="button-error" @click="openModal=true">新增</a-button>
       </div>
       <!-- 列表 -->
       <s-table
@@ -89,20 +89,20 @@
         bordered>
         <!-- 采退单号 -->
         <template slot="purchaseReturnNo" slot-scope="text, record">
-          <span class="table-td-link" v-if="$hasPermissions('B_purchaseReturn_outSnycDetail')" @click="handleDetail(record)">{{ record.purchaseReturnNo }}</span>
+          <span class="table-td-link" :id="'purchaseReturnList-detail-'+record.id" v-if="$hasPermissions('B_purchaseReturn_outSnycDetail')" @click="handleDetail(record)">{{ record.purchaseReturnNo }}</span>
           <span v-else>{{ record.purchaseReturnNo }}</span>
           <a-badge count="改" :number-style="{ zoom:'80%',marginLeft:'5px' }" v-if="record.state=='HQ_CHANGE'"></a-badge>
         </template>
-        <!-- 审核 -->
+        <!-- 审核icon -->
         <template slot="audit" slot-scope="text, record">
           <stateIcon :title="record.stateDictValue" v-if="record.state!='AUDIT_REJECT'" :state="record.state=='WAIT_OUT_WAREHOUSE'||record.state == 'FINISH'?'1':'2'"></stateIcon>
           <stateIcon :title="record.stateDictValue" v-else :state="0"></stateIcon>
         </template>
-        <!-- 出库 -->
+        <!-- 出库icon -->
         <template slot="waitOut" slot-scope="text, record">
           <stateIcon :state="record.state == 'FINISH'?'1':'2'"></stateIcon>
         </template>
-        <!-- 收款 -->
+        <!-- 收款icon -->
         <template slot="financial" slot-scope="text, record">
           <stateIcon :title="record.settleStateDictValue" :state="record.settleState == 'FINISH'?'1':'2'"></stateIcon>
         </template>
@@ -115,28 +115,32 @@
               class="button-primary"
               v-if="(record.state == 'WAIT_SUBMIT' || record.state == 'AUDIT_REJECT') && $hasPermissions('B_purchaseReturn_outSnycEdit')"
               @click="handleEdit(record,1)"
-              id="purchaseReturnList-edit-btn">编辑</a-button>
+              :id="'purchaseReturnList-edit-'+record.id"
+            >编辑</a-button>
             <a-button
               size="small"
               type="link"
               v-if="record.state == 'WAIT_AUDIT' && $hasPermissions('B_purchaseReturn_outSnycAudit')"
               @click="handleAudit(record)"
               class="button-primary"
-              id="bulkReturnGoodsList-audit-btn">审核</a-button>
+              :id="'purchaseReturnList-audit-'+record.id"
+            >审核</a-button>
             <a-button
               size="small"
               type="link"
               v-if="record.state == 'WAIT_OUT_WAREHOUSE' && $hasPermissions('B_purchaseReturn_outSnycOut')"
               @click="handleWarehouse(record)"
               class="button-primary"
-              id="bulkReturnGoodsList-out-btn">出库</a-button>
+              :id="'purchaseReturnList-out-'+record.id"
+            >出库</a-button>
             <a-button
               size="small"
               type="link"
               class="button-error"
               v-if="(record.state == 'WAIT_SUBMIT' || record.state == 'AUDIT_REJECT') && $hasPermissions('B_purchaseReturn_outSnycDel')"
               @click="handleDel(record)"
-              id="purchaseReturnList-del-btn">删除</a-button>
+              :id="'purchaseReturnList-del-'+record.id"
+            >删除</a-button>
           </div>
           <div v-else></div>
         </template>
@@ -173,25 +177,25 @@ export default {
       spinning: false,
       advanced: true, // 高级搜索 展开/关闭
       openModal: false, // 基本信息弹框是否显示
-      visibleAudit: false,
-      spinningAudit: false,
-      auditInfo: null,
+      visibleAudit: false, // 审核弹框
+      spinningAudit: false, // loading
+      auditInfo: null, // 审核信息
       purchaseTragetType: [], // 供应商数据
-      time: [
+      time: [ // 时间默认值
         getDate.getCurrMonthDays().starttime,
         getDate.getCurrMonthDays().endtime
       ],
       queryParam: { //  查询条件
-        beginDate: getDate.getCurrMonthDays().starttime,
-        endDate: getDate.getCurrMonthDays().endtime,
+        beginDate: getDate.getCurrMonthDays().starttime, // 开始时间
+        endDate: getDate.getCurrMonthDays().endtime, // 结束时间
         purchaseReturnNo: '', //  退货单号
         state: undefined, //  业务状态
-        settleState: undefined,
-        returnTargetSn: undefined,
-        grabFlag: undefined
+        settleState: undefined, // 结算状态
+        returnTargetSn: undefined, // 供应商
+        grabFlag: undefined // 是否抓单
       },
       disabled: false, //  查询、重置按钮是否可操作
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
       columns: [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
         { title: '创建时间', dataIndex: 'createDate', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
@@ -311,6 +315,7 @@ export default {
         }
       })
     },
+    // 审核
     auditOrder (billStatus) {
       this.spinningAudit = true
       purchaseReturnAudit({
@@ -328,11 +333,12 @@ export default {
         }
       })
     },
-    //  审核
+    //  打开审核弹框
     handleAudit (row) {
       this.auditInfo = row
       this.visibleAudit = true
     },
+    // 页面初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -345,7 +351,6 @@ export default {
       const b = this.$store.state.app.updateList
       // 是否从首页点击进入
       const isHomeNav = this.getIsHomeNav()[this.$route.name]
-      console.log(a, b, this.getIsHomeNav(), isHomeNav, this.$route.name)
 
       // 从首页进入,判断式新建还式待办查询
       if (isHomeNav) {
@@ -372,6 +377,7 @@ export default {
         }
       }
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235