|
|
@@ -1,13 +1,1721 @@
|
|
|
+<!-- @desc:销售订单新建 @auth:付斌 @time:2024/02/20 15:15 -->
|
|
|
<template>
|
|
|
|
|
|
+ <div class="main-div" style="position: relative;">
|
|
|
+ <DkCollapse @on-change="changeCollapse" ref="collapse">
|
|
|
+ <DkPanel prop="essentialInformation">
|
|
|
+ <!-- 单据信息 -->
|
|
|
+ <DkForm slot="content" ref="formInline" v-model="formData" style="width:100%" v-if="true">
|
|
|
+ <!--订单单号-->
|
|
|
+ <DkFormItem prop="orderNo">
|
|
|
+ <InputPop ref="orderNo" v-model="formData.orderNo" :readonly="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--合同号-->
|
|
|
+ <DkFormItem prop="contractNo" :required="orderContractNoFlg">
|
|
|
+ <InputPop ref="contractNo" v-model="formData.contractNo"
|
|
|
+ :readonly="checkColumnIsEdit('contractNo')"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--客户电话-->
|
|
|
+ <DkFormItem prop="customerPhone" :required="true">
|
|
|
+ <SelectMagnifier v-model="formData.customerPhone" searchType="S"
|
|
|
+ :telephone="true"
|
|
|
+ :other-condition="{flgOrderForm: true}"
|
|
|
+ primary-key="customerId"
|
|
|
+ :input-read-only="customerPhoneReadOnly"
|
|
|
+ ref="customerPhone" :select-flag=false
|
|
|
+ :type="this.$config.MagnifierType.customerOrder"
|
|
|
+ :disabled="checkColumnIsEdit('customerPhone')"
|
|
|
+ @on-input-blur="selectCustomer"
|
|
|
+ @ok="selectCustomer"
|
|
|
+ @modelOk="customerPhoneChange"
|
|
|
+ >
|
|
|
+ </SelectMagnifier>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--客户名称-->
|
|
|
+ <DkFormItem prop="customerName" :required="true">
|
|
|
+ <InputPop ref="customerName" :readonly="checkColumnIsEdit('customerName')"
|
|
|
+ v-model="formData.customerName"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--客户区域-->
|
|
|
+ <DkFormItem prop="customerDistrict"
|
|
|
+ :required="true">
|
|
|
+ <!-- 高德 -->
|
|
|
+ <!-- <RegionsChooseAmap v-model="regionData" :options="cityData" :default-value="formData.addressName"-->
|
|
|
+ <!-- :readonly="checkColumnIsEdit('addressName')" ref="customerDistrict"-->
|
|
|
+ <!-- @on-choose="chooseAddress"></RegionsChooseAmap>-->
|
|
|
+ </DkFormItem>
|
|
|
+ <!--门牌号-->
|
|
|
+ <DkFormItem prop="addressNo" :required="true">
|
|
|
+ <InputPop ref="addressNo" :readonly="checkColumnIsEdit('addressNo')"
|
|
|
+ v-model="formData.addressNo"
|
|
|
+ @input="setAddressFull"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--联系人-->
|
|
|
+ <DkFormItem prop="contactName">
|
|
|
+ <InputPop ref="contactName" :readonly="checkColumnIsEdit('contactName')"
|
|
|
+ v-model="formData.contactName"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--联系电话-->
|
|
|
+ <DkFormItem prop="contactPhones">
|
|
|
+ <!-- <SelectInputPop ref="contactPhones" :disabled="readonlyFlag" v-model="formData.contactPhones"/>-->
|
|
|
+ <InputPop :telephone="true" ref="contactPhones" :readonly="checkColumnIsEdit('contactPhones')"
|
|
|
+ v-model="formData.contactPhones"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--详细地址-->
|
|
|
+ <!-- :readonly="true" -->
|
|
|
+ <DkFormItem prop="addressFull" :required="true">
|
|
|
+ <InputPop ref="addressFull" v-model="formData.addressFull"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--业务员-->
|
|
|
+ <DkFormItem prop="staffId" :label="$t('staffId')" :required="true">
|
|
|
+ <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffName"
|
|
|
+ :type="this.$config.MagnifierType.staff"
|
|
|
+ @ok="staffOk"
|
|
|
+ :initSearchFlag="true"
|
|
|
+ :readonly="checkColumnIsEdit('staffId')"
|
|
|
+ :multiple="false"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--业务部门-->
|
|
|
+ <DkFormItem prop="orgId" :label="$t('orgId')" :required="true">
|
|
|
+ <SelectMagnifier v-model="formData.orgId" :display-text="formData.orgName"
|
|
|
+ :type="this.$config.MagnifierType.org"
|
|
|
+ @ok="orgOk"
|
|
|
+ :initSearchFlag="true"
|
|
|
+ :readonly="checkColumnIsEdit('orgId')"
|
|
|
+ :multiple="false"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--小区档案-->
|
|
|
+ <DkFormItem prop="estateId">
|
|
|
+ <SelectMagnifier v-model="formData.estateId" :display-text="formData.estateName"
|
|
|
+ :type="this.$config.MagnifierType.estate"
|
|
|
+ :disabled="checkColumnIsEdit('estateId')"
|
|
|
+ searchType="S"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--客户来源-->
|
|
|
+ <DkFormItem prop="customerFrom" :required="true">
|
|
|
+ <SelectPop v-model="formData.customerFrom" ref="customerFrom" :multiple="false"
|
|
|
+ :options="customerFromList"
|
|
|
+ :disabled="checkColumnIsEdit('customerFrom')"
|
|
|
+ labelKey="fromName"
|
|
|
+ valueKey=fromId>
|
|
|
+ </SelectPop>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--装修户型数-->
|
|
|
+ <DkFormItem prop="toiletCount" :required="true">
|
|
|
+ <SelectPop v-model="formData.toiletCount" :multiple="false" :options="tolietsList"
|
|
|
+ :disabled="checkColumnIsEdit('toiletCount')" ref="toiletCount"
|
|
|
+ @on-select-label="selectTolietCount" :labelInValue="true"
|
|
|
+ labelKey="toiletsName"
|
|
|
+ valueKey=toiletsId>
|
|
|
+ </SelectPop>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--销售渠道-->
|
|
|
+ <DkFormItem prop="saleChannel" :required="true">
|
|
|
+ <!-- <InputPop ref="saleChannel" :readonly=true v-model="formData.saleChannel"/> -->
|
|
|
+ <SelectPop v-model="formData.saleChannel" ref="channel"
|
|
|
+ :options="channelList"
|
|
|
+ :multiple="false"
|
|
|
+ labelKey="channelName"
|
|
|
+ valueKey="channelId">
|
|
|
+ </SelectPop>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--装修类型-->
|
|
|
+ <DkFormItem prop="fitupType" :required="true">
|
|
|
+ <SelectPop v-model="formData.fitupType" ref="fitupType" :multiple="false"
|
|
|
+ :options="customerFitupType"
|
|
|
+ :disabled="checkColumnIsEdit('fitupType')"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey="dataId"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--房屋类型-->
|
|
|
+ <DkFormItem prop="houseType" :required="orderHouseTypeFlg">
|
|
|
+ <SelectPop v-model="formData.houseType" ref="houseType" :multiple="false" :options="houseType"
|
|
|
+ :disabled="checkColumnIsEdit('houseType')"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey=dataId>
|
|
|
+ </SelectPop>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--装修风格-->
|
|
|
+ <DkFormItem prop="fitupStyle" :required="orderFitupStyleFlg">
|
|
|
+ <SelectPop v-model="formData.fitupStyle" ref="fitupStyle" :multiple="false"
|
|
|
+ :options="customerfitupStyle"
|
|
|
+ :disabled="checkColumnIsEdit('fitupStyle')"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey="dataId"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--年龄构成-->
|
|
|
+ <DkFormItem prop="ageComposition"
|
|
|
+ :required="orderAgeCompositionFlg">
|
|
|
+ <SelectPop v-model="formData.ageComposition" ref="ageComposition" :multiple="false"
|
|
|
+ :options="customerAgeComposition"
|
|
|
+ :disabled="checkColumnIsEdit('ageComposition')"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey="dataId"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--决策者-->
|
|
|
+ <DkFormItem prop="decisionMaker"
|
|
|
+ :required="orderDecisionMakerFlg">
|
|
|
+ <SelectPop v-model="formData.decisionMaker" ref="decisionMaker" :multiple="false"
|
|
|
+ :options="customerDecisionMaker"
|
|
|
+ :disabled="checkColumnIsEdit('decisionMaker')"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey="dataId"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--制单时间-->
|
|
|
+ <DkFormItem prop="makingTime" :required="true">
|
|
|
+ <DatePickerPop v-model="formData.makingTime"
|
|
|
+ :placeholder="$t('inputWords',{'search-name':$t('makingTime')})"
|
|
|
+ type="date" :short-cut-flag="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--送货时间-->
|
|
|
+ <DkFormItem prop="deliveryTime" :required="false">
|
|
|
+ <DatePickerPop v-model="formData.deliveryTime"
|
|
|
+ :placeholder="$t('inputWords',{'search-name':$t('deliveryTime')})"
|
|
|
+ :readonly="checkColumnIsEdit('deliveryTime')"
|
|
|
+ type="date" :short-cut-flag="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--交货方式-->
|
|
|
+ <DkFormItem prop="deliveryType">
|
|
|
+ <SelectPop v-model="formData.deliveryType" ref="deliveryType" :multiple="false"
|
|
|
+ :options="deliveryTypeList"
|
|
|
+ labelKey="dataValue"
|
|
|
+ valueKey="dataId"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--家装业务员-->
|
|
|
+ <DkFormItem prop="hdStaffCode">
|
|
|
+ <SelectMagnifier v-model="formData.hdStaffCode" :display-text="formData.hdStaffName"
|
|
|
+ :type="this.$config.MagnifierType.hdHomeStaff"
|
|
|
+ :other-condition="{cpId:$store.state.user.cpId,orgId:$store.state.user.orgId}"
|
|
|
+ :disabled="checkColumnIsEdit('hdStaffCode')"
|
|
|
+ @ok="hdStaffOK"
|
|
|
+ searchType="M"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--家装公司-->
|
|
|
+ <DkFormItem prop="dcId">
|
|
|
+ <SelectMagnifier v-model="formData.dcId" :display-text="formData.dcName"
|
|
|
+ :type="this.$config.MagnifierType.decorationCompany"
|
|
|
+ :disabled="checkColumnIsEdit('dcId')"
|
|
|
+ searchType="S"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--家装设计师-->
|
|
|
+ <DkFormItem prop="hdId">
|
|
|
+ <SelectMagnifier v-model="formData.hdId" :display-text="formData.hdName"
|
|
|
+ :type="this.$config.MagnifierType.homeDesigner"
|
|
|
+ :disabled="checkColumnIsEdit('hdId')"
|
|
|
+ searchType="S"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!-- 设计师-->
|
|
|
+ <DkFormItem prop="designUser">
|
|
|
+ <SelectMagnifier v-model="formData.designUser" :display-text="formData.designUserName"
|
|
|
+ searchType="S" :other-condition="{jobIds: [-102]}"
|
|
|
+ :init-search-flag="true"
|
|
|
+ :type="this.$config.MagnifierType.user"></SelectMagnifier>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--备注-->
|
|
|
+ <DkFormItem prop="remarks">
|
|
|
+ <InputPop ref="remarks" v-model="formData.remarks" :readonly="checkColumnIsEdit('remarks')"
|
|
|
+ maxlength=500 textareaFlag/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--审批原因-->
|
|
|
+ <DkFormItem prop="apsReason">
|
|
|
+ <InputPop ref="apsReason" v-model="formData.apsReason" :readonly="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ </DkPanel>
|
|
|
+ <!--商品信息-->
|
|
|
+ <DkPanel prop="goodsInformation">
|
|
|
+ <div id="search-cond-div-goods-info" ref="search-cond-div-goods-info" slot="content">
|
|
|
+ <EditTreeTable ref="goodsTable" :data="formData.goodsList" showFooter exchange-field="replaceableSku"
|
|
|
+ major-field="itemId"
|
|
|
+ combined-field="promotionId"
|
|
|
+ :new-row-flag="!(!this.formData.orgId)"
|
|
|
+ :readonly="checkColumnIsEdit('goodsTable')"
|
|
|
+ :amount-name="this.type == this.$config.formMode.add?'itemAmount':'tItemAmount'"
|
|
|
+ :columns="(this.type == this.$config.formMode.add
|
|
|
+ || this.type == this.$config.formMode.approval)?goodsColumns:goodsColumnsEdit"
|
|
|
+ :orgId="this.formData.orgId"
|
|
|
+ :customerId="this.formData.customerId"
|
|
|
+ :saleChannelCode="this.formData.saleChannelCode"
|
|
|
+ :defWhId="this.defWhId"
|
|
|
+ controlId="skuId"
|
|
|
+ @on-choose="getTotals"
|
|
|
+ @changeValue="changeValue"
|
|
|
+ :selectDataFlag="type == $config.formMode.approval?false:true"
|
|
|
+ ></EditTreeTable>
|
|
|
+ <div>
|
|
|
+ <DkForm ref="goodsFootFormData" v-model="goodsFootFormData" :labelMaxWords="5" name="dk-form"
|
|
|
+ class="form-content-class">
|
|
|
+ <!--货物金额-->
|
|
|
+ <DkFormItem prop="sumGoodsAmount">
|
|
|
+ <InputNumberPop ref="sumGoodsAmount" v-model="goodsFootFormData.sumGoodsAmount" :clearable="false"
|
|
|
+ @on-blur="(val)=>changeDiscountPromotion(val, false)" :digits="2"
|
|
|
+ :readonly="(type=='edit' && orderType!=$config.orderType.quote) || (type==$config.formMode.approval) || (type=='add' && $refs['goodsTable'] && $refs['goodsTable'].getTableDataFilter().length ==0) ||disabledFlag"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--标价总额-->
|
|
|
+ <DkFormItem prop="sumStandard">
|
|
|
+ <InputNumberPop ref="sumStandard" v-model="goodsFootFormData.sumStandard" :digits="2"
|
|
|
+ :readonly="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--标价折扣-->
|
|
|
+ <DkFormItem prop="discountStandard">
|
|
|
+ <InputNumberPop ref="discountStandard" v-model="goodsFootFormData.discountStandard" :digits="2"
|
|
|
+ :readonly="true" unit="%"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--标准售价-->
|
|
|
+ <DkFormItem prop="sumPromotion">
|
|
|
+ <InputNumberPop ref="sumPromotion" v-model="goodsFootFormData.sumPromotion"
|
|
|
+ :digits="2"
|
|
|
+ :readonly="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--标准价折扣-->
|
|
|
+ <DkFormItem prop="discountPromotion">
|
|
|
+ <InputNumberPop ref="discountPromotion" v-model="goodsFootFormData.discountPromotion" :digits="2"
|
|
|
+ @on-change="(val)=>changeDiscountPromotion(val, true)" unit="%" :clearable="false"
|
|
|
+ :readonly="(type=='edit' && orderType!=$config.orderType.quote) || (type==$config.formMode.approval) || (type=='add' && $refs['goodsTable'] && $refs['goodsTable'].getTableDataFilter().length ==0) || disabledFlag"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--总重量-->
|
|
|
+ <DkFormItem prop="sumWeight">
|
|
|
+ <InputNumberPop ref="sumWeight" v-model="goodsFootFormData.sumWeight" :digits="2"
|
|
|
+ :readonly="true" unit="KG"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--总体积-->
|
|
|
+ <DkFormItem prop="sumVolume">
|
|
|
+ <InputNumberPop ref="sumVolume" v-model="goodsFootFormData.sumVolume" :digits="2"
|
|
|
+ :readonly="true" unit="m³"/>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </DkPanel>
|
|
|
+ <!--客户收款-->
|
|
|
+ <DkPanel prop="customerAccount">
|
|
|
+ <DkForm slot="content" ref="feeFormData" v-model="feeFormData" name="dk-form"
|
|
|
+ class="form-content-class">
|
|
|
+ <!--费用金额-->
|
|
|
+ <DkFormItem prop="sumFeeAmount">
|
|
|
+ <InputNumberPop size="small" v-model="feeFormData.sumFeeAmount" ref="sumFeeAmount" :digits="2"
|
|
|
+ @on-change="handleFeeChange"
|
|
|
+ :readonly="checkColumnIsEdit('sumFeeAmount')"></InputNumberPop>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--合计金额-->
|
|
|
+ <DkFormItem prop="sumAmount">
|
|
|
+ <InputNumberPop ref="sumAmount" v-model="feeFormData.sumAmount" :readonly=true :digits="2"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--客户收款-->
|
|
|
+ <DkFormItem prop="sumReceiptAmount">
|
|
|
+ <ModalReceipt :data="receiptList" :total-amount="feeFormData.sumAmount"
|
|
|
+ :usable-prestore="this.feeFormData.usablePrestore"
|
|
|
+ :height="tableHeight - 25"
|
|
|
+ :annex-paths="this.feeFormData.annexPaths"
|
|
|
+ :remarks="this.feeFormData.remarks"
|
|
|
+ ref="sumReceiptAmount"
|
|
|
+ :readonly="checkColumnIsEdit('sumReceiptAmount')"
|
|
|
+ @on-choose="chooseReceipt"></ModalReceipt>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--剩余应收-->
|
|
|
+ <DkFormItem prop="receivable">
|
|
|
+ <InputNumberPop ref="receivable" v-model="feeFormData.receivable" :digits="2"
|
|
|
+ :readonly="true"/>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ </DkPanel>
|
|
|
+ <!--附件-->
|
|
|
+ <DkPanel prop="files">
|
|
|
+ <div id="search-cond-div-files-info" ref="search-cond-div-files-info"
|
|
|
+ slot="content">
|
|
|
+ <DkPicWall v-model="formData.annexPaths" :disabled="this.allCanNoEdit?true:false"
|
|
|
+ folder="t_order/annex_paths" :accept="$config.uploadFileConfig.acceptPicType"
|
|
|
+ :format="['jpg','jpeg','png']"></DkPicWall>
|
|
|
+ </div>
|
|
|
+ </DkPanel>
|
|
|
+ </DkCollapse>
|
|
|
+ <!-- 下部分按钮区域-->
|
|
|
+ <DkSaveButton v-if="this.type != this.$config.formMode.approval" ref="saveButton" :disabled="allCanNoEdit"
|
|
|
+ :showQuotation=true :loading="loading"
|
|
|
+ @save="submitForm(true)"
|
|
|
+ @close="closeForm">
|
|
|
+ <DkButton ref="saveQuotation" type="primary"
|
|
|
+ v-if="type == $config.formMode.edit && formData.orderStatus === this.$config.orderStatus.quote "
|
|
|
+ @click="submitForm(false)" style="margin-right: 10px;" :loading="loading">{{ $t('saveQuotation') }}
|
|
|
+ </DkButton>
|
|
|
+ </DkSaveButton>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import {formMixin} from '@/mixins/form'
|
|
|
+
|
|
|
export default {
|
|
|
- name: "index"
|
|
|
+ components: {},
|
|
|
+ mixins: [formMixin],
|
|
|
+ data() {
|
|
|
+ let self = this
|
|
|
+ return {
|
|
|
+ ruleFlag: false,
|
|
|
+ // 装修风格
|
|
|
+ orderFitupStyleFlg: null,
|
|
|
+ // 年龄构成
|
|
|
+ orderAgeCompositionFlg: null,
|
|
|
+ // 决策者
|
|
|
+ orderDecisionMakerFlg: null,
|
|
|
+ // 房屋类型
|
|
|
+ orderHouseTypeFlg: null,
|
|
|
+ // 合同号
|
|
|
+ orderContractNoFlg: null,
|
|
|
+ //新增省市区
|
|
|
+ addressArea: [],
|
|
|
+ //画面模式选项
|
|
|
+ tabsOptions: [
|
|
|
+ {label: self.$t('order-message'), name: 'name1'},
|
|
|
+ {label: self.$t('goods-message'), name: 'name2'},
|
|
|
+ {label: self.$t('customer-account'), name: 'name3'},
|
|
|
+ {label: self.$t('file'), name: 'name5'},
|
|
|
+ ],
|
|
|
+ //画面模式选项角标
|
|
|
+ bottomList: ['1', '2', '3', '5'],
|
|
|
+ setCustomerFlag: false, // 是否是选择客户设置以及编辑时设置
|
|
|
+ loading: false,
|
|
|
+ //控制客户是否可以输入
|
|
|
+ readonlyFlag: true,
|
|
|
+ changeOrgFlag: false,
|
|
|
+ //费用的列
|
|
|
+ feeItemColumns: [
|
|
|
+ {field: 'itemName', type: 'disabled', title: self.$t('costItemName'), width: 'auto'},
|
|
|
+ {field: 'itemAmount', type: 'number', digits: 2, sum: true},
|
|
|
+ ],
|
|
|
+ //一直可以编辑的列(客户名称(暂时不让改)、客户来源、装修户型数、装修类型、房屋类型、装修风格、年龄构成、决策者 客户送货信息:客户地址、合同号、联系人、联系电话、小区档案 送货时间、备注、附件)
|
|
|
+ alwaysEditColumns: ['remarks', 'designRemarks', 'customerFrom', 'toiletCount', 'fitupType', 'houseType', 'fitupStyle', 'ageComposition',
|
|
|
+ 'decisionMaker', 'addressName', 'addressNo', 'contractNo', 'deliveryTime', 'estateId', 'contactName', 'contactPhones'],
|
|
|
+ customerColumns: ['customerName', 'addressNo', 'addressGcj02', 'contactName', 'contactPhones', 'addressName'],
|
|
|
+ allCanEdit: true, //是否可以进行大编辑
|
|
|
+ allCanNoEdit: false, //是否所有的都不允许编辑
|
|
|
+ customerPhoneReadOnly: false,//电话是否可以只读
|
|
|
+ fristCustomerId: null,//记录第一次选的客户
|
|
|
+ // 画面表单数据
|
|
|
+ formData: {
|
|
|
+ ascpId: null,//所属公司Id
|
|
|
+ sale1Id: null,//二级商户
|
|
|
+ sale2Id: null,//一级商户
|
|
|
+ cpId: null,//公司ID
|
|
|
+ erpPushStatus: null,
|
|
|
+ editTime: null,//编辑的时间戳
|
|
|
+ orderId: 0, //订单Id
|
|
|
+ orderNo: null,
|
|
|
+ orderStatus: null,//订单状态
|
|
|
+ docCode: null,//单据类型
|
|
|
+ contractNo: null,//合同号
|
|
|
+ customerId: null,//客户Id
|
|
|
+ customerName: null,
|
|
|
+ customerPhone: null,
|
|
|
+ qvExternalUserid: null,
|
|
|
+ noTelephone: false,
|
|
|
+ contactName: null,
|
|
|
+ contactPhones: null,
|
|
|
+ addressArea: {},//行政区
|
|
|
+ customerDistrict: {},//记录选择的客户区域
|
|
|
+ addressName: null,//小区档案
|
|
|
+ addressGcj02: null,//地址坐标
|
|
|
+ addressNo: null,//门牌号
|
|
|
+ addressFull: null,//详细地址
|
|
|
+ staffId: null,
|
|
|
+ staffName: null,
|
|
|
+ staffCode: null,
|
|
|
+ staffNames: null,
|
|
|
+ staffList: [],//存放从业务员id和分配百分比
|
|
|
+ orgId: null,
|
|
|
+ defaultOrgName: null,
|
|
|
+ orgName: null,
|
|
|
+ orgCode: null,
|
|
|
+ erpOrgCode: null,
|
|
|
+ orgNames: null,
|
|
|
+ orgList: [],//存放从业务部门id和分配百分比
|
|
|
+ channelId: null, //销售渠道
|
|
|
+ toiletCount: null,//装修户型数
|
|
|
+ toiletsName: null,//装修户型数名称
|
|
|
+ toiletsNum: null,//装修户型数个数
|
|
|
+ customerFrom: null,//客户来源
|
|
|
+ houseType: null,//房屋类型
|
|
|
+ fitupType: null,//装修类型
|
|
|
+ fitupStyle: null,//装修风格
|
|
|
+ ageComposition: null, //年龄构成
|
|
|
+ decisionMaker: null,//决策者
|
|
|
+ deliveryTime: new Date().addDays(1).format(),//送货时间
|
|
|
+ makingTime: new Date().format(),//制单日期
|
|
|
+ estateId: null,//小区档案
|
|
|
+ designStatusFlag: false,//设计状态标识
|
|
|
+ remarks: null,
|
|
|
+ goodsList: [],
|
|
|
+ feeFormData: {},
|
|
|
+ files: [],
|
|
|
+ feeList: [], //费用金额
|
|
|
+ sumFeeAmount: 0,//累计费用金额
|
|
|
+ receiptList: [], //定金金额
|
|
|
+ // 交货方式
|
|
|
+ deliveryType: null,
|
|
|
+ remarksInside: null,
|
|
|
+ // 附件
|
|
|
+ annexPaths: [],
|
|
|
+ designUser: null,
|
|
|
+ designUserName: null,
|
|
|
+ designRemarks: null,
|
|
|
+ apvResult: null,
|
|
|
+ erpHdId: null,
|
|
|
+ hdList: [],//存放主从家装设计师
|
|
|
+ dcId: null,
|
|
|
+ dcName: null,
|
|
|
+ hdId: null,
|
|
|
+ hdName: null,
|
|
|
+ hdStaffCode: null,
|
|
|
+ hdStaffName: null,
|
|
|
+ erpHomeStaffs: [],//家装业务员
|
|
|
+ saleChannel: null,//销售渠道
|
|
|
+ saleChannelCode: null,//销售渠道编码
|
|
|
+ saleChannelName: null,// 销售渠道名称
|
|
|
+ apsReason: null,//审批原因
|
|
|
+ // erpOnlyCode: null,//商户ERP系统经销商编码
|
|
|
+ // flgToErp: null,//是否同步erp系统
|
|
|
+ // sale2OpeMode: null,//分销运营模式
|
|
|
+ //makingUserPur: null,//制单人(采购订单)
|
|
|
+ },
|
|
|
+ // erpOnlyCode: null,//商户ERP系统经销商编码
|
|
|
+ // flgToErp: null,//是否同步erp系统
|
|
|
+ // sale2OpeMode: null,//分销运营模式
|
|
|
+ orderType: null,
|
|
|
+ estateData: [],//小区档案数据源
|
|
|
+ regionData: [],
|
|
|
+ cityData: [],
|
|
|
+ // 校验规则
|
|
|
+ ruleInline: {
|
|
|
+ docCode: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //客户电话
|
|
|
+ customerPhone: [
|
|
|
+ {required: true, trigger: 'none'},
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'none',
|
|
|
+ max: 11,
|
|
|
+ min: 11,
|
|
|
+ message: self.$t('W_071', {'param': self.$t('customerPhone')})
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ customerName: [
|
|
|
+ {required: true, trigger: 'none'}
|
|
|
+ ],
|
|
|
+ // //小区档案
|
|
|
+ // addressName: [
|
|
|
+ // {required: true, trigger: 'none'}
|
|
|
+ // ],
|
|
|
+ // 客户区域
|
|
|
+ customerDistrict: [
|
|
|
+ {required: true, trigger: 'none', type: 'object'}
|
|
|
+ ],
|
|
|
+ //门牌号
|
|
|
+ addressNo: [
|
|
|
+ {required: true, trigger: 'none'}
|
|
|
+ ],
|
|
|
+ // 联系电话
|
|
|
+ contactPhones: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ trigger: 'none',
|
|
|
+ max: 11,
|
|
|
+ min: 11,
|
|
|
+ message: self.$t('W_071', {'param': self.$t('contactPhones')})
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ //客户地址
|
|
|
+ addressFull: [
|
|
|
+ {required: true, trigger: 'none'}
|
|
|
+ ],
|
|
|
+ staffId: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ orgId: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ // orgList: [
|
|
|
+ // {required: true, trigger: 'none', type: 'array'}
|
|
|
+ // ],
|
|
|
+ //客户来源
|
|
|
+ customerFrom: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //设计备注
|
|
|
+ designRemarks: [
|
|
|
+ {required: true, trigger: 'none',}
|
|
|
+ ],
|
|
|
+ //装修户型数
|
|
|
+ toiletCount: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //装修类型
|
|
|
+ fitupType: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //装修风格
|
|
|
+ fitupStyle: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //年龄构成
|
|
|
+ ageComposition: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //决策者
|
|
|
+ decisionMaker: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ //合同号
|
|
|
+ contractNo: [
|
|
|
+ {required: true, trigger: 'none'}
|
|
|
+ ],
|
|
|
+ //房屋类型
|
|
|
+ houseType: [
|
|
|
+ {required: true, trigger: 'none', type: 'number'}
|
|
|
+ ],
|
|
|
+ // //deliveryTime
|
|
|
+ // 送货时间: [
|
|
|
+ // {required: true, trigger: 'none'}
|
|
|
+ // ],
|
|
|
+ },
|
|
|
+ channelList: [],
|
|
|
+ customerFromList: [],//客户来源
|
|
|
+ tolietsList: [],//装修户型数
|
|
|
+ //装修风格
|
|
|
+ customerfitupStyle: [],
|
|
|
+ //装修类型
|
|
|
+ customerFitupType: [],
|
|
|
+ //年龄构成
|
|
|
+ customerAgeComposition: [],
|
|
|
+ //决策者
|
|
|
+ customerDecisionMaker: [],
|
|
|
+ //房屋类型
|
|
|
+ houseType: [],
|
|
|
+ //交货方式list
|
|
|
+ deliveryTypeList: [],
|
|
|
+ //监听上一次所选的用户
|
|
|
+ userFormData: {},
|
|
|
+ tableHeight: 300,
|
|
|
+ // 保存错误消息
|
|
|
+ errMessage: {},
|
|
|
+ goodsColumns: [
|
|
|
+ {
|
|
|
+ field: 'skuModel',
|
|
|
+ controlId: 'skuId',
|
|
|
+ treeNode: true,
|
|
|
+ width: 200,
|
|
|
+ type: 'tableSelect',
|
|
|
+ fixed: 'left',
|
|
|
+ promotionType: true,
|
|
|
+ dataType: self.$config.tableSelectType.goods,
|
|
|
+ tip: self.$t('W_117'),
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'skuCode', valueFiled: 'skuCode'},
|
|
|
+ {updateField: 'skuModel', valueFiled: 'skuModel'},
|
|
|
+ {updateField: 'itemPrice', valueFiled: 'itemPrice'},
|
|
|
+ {updateField: 'itemQuantity', valueFiled: 'itemQuantity', defaultValue: 1},
|
|
|
+ {updateField: 'skuId', valueFiled: 'skuId'},
|
|
|
+ {updateField: 'skuName', valueFiled: 'skuName'},
|
|
|
+ {updateField: 'spuId', valueFiled: 'spuId'},
|
|
|
+ {updateField: 'spuCode', valueFiled: 'spuCode'},
|
|
|
+ {updateField: 'skuSpecs', valueFiled: 'skuSpecs'},//商品规格
|
|
|
+ {updateField: 'skuUnit', valueFiled: 'skuUnit'},//计量单位
|
|
|
+ {updateField: 'flgEstimate', valueFiled: 'flgEstimate'},//计量标识
|
|
|
+ {updateField: 'salesMode', valueFiled: 'salesMode'},//流通方式
|
|
|
+ {updateField: 'goodsCategoryName', valueFiled: 'goodsCategoryName'},//商品种类
|
|
|
+ {updateField: 'goodsVarietyName', valueFiled: 'goodsCategoryName'},//商品品种
|
|
|
+ {updateField: 'skuSeries', valueFiled: 'skuSeries'},//商品系列
|
|
|
+ {updateField: 'skuBrand', valueFiled: 'skuBrand'},//商品品牌
|
|
|
+ {updateField: 'skuLength', valueFiled: 'skuLength'},
|
|
|
+ {updateField: 'skuWidth', valueFiled: 'skuWidth'},
|
|
|
+ {updateField: 'skuHeight', valueFiled: 'skuHeight'},
|
|
|
+ {updateField: 'skuVolume', valueFiled: 'skuVolume'},
|
|
|
+ {updateField: 'skuWeight', valueFiled: 'skuWeight'},
|
|
|
+ {updateField: 'skuArea', valueFiled: 'skuArea'},
|
|
|
+ {updateField: 'skuType', valueFiled: 'skuType'},
|
|
|
+ {updateField: 'standardId', valueFiled: 'standardId'},
|
|
|
+ {updateField: 'standardItemId', valueFiled: 'standardItemId'},
|
|
|
+ {updateField: 'priceStandard', valueFiled: 'priceStandard'},
|
|
|
+ {updateField: 'promotionId', valueFiled: 'promotionId'},
|
|
|
+ {updateField: 'promotionItemId', valueFiled: 'promotionItemId'},
|
|
|
+ {updateField: 'pricePromotion', valueFiled: 'pricePromotion'},
|
|
|
+ {updateField: 'priceSale', valueFiled: 'priceSale'},
|
|
|
+ {updateField: 'promotionTypeName', valueFiled: 'promotionTypeName'},
|
|
|
+ {updateField: 'promotionPriceType', valueFiled: 'promotionPriceType'},
|
|
|
+ {updateField: 'promotionPriceTypeName', valueFiled: 'promotionPriceTypeName'},
|
|
|
+ {updateField: 'promotionType', valueFiled: 'promotionType'},
|
|
|
+ {updateField: 'promotionName', valueFiled: 'promotionName'},
|
|
|
+ {updateField: 'activityId', valueFiled: 'activityId'},
|
|
|
+ {updateField: 'activityName', valueFiled: 'activityName'},
|
|
|
+ {updateField: 'combinedTypeId', valueFiled: 'combinedTypeId'},
|
|
|
+ {updateField: 'combinedSpecsId', valueFiled: 'combinedSpecsId'},
|
|
|
+ {updateField: 'orderItemQuantity', valueFiled: 'orderItemQuantity'},
|
|
|
+ {updateField: 'discountStandard', valueFiled: 'discountStandard'},
|
|
|
+ {updateField: 'discountPromotion', valueFiled: 'discountPromotion'},
|
|
|
+ {updateField: 'flgGift', valueFiled: 'flgGift'},
|
|
|
+ {updateField: 'nonGlassPriceItems', valueFiled: 'nonGlassPriceItems'},
|
|
|
+ {updateField: 'nonGlassSpuItems', valueFiled: 'nonGlassSpuItems'},
|
|
|
+ {updateField: 'nonGlassListShow', valueFiled: 'nonGlassListShow'},
|
|
|
+ {updateField: 'flgNonStandardType', valueFiled: 'flgNonStandardType'},
|
|
|
+ {updateField: 'specialType', valueFiled: 'specialType'},
|
|
|
+ {updateField: 'cpFlgGift', valueFiled: 'cpFlgGift'},
|
|
|
+ {updateField: 'flgAllowSpecsUndefine', valueFiled: 'flgAllowSpecsUndefine'},
|
|
|
+ {updateField: 'flgSpecsUndefine', valueFiled: 'flgSpecsUndefine'},
|
|
|
+ {updateField: 'specialFormula', valueFiled: 'specialFormula'},
|
|
|
+ {updateField: 'whId', valueFiled: 'whId'},
|
|
|
+ {updateField: 'bomParentId', valueFiled: 'bomParentId'},
|
|
|
+ {updateField: 'priceCost', valueFiled: 'priceCost'},
|
|
|
+ {updateField: 'categoryId', valueFiled: 'categoryId'},
|
|
|
+ {updateField: 'flgInstalled', defaultValue: true},
|
|
|
+ ],
|
|
|
+ searchDetailFlag: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'skuName',
|
|
|
+ controlId: 'skuId',
|
|
|
+ type: 'tableSelect',
|
|
|
+ width: 300,
|
|
|
+ fixed: 'left',
|
|
|
+ promotionType: true,
|
|
|
+ dataType: self.$config.tableSelectType.goods,
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'skuCode', valueFiled: 'skuCode'},
|
|
|
+ {updateField: 'skuModel', valueFiled: 'skuModel'},
|
|
|
+ {updateField: 'itemPrice', valueFiled: 'itemPrice'},
|
|
|
+ {updateField: 'itemQuantity', valueFiled: 'itemQuantity', defaultValue: 1},
|
|
|
+ {updateField: 'skuId', valueFiled: 'skuId'},
|
|
|
+ {updateField: 'skuName', valueFiled: 'skuName'},
|
|
|
+ {updateField: 'spuId', valueFiled: 'spuId'},
|
|
|
+ {updateField: 'spuCode', valueFiled: 'spuCode'},
|
|
|
+ {updateField: 'skuSpecs', valueFiled: 'skuSpecs'},//商品规格
|
|
|
+ {updateField: 'skuUnit', valueFiled: 'skuUnit'},//计量单位
|
|
|
+ {updateField: 'flgEstimate', valueFiled: 'flgEstimate'},//计量标识
|
|
|
+ {updateField: 'salesMode', valueFiled: 'salesMode'},//流通方式
|
|
|
+ {updateField: 'goodsCategoryName', valueFiled: 'goodsCategoryName'},//商品种类
|
|
|
+ {updateField: 'goodsVarietyName', valueFiled: 'goodsCategoryName'},//商品品种
|
|
|
+ {updateField: 'skuSeries', valueFiled: 'skuSeries'},//商品系列
|
|
|
+ {updateField: 'skuBrand', valueFiled: 'skuBrand'},//商品品牌
|
|
|
+ {updateField: 'skuLength', valueFiled: 'skuLength'},
|
|
|
+ {updateField: 'skuWidth', valueFiled: 'skuWidth'},
|
|
|
+ {updateField: 'skuHeight', valueFiled: 'skuHeight'},
|
|
|
+ {updateField: 'skuVolume', valueFiled: 'skuVolume'},
|
|
|
+ {updateField: 'skuWeight', valueFiled: 'skuWeight'},
|
|
|
+ {updateField: 'skuArea', valueFiled: 'skuArea'},
|
|
|
+ {updateField: 'skuType', valueFiled: 'skuType'},
|
|
|
+ {updateField: 'standardId', valueFiled: 'standardId'},
|
|
|
+ {updateField: 'standardItemId', valueFiled: 'standardItemId'},
|
|
|
+ {updateField: 'priceStandard', valueFiled: 'priceStandard'},
|
|
|
+ {updateField: 'promotionId', valueFiled: 'promotionId'},
|
|
|
+ {updateField: 'promotionItemId', valueFiled: 'promotionItemId'},
|
|
|
+ {updateField: 'pricePromotion', valueFiled: 'pricePromotion'},
|
|
|
+ {updateField: 'priceSale', valueFiled: 'priceSale'},
|
|
|
+ {updateField: 'promotionTypeName', valueFiled: 'promotionTypeName'},
|
|
|
+ {updateField: 'promotionPriceType', valueFiled: 'promotionPriceType'},
|
|
|
+ {updateField: 'promotionPriceTypeName', valueFiled: 'promotionPriceTypeName'},
|
|
|
+ {updateField: 'promotionType', valueFiled: 'promotionType'},
|
|
|
+ {updateField: 'promotionName', valueFiled: 'promotionName'},
|
|
|
+ {updateField: 'activityId', valueFiled: 'activityId'},
|
|
|
+ {updateField: 'activityName', valueFiled: 'activityName'},
|
|
|
+ {updateField: 'combinedTypeId', valueFiled: 'combinedTypeId'},
|
|
|
+ {updateField: 'combinedSpecsId', valueFiled: 'combinedSpecsId'},
|
|
|
+ {updateField: 'orderItemQuantity', valueFiled: 'orderItemQuantity'},
|
|
|
+ {updateField: 'discountStandard', valueFiled: 'discountStandard'},
|
|
|
+ {updateField: 'discountPromotion', valueFiled: 'discountPromotion'},
|
|
|
+ {updateField: 'flgGift', valueFiled: 'flgGift'},
|
|
|
+ {updateField: 'nonGlassPriceItems', valueFiled: 'nonGlassPriceItems'},
|
|
|
+ {updateField: 'nonGlassSpuItems', valueFiled: 'nonGlassSpuItems'},
|
|
|
+ {updateField: 'nonGlassListShow', valueFiled: 'nonGlassListShow'},
|
|
|
+ {updateField: 'flgNonStandardType', valueFiled: 'flgNonStandardType'},
|
|
|
+ {updateField: 'specialType', valueFiled: 'specialType'},
|
|
|
+ {updateField: 'cpFlgGift', valueFiled: 'cpFlgGift'},
|
|
|
+ {updateField: 'flgAllowSpecsUndefine', valueFiled: 'flgAllowSpecsUndefine'},
|
|
|
+ {updateField: 'flgSpecsUndefine', valueFiled: 'flgSpecsUndefine'},
|
|
|
+ {updateField: 'specialFormula', valueFiled: 'specialFormula'},
|
|
|
+ {updateField: 'whId', valueFiled: 'whId'},
|
|
|
+ {updateField: 'bomParentId', valueFiled: 'bomParentId'},
|
|
|
+ {updateField: 'priceCost', valueFiled: 'priceCost'},
|
|
|
+ {updateField: 'categoryId', valueFiled: 'categoryId'},
|
|
|
+ {updateField: 'flgInstalled', defaultValue: true},
|
|
|
+ ],
|
|
|
+ searchDetailFlag: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'priceSale',
|
|
|
+ type: 'number',
|
|
|
+ digits: 2,
|
|
|
+ switchField: 'flgGift', // 开关控制的列
|
|
|
+ formula: {
|
|
|
+ itemAmount: ['itemQuantity*priceSale*nonStandardArea', 'itemQuantity', 'priceSale', 'nonStandardArea'],
|
|
|
+ discountStandard: ['priceSale/priceStandard*100', 'priceSale', 'priceStandard'],
|
|
|
+ discountPromotion: ['priceSale/pricePromotion*100', 'priceSale', 'pricePromotion']
|
|
|
+ },
|
|
|
+ shareField: 'percent',
|
|
|
+ percent: ['priceSale/pricePromotion*pricePromotion[child]', 'priceSale', 'pricePromotion[child]', 'pricePromotion']
|
|
|
+ },//价格(子级放在前面,不然replace就不对)
|
|
|
+ {
|
|
|
+ field: 'itemQuantity',
|
|
|
+ type: 'number',
|
|
|
+ shareField: 'orderItemQuantity',
|
|
|
+ digits: 0,
|
|
|
+ sum: true,
|
|
|
+ formula: {
|
|
|
+ itemAmount: ['itemQuantity*priceSale*nonStandardArea', 'itemQuantity', 'priceSale', 'nonStandardArea'],
|
|
|
+ discountStandard: ['priceSale/priceStandard*100', 'priceSale', 'priceStandard'],
|
|
|
+ discountPromotion: ['priceSale/pricePromotion*100', 'priceSale', 'pricePromotion']
|
|
|
+ },
|
|
|
+ },//数量
|
|
|
+ {
|
|
|
+ field: 'itemAmount',
|
|
|
+ type: 'number',
|
|
|
+ digits: 2,
|
|
|
+ number: true,
|
|
|
+ sum: true,
|
|
|
+ shareField: 'percent',
|
|
|
+ switchField: 'flgGift', // 开关控制的列
|
|
|
+ supply: true, // 补缺,最后一条,用父级-其他子级
|
|
|
+ // amount: ['itemQuantity[child]*priceSale[child]', 'itemQuantity[child]', 'priceSale[child]'],
|
|
|
+ percent: ['itemAmount/pricePromotion*pricePromotion[child]', 'itemAmount', 'pricePromotion[child]', 'pricePromotion'],
|
|
|
+ formulaLate: true, // 只有在changevalue时触发,为了避免价格和数量计算金额,然后再根据金额和数量计算价格
|
|
|
+ formula: {
|
|
|
+ priceSale: ['itemAmount/itemQuantity/nonStandardArea', 'itemAmount', 'itemQuantity', 'nonStandardArea'],
|
|
|
+ discountStandard: ['itemAmount/itemQuantity/priceStandard/nonStandardArea*100', 'itemAmount', 'itemQuantity', 'priceStandard', 'nonStandardArea'],
|
|
|
+ discountPromotion: ['itemAmount/itemQuantity/pricePromotion/nonStandardArea*100', 'itemAmount', 'itemQuantity', 'pricePromotion', 'nonStandardArea']
|
|
|
+ },
|
|
|
+ },//金额
|
|
|
+ {field: 'flgInstalled', type: 'switch'},//安装标识
|
|
|
+ {field: 'activityName', type: 'disabled'},//套餐名称
|
|
|
+ {field: 'promotionTypeName', type: 'disabled'},//促销类型
|
|
|
+ {field: 'promotionName', type: 'disabled', title: self.$t('promoName')},//促销名称
|
|
|
+ {
|
|
|
+ field: 'priceStandard',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ shareField: 'sumTotal',
|
|
|
+ // 根据子级去计算父级
|
|
|
+ sumTotal: ['orderItemQuantity[child]*priceStandard[child]', 'orderItemQuantity[child]', 'priceStandard[child]']
|
|
|
+ },//商品标价
|
|
|
+ {
|
|
|
+ field: 'pricePromotion',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ title: self.$t('standardPriceMoney'),
|
|
|
+ },//商品促销价
|
|
|
+ {
|
|
|
+ field: 'discountStandard',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ },//标价折扣
|
|
|
+ {
|
|
|
+ field: 'discountPromotion',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ equal: true,
|
|
|
+ digits: 2,
|
|
|
+ },//促销折扣
|
|
|
+ // {
|
|
|
+ // field: 'whId',
|
|
|
+ // type: 'select',
|
|
|
+ // options: () => self.warehouseList,
|
|
|
+ // labelKey: 'whName',
|
|
|
+ // valueKey: 'whId',
|
|
|
+ // equal: true,
|
|
|
+ // },//仓库
|
|
|
+ {
|
|
|
+ copyVisible: this.type !== this.$config.formMode.edit,
|
|
|
+ field: 'whId',
|
|
|
+ type: 'select',
|
|
|
+ options: () => self.warehouseList,
|
|
|
+ labelKey: 'whName',
|
|
|
+ valueKey: 'whId',
|
|
|
+ equal: true,
|
|
|
+ dataType: self.$config.tableSelectType.warehouse,
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'warehouseName', valueFiled: 'whName'},
|
|
|
+ {updateField: 'whId', valueFiled: 'whId'},
|
|
|
+ ],
|
|
|
+ searchDataFlag: false,
|
|
|
+ //equal: true,
|
|
|
+ },//仓库
|
|
|
+ {
|
|
|
+ field: 'flgGift',
|
|
|
+ type: 'switch',
|
|
|
+ width: 100,
|
|
|
+ value: false,
|
|
|
+ controlField: 'cpFlgGift',
|
|
|
+ switchField: 'priceSale' // 开关控制的列
|
|
|
+ },//赠品标识
|
|
|
+ {
|
|
|
+ // field: 'usedLocation',
|
|
|
+ // type: 'text',
|
|
|
+ // equal: true,
|
|
|
+ copyVisible: this.type !== this.$config.formMode.edit,
|
|
|
+ field: 'usedLocation',
|
|
|
+ type: 'select',
|
|
|
+ options: () => self.productUsageLocationList,
|
|
|
+ labelKey: 'name',
|
|
|
+ valueKey: 'code',
|
|
|
+ equal: true,
|
|
|
+ dataType: self.$config.tableSelectType.productUsageLocation,
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'usedLocation', valueFiled: 'name'},
|
|
|
+ ],
|
|
|
+ searchDataFlag: false,
|
|
|
+ },//使用位置
|
|
|
+ // {field: 'glassThickness', type: 'disabled'},//玻璃厚度
|
|
|
+ // {field: 'glassCraft', type: 'disabled'},//玻璃工艺
|
|
|
+ // {field: 'substrateColor', type: 'disabled'},//基材颜色
|
|
|
+ {field: 'nonGlassListShow', type: 'nonGlassFlag'},
|
|
|
+ {
|
|
|
+ field: 'nonstandardRemarks', type: 'disabled', width: 200,
|
|
|
+ equal: true,
|
|
|
+ }, //非标备注
|
|
|
+ {
|
|
|
+ field: 'flgSpecsUndefine',
|
|
|
+ type: 'switch',
|
|
|
+ value: false,
|
|
|
+ controlField: 'flgAllowSpecsUndefine',
|
|
|
+ width: 100,
|
|
|
+ },//坑距待定
|
|
|
+ {
|
|
|
+ field: 'remarks', type: 'text', width: 300,
|
|
|
+ equal: true,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ goodsColumnsEdit: [
|
|
|
+ {
|
|
|
+ field: 'skuModel',
|
|
|
+ controlId: 'skuId',
|
|
|
+ treeNode: true,
|
|
|
+ width: 200,
|
|
|
+ type: 'tableSelect',
|
|
|
+ fixed: 'left',
|
|
|
+ promotionType: true,
|
|
|
+ dataType: self.$config.tableSelectType.goods,
|
|
|
+ tip: self.$t('W_117'),
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'skuCode', valueFiled: 'skuCode'},
|
|
|
+ {updateField: 'skuModel', valueFiled: 'skuModel'},
|
|
|
+ {updateField: 'itemPrice', valueFiled: 'itemPrice'},
|
|
|
+ {updateField: 'tItemQuantity', valueFiled: 'tItemQuantity', defaultValue: 1},
|
|
|
+ {updateField: 'skuId', valueFiled: 'skuId'},
|
|
|
+ {updateField: 'skuName', valueFiled: 'skuName'},
|
|
|
+ {updateField: 'spuId', valueFiled: 'spuId'},
|
|
|
+ {updateField: 'spuCode', valueFiled: 'spuCode'},
|
|
|
+ {updateField: 'skuSpecs', valueFiled: 'skuSpecs'},//商品规格
|
|
|
+ {updateField: 'skuUnit', valueFiled: 'skuUnit'},//计量单位
|
|
|
+ {updateField: 'flgEstimate', valueFiled: 'flgEstimate'},//计量标识
|
|
|
+ {updateField: 'salesMode', valueFiled: 'salesMode'},//流通方式
|
|
|
+ {updateField: 'goodsCategoryName', valueFiled: 'goodsCategoryName'},//商品种类
|
|
|
+ {updateField: 'goodsVarietyName', valueFiled: 'goodsCategoryName'},//商品品种
|
|
|
+ {updateField: 'skuSeries', valueFiled: 'skuSeries'},//商品系列
|
|
|
+ {updateField: 'skuBrand', valueFiled: 'skuBrand'},//商品品牌
|
|
|
+ {updateField: 'skuLength', valueFiled: 'skuLength'},
|
|
|
+ {updateField: 'skuWidth', valueFiled: 'skuWidth'},
|
|
|
+ {updateField: 'skuHeight', valueFiled: 'skuHeight'},
|
|
|
+ {updateField: 'skuVolume', valueFiled: 'skuVolume'},
|
|
|
+ {updateField: 'skuWeight', valueFiled: 'skuWeight'},
|
|
|
+ {updateField: 'skuArea', valueFiled: 'skuArea'},
|
|
|
+ {updateField: 'skuType', valueFiled: 'skuType'},
|
|
|
+ {updateField: 'standardId', valueFiled: 'standardId'},
|
|
|
+ {updateField: 'standardItemId', valueFiled: 'standardItemId'},
|
|
|
+ {updateField: 'priceStandard', valueFiled: 'priceStandard'},
|
|
|
+ {updateField: 'promotionId', valueFiled: 'promotionId'},
|
|
|
+ {updateField: 'promotionItemId', valueFiled: 'promotionItemId'},
|
|
|
+ {updateField: 'pricePromotion', valueFiled: 'pricePromotion'},
|
|
|
+ {updateField: 'priceSale', valueFiled: 'priceSale'},
|
|
|
+ {updateField: 'promotionTypeName', valueFiled: 'promotionTypeName'},
|
|
|
+ {updateField: 'promotionPriceType', valueFiled: 'promotionPriceType'},
|
|
|
+ {updateField: 'promotionPriceTypeName', valueFiled: 'promotionPriceTypeName'},
|
|
|
+ {updateField: 'promotionType', valueFiled: 'promotionType'},
|
|
|
+ {updateField: 'promotionName', valueFiled: 'promotionName'},
|
|
|
+ {updateField: 'activityId', valueFiled: 'activityId'},
|
|
|
+ {updateField: 'activityName', valueFiled: 'activityName'},
|
|
|
+ {updateField: 'combinedTypeId', valueFiled: 'combinedTypeId'},
|
|
|
+ {updateField: 'combinedSpecsId', valueFiled: 'combinedSpecsId'},
|
|
|
+ {updateField: 'orderItemQuantity', valueFiled: 'orderItemQuantity'},
|
|
|
+ {updateField: 'discountStandard', valueFiled: 'discountStandard'},
|
|
|
+ {updateField: 'discountPromotion', valueFiled: 'discountPromotion'},
|
|
|
+ {updateField: 'flgGift', valueFiled: 'flgGift'},
|
|
|
+ {updateField: 'nonGlassPriceItems', valueFiled: 'nonGlassPriceItems'},
|
|
|
+ {updateField: 'nonGlassSpuItems', valueFiled: 'nonGlassSpuItems'},
|
|
|
+ {updateField: 'nonGlassListShow', valueFiled: 'nonGlassListShow'},
|
|
|
+ {updateField: 'flgNonStandardType', valueFiled: 'flgNonStandardType'},
|
|
|
+ {updateField: 'specialType', valueFiled: 'specialType'},
|
|
|
+ {updateField: 'cpFlgGift', valueFiled: 'cpFlgGift'},
|
|
|
+ {updateField: 'flgAllowSpecsUndefine', valueFiled: 'flgAllowSpecsUndefine'},
|
|
|
+ {updateField: 'flgSpecsUndefine', valueFiled: 'flgSpecsUndefine'},
|
|
|
+ {updateField: 'specialFormula', valueFiled: 'specialFormula'},
|
|
|
+ {updateField: 'whId', valueFiled: 'whId'},
|
|
|
+ {updateField: 'bomParentId', valueFiled: 'bomParentId'},
|
|
|
+ {updateField: 'priceCost', valueFiled: 'priceCost'},
|
|
|
+ {updateField: 'categoryId', valueFiled: 'categoryId'},
|
|
|
+ {updateField: 'flgInstalled', defaultValue: true},
|
|
|
+ ],
|
|
|
+ searchDetailFlag: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'skuName',
|
|
|
+ controlId: 'skuId',
|
|
|
+ type: 'tableSelect',
|
|
|
+ width: 300,
|
|
|
+ fixed: 'left',
|
|
|
+ promotionType: true,
|
|
|
+ dataType: self.$config.tableSelectType.goods,
|
|
|
+ fieldUpdate: [
|
|
|
+ {updateField: 'skuCode', valueFiled: 'skuCode'},
|
|
|
+ {updateField: 'skuModel', valueFiled: 'skuModel'},
|
|
|
+ {updateField: 'itemPrice', valueFiled: 'itemPrice'},
|
|
|
+ {updateField: 'tItemQuantity', valueFiled: 'tItemQuantity', defaultValue: 1},
|
|
|
+ {updateField: 'skuId', valueFiled: 'skuId'},
|
|
|
+ {updateField: 'skuName', valueFiled: 'skuName'},
|
|
|
+ {updateField: 'spuId', valueFiled: 'spuId'},
|
|
|
+ {updateField: 'spuCode', valueFiled: 'spuCode'},
|
|
|
+ {updateField: 'skuSpecs', valueFiled: 'skuSpecs'},//商品规格
|
|
|
+ {updateField: 'skuUnit', valueFiled: 'skuUnit'},//计量单位
|
|
|
+ {updateField: 'flgEstimate', valueFiled: 'flgEstimate'},//计量标识
|
|
|
+ {updateField: 'salesMode', valueFiled: 'salesMode'},//流通方式
|
|
|
+ {updateField: 'goodsCategoryName', valueFiled: 'goodsCategoryName'},//商品种类
|
|
|
+ {updateField: 'goodsVarietyName', valueFiled: 'goodsCategoryName'},//商品品种
|
|
|
+ {updateField: 'skuSeries', valueFiled: 'skuSeries'},//商品系列
|
|
|
+ {updateField: 'skuBrand', valueFiled: 'skuBrand'},//商品品牌
|
|
|
+ {updateField: 'skuLength', valueFiled: 'skuLength'},
|
|
|
+ {updateField: 'skuWidth', valueFiled: 'skuWidth'},
|
|
|
+ {updateField: 'skuHeight', valueFiled: 'skuHeight'},
|
|
|
+ {updateField: 'skuVolume', valueFiled: 'skuVolume'},
|
|
|
+ {updateField: 'skuWeight', valueFiled: 'skuWeight'},
|
|
|
+ {updateField: 'skuArea', valueFiled: 'skuArea'},
|
|
|
+ {updateField: 'skuType', valueFiled: 'skuType'},
|
|
|
+ {updateField: 'standardId', valueFiled: 'standardId'},
|
|
|
+ {updateField: 'standardItemId', valueFiled: 'standardItemId'},
|
|
|
+ {updateField: 'priceStandard', valueFiled: 'priceStandard'},
|
|
|
+ {updateField: 'promotionId', valueFiled: 'promotionId'},
|
|
|
+ {updateField: 'promotionItemId', valueFiled: 'promotionItemId'},
|
|
|
+ {updateField: 'pricePromotion', valueFiled: 'pricePromotion'},
|
|
|
+ {updateField: 'priceSale', valueFiled: 'priceSale'},
|
|
|
+ {updateField: 'promotionTypeName', valueFiled: 'promotionTypeName'},
|
|
|
+ {updateField: 'promotionPriceType', valueFiled: 'promotionPriceType'},
|
|
|
+ {updateField: 'promotionPriceTypeName', valueFiled: 'promotionPriceTypeName'},
|
|
|
+ {updateField: 'promotionType', valueFiled: 'promotionType'},
|
|
|
+ {updateField: 'promotionName', valueFiled: 'promotionName'},
|
|
|
+ {updateField: 'activityId', valueFiled: 'activityId'},
|
|
|
+ {updateField: 'activityName', valueFiled: 'activityName'},
|
|
|
+ {updateField: 'combinedTypeId', valueFiled: 'combinedTypeId'},
|
|
|
+ {updateField: 'combinedSpecsId', valueFiled: 'combinedSpecsId'},
|
|
|
+ {updateField: 'orderItemQuantity', valueFiled: 'orderItemQuantity'},
|
|
|
+ {updateField: 'discountStandard', valueFiled: 'discountStandard'},
|
|
|
+ {updateField: 'discountPromotion', valueFiled: 'discountPromotion'},
|
|
|
+ {updateField: 'flgGift', valueFiled: 'flgGift'},
|
|
|
+ {updateField: 'nonGlassPriceItems', valueFiled: 'nonGlassPriceItems'},
|
|
|
+ {updateField: 'nonGlassSpuItems', valueFiled: 'nonGlassSpuItems'},
|
|
|
+ {updateField: 'nonGlassListShow', valueFiled: 'nonGlassListShow'},
|
|
|
+ {updateField: 'flgNonStandardType', valueFiled: 'flgNonStandardType'},
|
|
|
+ {updateField: 'specialType', valueFiled: 'specialType'},
|
|
|
+ {updateField: 'cpFlgGift', valueFiled: 'cpFlgGift'},
|
|
|
+ {updateField: 'flgAllowSpecsUndefine', valueFiled: 'flgAllowSpecsUndefine'},
|
|
|
+ {updateField: 'flgSpecsUndefine', valueFiled: 'flgSpecsUndefine'},
|
|
|
+ {updateField: 'specialFormula', valueFiled: 'specialFormula'},
|
|
|
+ {updateField: 'whId', valueFiled: 'whId'},
|
|
|
+ {updateField: 'bomParentId', valueFiled: 'bomParentId'},
|
|
|
+ {updateField: 'priceCost', valueFiled: 'priceCost'},
|
|
|
+ {updateField: 'categoryId', valueFiled: 'categoryId'},
|
|
|
+ {updateField: 'flgInstalled', defaultValue: true},
|
|
|
+ ],
|
|
|
+ searchDetailFlag: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'priceSale',
|
|
|
+ type: 'number',
|
|
|
+ digits: 2,
|
|
|
+ switchField: 'flgGift', // 开关控制的列
|
|
|
+ formula: {
|
|
|
+ tItemAmount: ['tItemQuantity*priceSale*nonStandardArea', 'tItemQuantity', 'priceSale', 'nonStandardArea'],
|
|
|
+ discountStandard: ['priceSale/priceStandard*100', 'priceSale', 'priceStandard'],
|
|
|
+ discountPromotion: ['priceSale/pricePromotion*100', 'priceSale', 'pricePromotion']
|
|
|
+ },
|
|
|
+ shareField: 'percent',
|
|
|
+ percent: ['priceSale/pricePromotion*pricePromotion[child]', 'priceSale', 'pricePromotion[child]', 'pricePromotion']
|
|
|
+ },//价格(子级放在前面,不然replace就不对)
|
|
|
+ {
|
|
|
+ field: 'tItemQuantity',
|
|
|
+ type: 'number',
|
|
|
+ shareField: 'orderItemQuantity',
|
|
|
+ title: self.$t('itemQuantity'),
|
|
|
+ sum: true,
|
|
|
+ formula: {
|
|
|
+ tItemAmount: ['tItemQuantity*priceSale*nonStandardArea', 'tItemQuantity', 'priceSale', 'nonStandardArea'],
|
|
|
+ discountStandard: ['priceSale/priceStandard*100', 'priceSale', 'priceStandard'],
|
|
|
+ discountPromotion: ['priceSale/pricePromotion*100', 'priceSale', 'pricePromotion']
|
|
|
+ },
|
|
|
+ },//数量
|
|
|
+ {
|
|
|
+ field: 'tItemAmount',
|
|
|
+ type: 'number',
|
|
|
+ title: self.$t('itemAmount'),
|
|
|
+ digits: 2,
|
|
|
+ number: true,
|
|
|
+ sum: true,
|
|
|
+ shareField: 'percent',
|
|
|
+ switchField: 'flgGift', // 开关控制的列
|
|
|
+ supply: true, // 补缺,最后一条,用父级-其他子级
|
|
|
+ // amount: ['itemQuantity[child]*priceSale[child]', 'itemQuantity[child]', 'priceSale[child]'],
|
|
|
+ percent: ['tItemAmount/pricePromotion*pricePromotion[child]', 'tItemAmount', 'pricePromotion[child]', 'pricePromotion'],
|
|
|
+ formulaLate: true, // 只有在changevalue时触发,为了避免价格和数量计算金额,然后再根据金额和数量计算价格
|
|
|
+ formula: {
|
|
|
+ priceSale: ['tItemAmount/tItemQuantity/nonStandardArea', 'tItemAmount', 'tItemQuantity', 'nonStandardArea'],
|
|
|
+ discountStandard: ['tItemAmount/tItemQuantity/priceStandard/nonStandardArea*100', 'tItemAmount', 'tItemQuantity', 'priceStandard', 'nonStandardArea'],
|
|
|
+ discountPromotion: ['tItemAmount/tItemQuantity/pricePromotion/nonStandardArea*100', 'tItemAmount', 'tItemQuantity', 'pricePromotion', 'nonStandardArea']
|
|
|
+ },
|
|
|
+ },//金额
|
|
|
+ {field: 'flgInstalled', type: 'switch'},//安装标识
|
|
|
+ {field: 'activityName', type: 'disabled'},//套餐名称
|
|
|
+ {field: 'promotionTypeName', type: 'disabled'},//促销类型
|
|
|
+ {field: 'promotionName', type: 'disabled', title: self.$t('promoName')},//促销名称
|
|
|
+ {
|
|
|
+ field: 'priceStandard',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ shareField: 'sumTotal',
|
|
|
+ // 根据子级去计算父级
|
|
|
+ sumTotal: ['orderItemQuantity[child]*priceStandard[child]', 'orderItemQuantity[child]', 'priceStandard[child]']
|
|
|
+ },//商品标价
|
|
|
+ {
|
|
|
+ field: 'pricePromotion',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ title: self.$t('standardPriceMoney'),
|
|
|
+ // shareField: 'percent',
|
|
|
+ // percent: ['pricePromotion/priceStandard*pricePromotion[child]', 'pricePromotion', 'priceStandard[child]', 'priceStandard']
|
|
|
+ },//商品促销价
|
|
|
+ {
|
|
|
+ field: 'discountStandard',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ digits: 2,
|
|
|
+ },//标价折扣
|
|
|
+ {
|
|
|
+ field: 'discountPromotion',
|
|
|
+ type: 'disabled',
|
|
|
+ number: true,
|
|
|
+ equal: true,
|
|
|
+ digits: 2,
|
|
|
+ },//促销折扣
|
|
|
+ {
|
|
|
+ field: 'whId',
|
|
|
+ type: 'select',
|
|
|
+ options: () => self.warehouseList,
|
|
|
+ labelKey: 'whName',
|
|
|
+ valueKey: 'whId',
|
|
|
+ equal: true,
|
|
|
+ },//仓库
|
|
|
+ {
|
|
|
+ field: 'flgGift',
|
|
|
+ type: 'switch',
|
|
|
+ width: 100,
|
|
|
+ value: false,
|
|
|
+ controlField: 'cpFlgGift',
|
|
|
+ switchField: 'priceSale' // 开关控制的列
|
|
|
+ },//赠品标识
|
|
|
+ {
|
|
|
+ field: 'usedLocation',
|
|
|
+ type: 'disabled',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ //商品合计信息
|
|
|
+ goodsFootFormData: {
|
|
|
+ sumGoodsAmount: 0,
|
|
|
+ sumStandard: 0,
|
|
|
+ sumPromotion: 0,
|
|
|
+ discountPromotion: 0,
|
|
|
+ discountStandard: 0,
|
|
|
+ sumVolume: 0,
|
|
|
+ sumWeight: 0,
|
|
|
+ sumQuantity: 0,//总数量
|
|
|
+ },
|
|
|
+ oldSumGoodsAmount: 0,//记录上一次货物总额
|
|
|
+ //客户收款
|
|
|
+ feeFormData: {
|
|
|
+ sumAmount: 0, //合计金额
|
|
|
+ sumFeeAmount: 0,//费用金额
|
|
|
+ sumReceiptAmount: 0,//定金金额
|
|
|
+ sumUsePrestore: 0,//使用预存
|
|
|
+ usablePrestore: 0,//可用预存
|
|
|
+ sumReceivableAmount: 0,// 定金+使用预存
|
|
|
+ receivable: 0, //剩余应收
|
|
|
+ sumReceiptList: [],//收款
|
|
|
+ remarks: null,
|
|
|
+ annexPaths: [],
|
|
|
+ },
|
|
|
+ feeModal: false,//费用项目modal变量
|
|
|
+ feeList: [],//费用项目
|
|
|
+ feeListSocial: [],//费用项目记录(清空时使用)
|
|
|
+ receiptList: [],//定金
|
|
|
+ filesModal: false,
|
|
|
+ warehouseList: [],//仓库
|
|
|
+ productUsageLocationList: [],//使用位置
|
|
|
+ defWhId: null,//默认仓库id
|
|
|
+ warehouseName: null,//默认仓库名称
|
|
|
+ disabledFlag: false,//禁用标识
|
|
|
+ editTreeTableFlag: false,//商品表格是否可用
|
|
|
+ //改价
|
|
|
+ updatePriceFlag: false,
|
|
|
+ selectChangeTableFlag: true,//是否选中数据
|
|
|
+ priceList: [],
|
|
|
+ priceFootFormData: {
|
|
|
+ sumGoodsAmount: 0,
|
|
|
+ selectedAmount: 0,
|
|
|
+ changePriceAmount: 0,
|
|
|
+ },
|
|
|
+ checkboxPriceList: [],//改价选中行
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ * @desc : 改价弹窗打开
|
|
|
+ * @date : 2023/10/24 9:40
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ updatePrice() {
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 改价弹窗复选框选中
|
|
|
+ * @date : 2023/10/24 15:25
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectChangeTable() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 改价子集赋值
|
|
|
+ * @date : 2023/10/24 16:35
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ setChildrenData(row, sumGoodsAmount, sumPromotion) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc :改价- 手动改变标准售价折扣
|
|
|
+ * @date : 2023/4/14 9:21
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ changePriceDiscountPromotion(value, sumGoodsAmount) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 手动改变货物总额
|
|
|
+ * @date : 2023/4/14 10:58
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ changePirceSumGoodsAmount(value) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 报价确认
|
|
|
+ * @date : 2023/10/24 13:28
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ updatePriceOk() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 报价取消
|
|
|
+ * @date : 2023/10/24 13:28
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ updatePriceCancel() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询仓库
|
|
|
+ * @date : 2022/9/19 9:44
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ getWarehouse() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 修改客户电话后,清除当前客户信息
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022-08-01 14:39
|
|
|
+ */
|
|
|
+ customerPhoneChange(e, change) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取客户资料并且监听每一次的客户修改
|
|
|
+ * @date : 2022/5/24 15:04
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectCustomer(value) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 客户赋值
|
|
|
+ * @date : 2022/5/28 16:18
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ setCustomer(row) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 清空客户信息
|
|
|
+ * @date : 2022/5/28 16:26
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ clearCutomer() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 选择地址
|
|
|
+ * @date : 2022/6/9 19:15
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ chooseAddress(value) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取业务员相关
|
|
|
+ * @date : 2022/5/28 10:43
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ staffOk(val) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取业务员相关
|
|
|
+ * @date : 2022/5/28 10:43
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ orgOk(val) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取选择的家装业务员
|
|
|
+ * @date : 2022/12/27 9:24
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ hdStaffOK(rows) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 拼写详细地址
|
|
|
+ * @date : 2022/6/9 10:08
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ setAddressFull(e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 费用改为直接输入金额
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/20 16:45
|
|
|
+ */
|
|
|
+ handleFeeChange() {
|
|
|
+ // 计算合计金额
|
|
|
+ this.getSumAmount();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 计算总费用金额,并提交到总单中
|
|
|
+ * @date : 2022/6/9 11:46
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ submitFee() {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 关闭费用项目弹窗
|
|
|
+ * @date : 2022/6/9 11:57
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ clearFee() {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 关闭定金弹窗
|
|
|
+ * @date : 2022/6/9 12:08
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ clearReceipt() {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 清空总单费用或定金金额事件
|
|
|
+ * @date : 2022/6/9 11:46
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ clearAccount(value) {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 收款金额
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/17 9:10
|
|
|
+ */
|
|
|
+ chooseReceipt(amount, list, remarks, annexPaths) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : desc
|
|
|
+ * @date : 2022/6/9 13:39
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ uploadFile(response, file, fileList) {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 移除文件
|
|
|
+ * @date : 2022/6/9 13:47
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ fileRemove(file, fileList) {
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : desc
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/23 8:48
|
|
|
+ */
|
|
|
+ changeValue(field, row, rowIndex) {
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 安装标识
|
|
|
+ * @date : 2023/11/29 9:31
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ setFlgInstalled() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取商品表格中数量、金额后计算总单信息
|
|
|
+ * @date : 2022/5/30 15:31
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ getTotals(field, row, rowIndex) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 手动改变标准售价折扣
|
|
|
+ * @date : 2023/4/14 9:21
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ changeDiscountPromotion(value, flag) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 手动改变货物总额
|
|
|
+ * @date : 2023/4/14 10:58
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ changeSumGoodsAmount(value) {
|
|
|
+ if (value) {
|
|
|
+ this.changeDiscountPromotion(null, value)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 编辑时查询非标参数
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/8/26 13:37
|
|
|
+ */
|
|
|
+ setNonGlassForm(row) {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 计算合计金额
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/16 14:45
|
|
|
+ */
|
|
|
+ getSumAmount() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 关闭窗体
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/21 19:18
|
|
|
+ */
|
|
|
+ closeForm() {
|
|
|
+ this.formData = {}
|
|
|
+ this.$router.push('/sale/order/index')
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 提交事件
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/03/04 13:17
|
|
|
+ */
|
|
|
+ submitForm(flag) {
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ /**
|
|
|
+ * @desc : 新建成功后清理数据
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/25 11:42
|
|
|
+ */
|
|
|
+ clearForm() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 清空设计师相关信息
|
|
|
+ * @date : 2022/12/27 16:43
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ clearDesigner() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /***************************列表及其他事件************************************/
|
|
|
+
|
|
|
+ /***************************设定参数函数************************************/
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 设置保存的参数(小编辑)
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/8/24 17:35
|
|
|
+ */
|
|
|
+ setSubmitFormParamsLimitEdit() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 设置保存的参数
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/3/22 17:31
|
|
|
+ */
|
|
|
+ setSubmitFormParams(flag) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 获取改变的数据
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/7/18 11:11
|
|
|
+ */
|
|
|
+ getTableChangeData() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 处理组合中的bom数据
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/8/4 11:53
|
|
|
+ */
|
|
|
+ setCombinedBomData(row, pRow) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 设置明细
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/21 15:54
|
|
|
+ */
|
|
|
+ setOrderItem(params) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /***************************created调用数据接口函数************************************/
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 通过id查询
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/03/04 13:17
|
|
|
+ */
|
|
|
+ detail(id) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 判断列是否可以编辑
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/21 16:42
|
|
|
+ */
|
|
|
+ checkColumnIsEdit(field) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 赋值
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/20 11:05
|
|
|
+ */
|
|
|
+ setEntityByEdit(data) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 渠道改变时要通过渠道过滤客户来源
|
|
|
+ * @date : 2022/5/25 16:47
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ changeChannel(value) {
|
|
|
+ //更改渠道时如果客户来源有值要制空
|
|
|
+ if (this.formData.customerFrom) {
|
|
|
+ this.formData.customerFrom = null
|
|
|
+ }
|
|
|
+ //根据渠道id过滤客户来源
|
|
|
+ this.selectCustomerFrom(value)
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 页面初始化所需下拉数据
|
|
|
+ * @date : 2022/5/25 15:53
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ initSelectData() {
|
|
|
+ //查询集团字典获取客户信息
|
|
|
+ this.getCustomerType()
|
|
|
+ //查询客户来源
|
|
|
+ this.selectCustomerFrom()
|
|
|
+ //查询装修户型数
|
|
|
+ this.selectToilets()
|
|
|
+ //查询仓库
|
|
|
+ this.getWarehouse()
|
|
|
+ //新建时才查询,编辑时直接查了
|
|
|
+ if (this.type == this.$config.formMode.add) {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ //查询结算方式
|
|
|
+ this.selectReceipt()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询结算方式
|
|
|
+ * @date : 2022/6/9 12:04
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectReceipt() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 切换部门获取客户可用预存
|
|
|
+ * @date : 2022/9/8 12:04
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectUsePrestore() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询客户来演
|
|
|
+ * @date : 2022/5/25 15:51
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectCustomerFrom(channelId) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 选择装修户型数赋值
|
|
|
+ * @date : 2022/7/22 9:30
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectTolietCount(val) {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询装修户型数
|
|
|
+ * @date : 2022/5/25 15:51
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ selectToilets() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询itemCode查询集团字典
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022-05-23 17:22
|
|
|
+ */
|
|
|
+ getCustomerType() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 设置默认值
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/6/15 16:24
|
|
|
+ */
|
|
|
+ setDefaultValue() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 根据业务部门获取商户信息
|
|
|
+ * @date : 2023/10/7 17:29
|
|
|
+ * @author : 付斌
|
|
|
+ */
|
|
|
+ getOrgAndSaleChannel(orgId) {
|
|
|
+
|
|
|
+ },
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 在实例创建完成后被立即同步调用
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2022/3/3 10:32
|
|
|
+ */
|
|
|
+ created() {
|
|
|
+
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
+<style lang="less" scoped>
|
|
|
+.imageWrap {
|
|
|
+ width: 100%;
|
|
|
+ height: 90px;
|
|
|
+ border: 1px solid red;
|
|
|
+}
|
|
|
+
|
|
|
+.tab-class {
|
|
|
+ width: 100%;
|
|
|
+ height: 32px;
|
|
|
+ position: fixed;
|
|
|
+ z-index: 999;
|
|
|
+ background: #fff;
|
|
|
+}
|
|
|
+
|
|
|
+.Col {
|
|
|
+ margin-bottom: 3px;
|
|
|
+}
|
|
|
|
|
|
+//暗锚
|
|
|
+.hide-anchor {
|
|
|
+ position: relative;
|
|
|
+ top: -50px;
|
|
|
+ display: block;
|
|
|
+ height: 0;
|
|
|
+ overflow: hidden;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+.form-content-class {
|
|
|
+ padding-left: 8px;
|
|
|
+ width: 98%
|
|
|
+}
|
|
|
+
|
|
|
+.search-button-class {
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ display: flex;
|
|
|
+ height: 28px;
|
|
|
+ width: 24px;
|
|
|
+ cursor: pointer;
|
|
|
+ border-bottom: 1px solid rgb(220, 222, 226);
|
|
|
+ border-right: 1px solid rgb(220, 222, 226);
|
|
|
+ border-top: 1px solid rgb(220, 222, 226);
|
|
|
+}
|
|
|
+
|
|
|
+.close-class {
|
|
|
+ cursor: pointer;
|
|
|
+ width: 24px;
|
|
|
+ position: absolute;
|
|
|
+ top: 5px;
|
|
|
+ right: 15px;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ height: 24px;
|
|
|
+ color: #a0a5ac;
|
|
|
+ z-index: 99;
|
|
|
+}
|
|
|
</style>
|