|
|
@@ -7,9 +7,9 @@
|
|
|
v-if="editKeys && editKeys.length > 1"
|
|
|
@pageChange="editPageChange"></DkPageButton>
|
|
|
<DkCollapse @on-change="changeCollapse" ref="collapse">
|
|
|
+ <!-- 基础属性 -->
|
|
|
<DkPanel prop="baseAttribute">
|
|
|
- <!-- 基础属性 -->
|
|
|
- <DkForm slot="content" ref="formInline" v-model="formData" :labelMaxWords=5>
|
|
|
+ <DkForm slot="content" ref="formInline0" v-model="formData" :labelMaxWords=5>
|
|
|
<!--商品编码-->
|
|
|
<DkFormItem prop="skuCode">
|
|
|
<InputPop ref="skuCode" v-model="formData.skuCode" :readonly="true"/>
|
|
|
@@ -22,11 +22,6 @@
|
|
|
<DkFormItem prop="skuName" :required="true">
|
|
|
<InputPop ref="skuName" v-model="formData.skuName"/>
|
|
|
</DkFormItem>
|
|
|
- </DkForm>
|
|
|
- </DkPanel>
|
|
|
- <DkPanel prop="goodsAttribute">
|
|
|
- <!-- 商品属性 -->
|
|
|
- <DkForm slot="content" ref="formInline" v-model="formData" :labelMaxWords=5>
|
|
|
<!-- 品牌 -->
|
|
|
<DkFormItem prop="brandId" :label="$t('brandIds')" :required="true">
|
|
|
<SelectMagnifier v-model="formData.brandId" :display-text="formData.brandName"
|
|
|
@@ -48,76 +43,118 @@
|
|
|
valueKey=seriesId>
|
|
|
</SelectPop>
|
|
|
</DkFormItem>
|
|
|
- <!--计量单位-->
|
|
|
- <DkFormItem prop="unitId" :label="$t('unit')" :required="true">
|
|
|
+ <!--商品规格-->
|
|
|
+ <DkFormItem prop="skuSpec">
|
|
|
+ <InputPop ref="skuSpec" v-model="formData.skuSpec"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--备注-->
|
|
|
+ <DkFormItem prop="remarks" :span="12">
|
|
|
+ <InputPop ref="remarks" v-model="formData.remarks"
|
|
|
+ maxlength=500 textareaFlag/>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ </DkPanel>
|
|
|
+ <!-- 商品属性 -->
|
|
|
+ <DkPanel prop="goodsAttribute">
|
|
|
+ <DkForm slot="content" ref="formInline1" v-model="formData" :labelMaxWords=5>
|
|
|
+ <!--基本单位-->
|
|
|
+ <DkFormItem prop="unitId" :label="$t('piece')" :required="true">
|
|
|
<SelectPop v-model="formData.unitId" :multiple="false" :options="unitList"
|
|
|
labelKey="unitName"
|
|
|
valueKey="unitId">
|
|
|
</SelectPop>
|
|
|
</DkFormItem>
|
|
|
+ <!--是否开启辅助单位-->
|
|
|
+ <DkFormItem prop="flgToSubUuId">
|
|
|
+ <template>
|
|
|
+ <i-switch v-model="formData.flgSubUnit" @on-change="changeSubUnit">
|
|
|
+ <span slot="open"></span>
|
|
|
+ <span slot="close"></span>
|
|
|
+ </i-switch>
|
|
|
+ </template>
|
|
|
+ </DkFormItem>
|
|
|
<!--辅助单位-->
|
|
|
- <DkFormItem prop="subUnitId" :label="$t('subUnit')">
|
|
|
+ <DkFormItem prop="subUnitId" :label="$t('box')" :required="true" v-if="showSubUnit">
|
|
|
<SelectPop v-model="formData.subUnitId" :multiple="false" :options="subUnitList"
|
|
|
+ :disabled="formData.unitId?!formData.flgSubUnit:true"
|
|
|
labelKey="unitName"
|
|
|
valueKey="unitId">
|
|
|
</SelectPop>
|
|
|
</DkFormItem>
|
|
|
- <!--商品规格-->
|
|
|
- <DkFormItem prop="skuSpec">
|
|
|
- <InputPop ref="skuSpec" v-model="formData.skuSpec"/>
|
|
|
- </DkFormItem>
|
|
|
- <!--单位换算-->
|
|
|
- <DkFormItem prop="conversionFactor">
|
|
|
- <InputNumberPop ref="conversionFactor" v-model="formData.conversionFactor"/>
|
|
|
+ <!--包装-->
|
|
|
+ <DkFormItem prop="conversionFactor" :label="$t('packBox')" :required="true" data-type="number" v-if="showSubUnit">
|
|
|
+ <InputNumberPop ref="conversionFactor" v-model="formData.conversionFactor" :disabled="formData.unitId?!formData.flgSubUnit:true"/>
|
|
|
</DkFormItem>
|
|
|
</DkForm>
|
|
|
</DkPanel>
|
|
|
+ <!-- 价格信息-->
|
|
|
<DkPanel prop="priceItem">
|
|
|
- <DkForm slot="content" ref="formInline" v-model="formData">
|
|
|
+ <DkForm slot="content" v-model="formData">
|
|
|
+ <!--是否开启价格体系-->
|
|
|
+ <DkFormItem prop="flgToPrice">
|
|
|
+ <template>
|
|
|
+ <i-switch v-model="formData.flgPrice" @on-change="changePrice">
|
|
|
+ <span slot="open"></span>
|
|
|
+ <span slot="close"></span>
|
|
|
+ </i-switch>
|
|
|
+ </template>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ <DkForm slot="content" ref="formInline2" v-model="formData" v-if="priceFlag">
|
|
|
<!--采购价-->
|
|
|
- <DkFormItem prop="pricePurchase">
|
|
|
+ <DkFormItem prop="pricePurchase" :required="true" data-type="number">
|
|
|
<InputNumberPop ref="pricePurchase" v-model="formData.pricePurchase" />
|
|
|
</DkFormItem>
|
|
|
<!--零售价-->
|
|
|
- <DkFormItem prop="priceStandard">
|
|
|
+ <DkFormItem prop="priceStandard" :required="true" data-type="number">
|
|
|
<InputNumberPop ref="priceStandard" v-model="formData.priceStandard" />
|
|
|
</DkFormItem>
|
|
|
<!--批发价-->
|
|
|
- <DkFormItem prop="priceWholesale">
|
|
|
+ <DkFormItem prop="priceWholesale" :required="true" data-type="number">
|
|
|
<InputNumberPop ref="priceWholesale" v-model="formData.priceWholesale"/>
|
|
|
</DkFormItem>
|
|
|
- <!--销售售价-->
|
|
|
- <DkFormItem prop="priceLimited">
|
|
|
- <InputNumberPop ref="priceLimited" v-model="formData.priceLimited"/>
|
|
|
- </DkFormItem>
|
|
|
<!--其他售价-->
|
|
|
- <DkFormItem prop="priceOther">
|
|
|
+ <DkFormItem prop="priceOther" :required="true" data-type="number">
|
|
|
<InputNumberPop ref="priceOther" v-model="formData.priceOther"/>
|
|
|
</DkFormItem>
|
|
|
+ <!--销售售价-->
|
|
|
+ <DkFormItem prop="priceLimited" :required="true" data-type="number">
|
|
|
+ <InputNumberPop ref="priceLimited" v-model="formData.priceLimited"/>
|
|
|
+ </DkFormItem>
|
|
|
</DkForm>
|
|
|
</DkPanel>
|
|
|
- <DkPanel prop="invInto" v-show="false">
|
|
|
- <DkForm slot="content" ref="formInline" v-model="formData">
|
|
|
+
|
|
|
+ <!-- 期初库存信息-->
|
|
|
+ <DkPanel prop="invInto">
|
|
|
+ <!--是否开启期初库存-->
|
|
|
+ <DkForm slot="content" v-model="formData">
|
|
|
+ <DkFormItem prop="flgOpeningInv">
|
|
|
+ <template>
|
|
|
+ <i-switch v-model="formData.flgOpeningInv" @on-change="changeInv">
|
|
|
+ <span slot="open"></span>
|
|
|
+ <span slot="close"></span>
|
|
|
+ </i-switch>
|
|
|
+ </template>
|
|
|
+ </DkFormItem>
|
|
|
+ </DkForm>
|
|
|
+ <DkForm slot="content" ref="formInline3" v-model="formData" v-if="InvFlag">
|
|
|
<!-- 仓库名称 -->
|
|
|
- <DkFormItem prop="whId">
|
|
|
+ <DkFormItem prop="whId" :required="true">
|
|
|
<SelectMagnifier v-model="formData.whId" :display-text="formData.whName"
|
|
|
:type="this.$config.MagnifierType.warehouse"
|
|
|
:multiple="false"></SelectMagnifier>
|
|
|
</DkFormItem>
|
|
|
- <!--非标号-->
|
|
|
- <DkFormItem prop="nonStdCode">
|
|
|
- <InputPop ref="nonStdCode" v-model="formData.nonStdCode"/>
|
|
|
- </DkFormItem>
|
|
|
- </DkForm>
|
|
|
- </DkPanel>
|
|
|
- <DkPanel prop="remarks">
|
|
|
- <DkForm slot="content" ref="formInline" v-model="formData">
|
|
|
- <DkFormItem prop="remarks" :span="12">
|
|
|
- <InputPop ref="remarks" v-model="formData.remarks"
|
|
|
- maxlength=500 textareaFlag/>
|
|
|
+ <!--销售售价-->
|
|
|
+ <DkFormItem prop="priceLimited" :required="true" data-type="number">
|
|
|
+ <InputNumberPop ref="priceLimited" v-model="formData.priceLimited"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--期初成本价-->
|
|
|
+ <DkFormItem prop="priceLimited" :required="true" data-type="number">
|
|
|
+ <InputNumberPop ref="priceLimited" v-model="formData.priceLimited"/>
|
|
|
</DkFormItem>
|
|
|
</DkForm>
|
|
|
</DkPanel>
|
|
|
+
|
|
|
<DkPanel prop="skuImages">
|
|
|
<div id="search-cond-div-files-info" ref="search-cond-div-files-info" slot="content">
|
|
|
<DkPicWall v-model="formData.skuImages"
|
|
|
@@ -128,20 +165,24 @@
|
|
|
</DkCollapse>
|
|
|
|
|
|
<!-- 下部分按钮区域-->
|
|
|
- <DkSaveButton ref="saveButton" :loading="loading" @save="save" @close="close"
|
|
|
- v-if="type !== 'edit-staff'"></DkSaveButton>
|
|
|
+ <DkSaveButton ref="saveButton" :loading="loading" @save="save1" @close="close"></DkSaveButton>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import {formMixin} from "@/mixins/form";
|
|
|
-import {button, columns, formTitle, loginTitle, messages, others} from "@/locale/lang/zh-CN";
|
|
|
|
|
|
export default {
|
|
|
components: {},
|
|
|
mixins: [formMixin],
|
|
|
data() {
|
|
|
return {
|
|
|
+ //辅助单位是否显示
|
|
|
+ showSubUnit:true,
|
|
|
+ //价格体系显示
|
|
|
+ priceFlag:false,
|
|
|
+ //期初库存显示
|
|
|
+ InvFlag:false,
|
|
|
categoryList:[],
|
|
|
seriesList:[],
|
|
|
unitList:[],
|
|
|
@@ -156,11 +197,14 @@ export default {
|
|
|
seriesId: null,//商品系列
|
|
|
unitId: null,//计量单位
|
|
|
skuSpec: null,//商品规格
|
|
|
+ flgSubUnit:true,//辅助单位标识
|
|
|
subUnitId: null,//辅助计量单位
|
|
|
conversionFactor: null, //单位换算
|
|
|
+ flgOpeningInv:false,//期初库存标识(编辑时不允许修改)
|
|
|
nonStdCode:null,
|
|
|
whId:null,
|
|
|
whName:null,
|
|
|
+ flgPrice:false,//价格体系标识
|
|
|
pricePurchase : null, //采购价
|
|
|
priceStandard : null, //零售价
|
|
|
priceWholesale : null,//批发价
|
|
|
@@ -173,6 +217,78 @@ export default {
|
|
|
methods: {
|
|
|
|
|
|
/**
|
|
|
+ * @desc : 辅助单位标识变更
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/5/24 13:36
|
|
|
+ */
|
|
|
+ changeSubUnit() {
|
|
|
+ if (this.type === this.$config.formMode.add) {
|
|
|
+ if (this.formData.flgSubUnit) {
|
|
|
+ this.showSubUnit = true
|
|
|
+ }else{
|
|
|
+ this.showSubUnit = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 价格体系标识变更
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/5/24 13:36
|
|
|
+ */
|
|
|
+ changePrice() {
|
|
|
+ if (this.type === this.$config.formMode.add) {
|
|
|
+ if (this.formData.flgPrice) {
|
|
|
+ this.priceFlag = true
|
|
|
+ }else{
|
|
|
+ this.priceFlag = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 期初库存标识变更
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/5/24 13:36
|
|
|
+ */
|
|
|
+ changeInv() {
|
|
|
+ if (this.type === this.$config.formMode.add) {
|
|
|
+ if (this.formData.flgOpeningInv) {
|
|
|
+ this.InvFlag = true
|
|
|
+ }else{
|
|
|
+ this.InvFlag = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 数据校验
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/3/2 9:51
|
|
|
+ */
|
|
|
+ save1() {
|
|
|
+ this.$refs['formInline0'].validate().then(valid => {
|
|
|
+ this.$refs['formInline1'].validate().then(valid1 => {
|
|
|
+ if(!valid || !valid1){
|
|
|
+ return
|
|
|
+ }else{
|
|
|
+ if (this.$refs['formInline2']) {
|
|
|
+ this.$refs['formInline2'].validate().then(valid2 => {
|
|
|
+ if (!valid2) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.outSave()
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.outSave()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
* @desc : 加载数据
|
|
|
* @author : 宋扬
|
|
|
* @date : 2024/4/8 15:12
|
|
|
@@ -256,16 +372,58 @@ export default {
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
+ * @desc : 外部保存
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/5/24 16:37
|
|
|
+ */
|
|
|
+ outSave(){
|
|
|
+ this.loading = true;
|
|
|
+ // 2、给参数赋值
|
|
|
+ this.setParams()
|
|
|
+ // 3、保存数据
|
|
|
+ this._saveData().then(result => {
|
|
|
+ // 新建成功
|
|
|
+ if (result.code === this.$config.SUCCESS_CODE) {
|
|
|
+ // 提示信息
|
|
|
+ this.$Message.success(this.$t('I_001', {'param': this.$t(this.typeData)}))
|
|
|
+ // 新建清空当前窗体
|
|
|
+ if (this.typeData === this.$config.formMode.add
|
|
|
+ || this.typeData === this.$config.formMode.addTogether
|
|
|
+ || this.typeData === this.$config.formMode.moldDamage) {
|
|
|
+ this._clear();
|
|
|
+ } else {
|
|
|
+ // 如果是多个数据进行编辑不能关页面
|
|
|
+ if (this.editKeys && this.editKeys.length > 1) {
|
|
|
+ if (this.editIndex + 1 <= this.editKeys.length) {
|
|
|
+ // 跳转到下一条数据
|
|
|
+ this.editPageChange(this.editIndex + 1)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 单一页面编辑关闭窗体
|
|
|
+ this.close(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 如果不成功就提示错误信息
|
|
|
+ this.$Message.warning(result.message)
|
|
|
+ }
|
|
|
+ this.loading = false
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
* @desc : 保存数据
|
|
|
* @author : 宋扬
|
|
|
* @date : 2024/4/8 16:30
|
|
|
*/
|
|
|
saveData() {
|
|
|
- if (this.type === this.$config.formMode.add) {
|
|
|
- return this.excute(this.$service.goodsService, this.$service.goodsService.insert, this.params);
|
|
|
- } else if (this.type === this.$config.formMode.edit) {
|
|
|
- return this.excute(this.$service.goodsService, this.$service.goodsService.update, this.params);
|
|
|
- }
|
|
|
+ console.log('this.params',this.params)
|
|
|
+ this.loading = false
|
|
|
+ // if (this.type === this.$config.formMode.add) {
|
|
|
+ // return this.excute(this.$service.goodsService, this.$service.goodsService.insert, this.params);
|
|
|
+ // } else if (this.type === this.$config.formMode.edit) {
|
|
|
+ // return this.excute(this.$service.goodsService, this.$service.goodsService.update, this.params);
|
|
|
+ // }
|
|
|
},
|
|
|
|
|
|
},
|