| 
					
				 | 
			
			
				@@ -0,0 +1,360 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <a-card size="small" :bordered="false" class="productPricingList-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-spin :spinning="spinning" tip="Loading..."> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 搜索条件 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div ref="tableSearch" class="table-page-search-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-form layout="inline" @keyup.enter.native="searchForm"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-form-item label="产品名称"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-input id="productPricingList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入产品名称"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-form-item label="产品编码/原厂编码"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-input id="productPricingList-queryWord" v-model.trim="queryParam.queryWord" allowClear placeholder="请输入产品编码/原厂编码"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-form-item label="品牌"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <ProductBrand id="productPricingList-productBrandSn" v-model="queryParam.productBrandSn"></ProductBrand> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template v-if="advanced"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-form-model-item label="产品分类"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <ProductType id="productPricingList-productType" placeholder="请选择产品分类" @change="changeProductType" v-model="productType"></ProductType> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-form-model-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-form-item label="定价时间"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <rangeDate ref="rangeDate" :value="time" @change="dateChange" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-form-item label="定价状态"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <v-select code="PRICING_STATUS" id="productPricingList-pricingState" v-model="queryParam.pricingState" allowClear placeholder="请选择定价状态"></v-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-col :md="6" :sm="24" style="margin-bottom: 10px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-button type="primary" @click="searchForm" :disabled="disabled" id="productPricingList-refresh">查询</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="productPricingList-reset">重置</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="margin-left: 5px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class="button-warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @click="handleExport" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-if="$hasPermissions('B_ProductPriceExoprt')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                id="productInfoList-export">导出</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a @click="advanced=!advanced" style="margin-left: 5px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ advanced ? '收起' : '展开' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-icon :type="advanced ? 'up' : 'down'"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </a-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <s-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="sTable fixPagination" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="table" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :style="{ height: tableHeight+84.5+'px' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :row-selection="$hasPermissions('B_productPricing_audit') ? { columnWidth: '4%', getCheckboxProps: record => ({ props: { disabled: record.pricingState!='WAIT_PRICING_AUDIT' } })}: null" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @rowSelection="rowSelectionFun" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :columns="columns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :data="loadData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :scroll="{y: tableHeight }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :defaultLoadData="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 产品分类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template slot="productType" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span v-if="record.productTypeName2 || record.productTypeName3">{{ record.productTypeName2 }} {{ record.productTypeName3 ? '>' : '' }} {{ record.productTypeName3 }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span v-else>--</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 成本价 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template slot="sterminaldsdPrice" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div v-if="record.supplierProductList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p v-for="(item, index) in record.supplierProductList" :key="index" style="margin: 0;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>{{ (item.cost || item.cost==0) ? item.cost.toFixed(2):'--' }}</span>元 - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>{{ (item.supplierName||'') }}</span>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span v-else>--</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 操作 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template slot="action" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="link" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-if="record.pricingState=='WAIT_PRICING_AUDIT' && $hasPermissions('B_productPricing_audit')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="button-warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="handleAudit(record)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            id="productPricingList-audit-btn">审核</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="link" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-if="$hasPermissions('B_productPricing_edit')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="button-info" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="handleEdit(record)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            id="productPricingList-edit-btn">编辑</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span v-if="!(record.pricingState=='WAIT_PRICING_AUDIT' && $hasPermissions('B_productPricing_audit')) && !$hasPermissions('B_productPricing_edit')">--</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </s-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-spin> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 编辑价格 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <product-pricing-edit-modal v-drag :openModal="openModal" :itemSn="itemSn" @close="closeModal" @ok="$refs.table.refresh()" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 审核价格 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <product-pricing-audit-modal v-drag :openModal="openAuditModal" :itemSn="itemSn" @close="closeAuditModal" @ok="auditSuccess" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 导入产品 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <importGuideModal :openModal="openGuideModal" @close="openGuideModal=false" @ok="hanldeOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </a-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { commonMixin } from '@/utils/mixin' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import rangeDate from '@/views/common/rangeDate.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { STable, VSelect } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { exportExcel } from '@/libs/JGPrint.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import productPricingEditModal from './editModal.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import productPricingAuditModal from './auditModal.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { productPricingList, productExportPricing, batchAuditPrice, productPriceInsertImport } from '@/api/product' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ProductType from '@/views/common/productType.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ProductBrand from '@/views/common/productBrand.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import ImportGuideModal from './importGuideModal.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'ProductPricingList', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mixins: [commonMixin], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { STable, VSelect, rangeDate, ProductBrand, ProductType }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spinning: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      advanced: true, // 高级搜索 展开/关闭 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openGuideModal: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tableHeight: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      time: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryParam: { //  查询条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '', //  产品名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWord: '', // 产品编码/原厂编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productBrandSn: undefined, //  产品品牌 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn1: '', //  产品一级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn2: '', //  产品二级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn3: '', //  产品三级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pricingState: undefined, //  定价状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        beginDate: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        endDate: undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productType: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      disabled: false, //  查询、重置按钮是否可操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 加载数据方法 必须为 Promise 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loadData: parameter => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return productPricingList(Object.assign(parameter, this.queryParam)).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const no = (data.pageNo - 1) * data.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var i = 0; i < data.list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data.list[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.total = data.count || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total: 0, // 合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openModal: false, //  编辑  弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openAuditModal: false, //  审核  弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      itemSn: '', //  当前产品sn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rowSelectionInfo: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    selTotal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys ? this.rowSelectionInfo.selectedRowKeys.length : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    columns () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '序号', dataIndex: 'no', width: '3%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '创建时间', dataIndex: 'createDate', width: '8%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品名称', dataIndex: 'name', align: 'left', width: '13%', customRender: function (text) { return text || '--' }, ellipsis: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品编码', dataIndex: 'code', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '原厂编码', dataIndex: 'origCode', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '品牌', dataIndex: 'productBrandName', width: '5%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品分类', scopedSlots: { customRender: 'productType' }, width: '7%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品状态', dataIndex: 'stateDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '定价状态', dataIndex: 'pricingStateDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '定价时间', dataIndex: 'pricingTime', width: '8%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '成本价', scopedSlots: { customRender: 'sterminaldsdPrice' }, width: '7%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '省级价', dataIndex: 'provincePrice', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '市级价', dataIndex: 'cityPrice', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '特约价', dataIndex: 'specialPrice', width: '5%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '终端价', dataIndex: 'terminalPrice', width: '5%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '车主价', dataIndex: 'carOwnersPrice', width: '5%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return arr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  定价时间  change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dateChange (date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.beginDate = date[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.endDate = date[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rowSelectionFun (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.rowSelectionInfo = obj || null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetSearchForm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.name = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.queryWord = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productBrandSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn1 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn2 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn3 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.pricingState = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.beginDate = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.endDate = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.time = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.rangeDate.resetDate(this.time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.productType = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.clearSelected() // 清空表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    searchForm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.clearSelected() // 清空表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleAudit (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.itemSn = row.productSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.openAuditModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    auditSuccess () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.clearSelected() // 清空表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 批量审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBatchAudit () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!_this.rowSelectionInfo || (_this.rowSelectionInfo && _this.rowSelectionInfo.selectedRowKeys.length < 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.$message.warning('请先选择产品!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const obj = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.rowSelectionInfo && _this.rowSelectionInfo.selectedRows.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        obj.push(item.productSn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: '确认要审核通过吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          batchAuditPrice(obj).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$refs.table.clearSelected() // 清空表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$refs.table.refresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 导入产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hanldeOk (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productPriceInsertImport(obj).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.resetSearchForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  导出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleExport () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = this.queryParam 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      exportExcel(productExportPricing, params, '产品价格导出', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleEdit (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.itemSn = row.productSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.openModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  关闭弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeModal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.itemSn = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.openModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  关闭审核弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeAuditModal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.itemSn = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.openAuditModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  产品分类  change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeProductType (val, opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn1 = val[0] ? val[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn2 = val[1] ? val[1] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn3 = val[2] ? val[2] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageInit () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$nextTick(() => { // 页面渲染完成后的回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.setTableH() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setTableH () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const tableSearchH = this.$refs.tableSearch.offsetHeight 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.tableHeight = window.innerHeight - tableSearchH - 235 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    advanced (newValue, oldValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$nextTick(() => { // 页面渲染完成后的回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.setTableH() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    '$store.state.app.winHeight' (newValue, oldValue) { //  窗口变更时,需同时更改表格高度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setTableH() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.resetSearchForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  activated () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 如果是新页签打开,则重置当前页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this.$store.state.app.isNewTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.resetSearchForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 仅刷新列表,不重置页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this.$store.state.app.updateList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeRouteEnter (to, from, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    next(vm => {}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 |