|
|
@ -20,25 +20,27 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 商品名称</div> |
|
|
|
<el-form-item prop="goodsName"> |
|
|
|
<el-input v-model="formobj.goodsName" placeholder="商品名称" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.goodsName" placeholder="商品名称" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 商品编码</div> |
|
|
|
<div class="span-sty"><span class="must">*</span> 图号</div> |
|
|
|
<el-form-item prop="goodsCode"> |
|
|
|
<el-input v-model="formobj.goodsCode" placeholder="商品编码" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.goodsCode" placeholder="图号" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">条形码</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.barCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.barCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" |
|
|
|
clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"> 拼音缩写</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.goodsPY" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.goodsPY" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" |
|
|
|
clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -46,29 +48,32 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 计量单位</div> |
|
|
|
<el-form-item prop="goodsUnitName"> |
|
|
|
<el-select v-model="formobj.goodsUnitName" placeholder="请选择计量单位" class="addinputw" @change="selectunitNameChange"> |
|
|
|
<el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid"/> |
|
|
|
<el-select v-model="formobj.goodsUnitName" placeholder="请选择计量单位" class="addinputw" |
|
|
|
@change="selectunitNameChange"> |
|
|
|
<el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 商品类别</div> |
|
|
|
<el-form-item prop="goodsTypeName"> |
|
|
|
<el-select v-model="formobj.goodsTypeName" placeholder="请选择商品类别" class="addinputw" @change="selectCateChange"> |
|
|
|
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid"/> |
|
|
|
<el-select v-model="formobj.goodsTypeName" placeholder="请选择商品类别" class="addinputw" |
|
|
|
@change="selectCateChange"> |
|
|
|
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">规格</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.indexes" placeholder="规格" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.indexes" placeholder="规格" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">保质期(天)</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.shelfLife " placeholder="保质期(天)" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/> |
|
|
|
<el-input v-model="formobj.shelfLife " placeholder="保质期(天)" class="addinputw addinputInfo" clearable |
|
|
|
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -77,22 +82,25 @@ |
|
|
|
<div class="span-sty"><span class="must">*</span> 品牌</div> |
|
|
|
<el-form-item prop="brandName"> |
|
|
|
<el-select v-model="formobj.brandName" placeholder="请选择品牌" class="addinputw" @change="selectBrandChange"> |
|
|
|
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid"/> |
|
|
|
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 厂家</div> |
|
|
|
<el-form-item prop="manufacturerName"> |
|
|
|
<el-select v-model="formobj.manufacturerName" placeholder="请选择厂家" class="addinputw" @change="selectfacturerChange"> |
|
|
|
<el-option v-for="item in facturerList" :key="item.sid" :label="item.manufacturerName" :value="item.sid"/> |
|
|
|
<el-select v-model="formobj.manufacturerName" placeholder="请选择厂家" class="addinputw" |
|
|
|
@change="selectfacturerChange"> |
|
|
|
<el-option v-for="item in facturerList" :key="item.sid" :label="item.manufacturerName" |
|
|
|
:value="item.sid" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">原厂标志</div> |
|
|
|
<el-form-item> |
|
|
|
<el-radio-group v-model="formobj.isOriginalFactory" size="medium" style="margin-left: 120px;" @change="selectIsOriginalFactory"> |
|
|
|
<el-radio-group v-model="formobj.isOriginalFactory" size="medium" style="margin-left: 120px;" |
|
|
|
@change="selectIsOriginalFactory"> |
|
|
|
<el-radio :label="'1'">是</el-radio> |
|
|
|
<el-radio :label="'2'">否</el-radio> |
|
|
|
</el-radio-group> |
|
|
@ -103,13 +111,15 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 库存上限</div> |
|
|
|
<el-form-item prop="inventoryAlertUpperLimit"> |
|
|
|
<el-input v-model="formobj.inventoryAlertUpperLimit" placeholder="库存上限" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/> |
|
|
|
<el-input v-model="formobj.inventoryAlertUpperLimit" placeholder="库存上限" class="addinputw addinputInfo" |
|
|
|
clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 库存下限</div> |
|
|
|
<el-form-item prop="inventoryAlertLowerLimit"> |
|
|
|
<el-input v-model="formobj.inventoryAlertLowerLimit" placeholder="库存下限" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/> |
|
|
|
<el-input v-model="formobj.inventoryAlertLowerLimit" placeholder="库存下限" class="addinputw addinputInfo" |
|
|
|
clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -117,44 +127,48 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty"><span class="must">*</span> 排序</div> |
|
|
|
<el-form-item prop="sortNo"> |
|
|
|
<el-input v-model="formobj.sortNo" placeholder="排序" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/> |
|
|
|
<el-input v-model="formobj.sortNo" placeholder="排序" class="addinputw addinputInfo" clearable |
|
|
|
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
|
<div class="span-sty">备注</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.skuRemarks" placeholder="备注" class="addinputw addinputInfo" clearable/> |
|
|
|
<el-input v-model="formobj.skuRemarks" placeholder="备注" class="addinputw addinputInfo" clearable /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">锁定销售定价</div> |
|
|
|
<div class="span-sty">锁定销售价</div> |
|
|
|
<el-form-item> |
|
|
|
<el-radio-group v-model="formobj.isLockingSalesPrice" size="small" style="margin-left: 120px;" @change="selectIsLockingSalesPrice"> |
|
|
|
<el-radio-group v-model="formobj.isLockingSalesPrice" size="small" style="margin-left: 120px;" |
|
|
|
@change="selectIsLockingSalesPrice"> |
|
|
|
<el-radio :label="'1'">是</el-radio> |
|
|
|
<el-radio :label="'2'">否</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">销售底价</div> |
|
|
|
<div class="span-sty">销售价</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.minimumSalesPrice" placeholder="销售底价" class="addinputw addinputInfo" clearable oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/> |
|
|
|
<el-input v-model="formobj.minimumSalesPrice" placeholder="销售价" class="addinputw addinputInfo" clearable |
|
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">三包价格</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.standardPurchasePrice" placeholder="三包价格" class="addinputw addinputInfo" clearable |
|
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/> |
|
|
|
<el-input v-model="formobj.standardPurchasePrice" placeholder="三包价格" class="addinputw addinputInfo" |
|
|
|
clearable |
|
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="span-sty">首保价格</div> |
|
|
|
<el-form-item> |
|
|
|
<el-input v-model="formobj.agencyPrice" placeholder="首保价格" class="addinputw addinputInfo" clearable |
|
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/> |
|
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -162,7 +176,8 @@ |
|
|
|
<el-col :span="24"> |
|
|
|
<div class="span-sty">商品图片</div> |
|
|
|
<el-form-item> |
|
|
|
<upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="imgList" :limit="50" bucket="map" :upload-data="{ type: '0001' }" @change="backData"/> |
|
|
|
<upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="imgList" :limit="50" bucket="map" |
|
|
|
:upload-data="{ type: '0001' }" @change="backData" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -172,289 +187,292 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import req from '@/api/goods/goods.js' |
|
|
|
import req2 from '@/api/goods/brand.js' |
|
|
|
import req3 from '@/api/goods/category.js' |
|
|
|
import req4 from '@/api/goods/factory.js' |
|
|
|
import req5 from '@/api/goods/unit.js' |
|
|
|
import { getOrgSidByPath } from '@/api/Common/dictcommons' |
|
|
|
import uploadImg from '@/components/uploadFile/uploadImg' |
|
|
|
import req from '@/api/goods/goods.js' |
|
|
|
import req2 from '@/api/goods/brand.js' |
|
|
|
import req3 from '@/api/goods/category.js' |
|
|
|
import req4 from '@/api/goods/factory.js' |
|
|
|
import req5 from '@/api/goods/unit.js' |
|
|
|
import { |
|
|
|
getOrgSidByPath |
|
|
|
} from '@/api/Common/dictcommons' |
|
|
|
import uploadImg from '@/components/uploadFile/uploadImg' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
uploadImg |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
listLoading: false, |
|
|
|
activeNames: ['1'], |
|
|
|
imgList: [], |
|
|
|
submitdisabled: false, |
|
|
|
formobj: { |
|
|
|
sid: '', |
|
|
|
userSid: '', |
|
|
|
orgPath: '', |
|
|
|
useOrgSid: '', |
|
|
|
createOrgSid: '', |
|
|
|
goodsName: '', |
|
|
|
goodsCode: '', |
|
|
|
goodsPY: '', |
|
|
|
barCode: '', |
|
|
|
goodsUnitSid: '', |
|
|
|
goodsUnitName: '', |
|
|
|
goodsTypeSid: '', |
|
|
|
goodsTypeName: '', |
|
|
|
indexes: '', |
|
|
|
shelfLife: '', |
|
|
|
brandSid: '', |
|
|
|
brandName: '', |
|
|
|
manufacturerSid: '', |
|
|
|
manufacturerName: '', |
|
|
|
isOriginalFactory: '2', |
|
|
|
isOriginalFactoryValue: '', |
|
|
|
sortNo: '', |
|
|
|
skuRemarks: '', |
|
|
|
inventoryAlertUpperLimit: '', |
|
|
|
inventoryAlertLowerLimit: '', |
|
|
|
isLockingSalesPrice: '2', |
|
|
|
isLockingSalesPriceValue: '', |
|
|
|
minimumSalesPrice: '', |
|
|
|
standardPurchasePrice: '', |
|
|
|
agencyPrice: '', |
|
|
|
picPath: [] |
|
|
|
}, |
|
|
|
brandList: [], |
|
|
|
cateList: [], |
|
|
|
facturerList: [], |
|
|
|
unitNameList: [], |
|
|
|
rules: { |
|
|
|
goodsName: [{ |
|
|
|
required: true, |
|
|
|
message: '商品名称不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsCode: [{ |
|
|
|
required: true, |
|
|
|
message: '商品编码不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsUnitName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择计量单位', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
goodsTypeName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品类别', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
brandName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品品牌', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
manufacturerName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品厂家', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
sortNo: [{ |
|
|
|
required: true, |
|
|
|
message: '商品排序不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertUpperLimit: [{ |
|
|
|
required: true, |
|
|
|
message: '商品上限不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertLowerLimitt: [{ |
|
|
|
required: true, |
|
|
|
message: '商品下限不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}] |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
selectIsOriginalFactory(val) { |
|
|
|
console.log('selectIsOriginalFactory》》》》', val) |
|
|
|
this.formobj.isOriginalFactoryValue = val === '1' ? '是' : '否' |
|
|
|
}, |
|
|
|
selectIsLockingSalesPrice(val) { |
|
|
|
console.log('selectIsLockingSalesPrice》》》》', val) |
|
|
|
this.formobj.isLockingSalesPriceValue = val === '1' ? '是' : '否' |
|
|
|
}, |
|
|
|
initData(deptSid) { |
|
|
|
var parpams = { useOrgSid: deptSid } |
|
|
|
req2.getAllBrand(parpams).then(resp => { |
|
|
|
this.brandList = resp.data |
|
|
|
}) |
|
|
|
req3.getAllType(parpams).then(resp => { |
|
|
|
this.cateList = resp.data |
|
|
|
}) |
|
|
|
req4.getAllFacturer(parpams).then(resp => { |
|
|
|
this.facturerList = resp.data |
|
|
|
}) |
|
|
|
req5.getAllUnit(parpams).then(resp => { |
|
|
|
this.unitNameList = resp.data |
|
|
|
}) |
|
|
|
export default { |
|
|
|
components: { |
|
|
|
uploadImg |
|
|
|
}, |
|
|
|
showAdd(userSid, orgSid, deptSid) { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
this.formobj.userSid = userSid |
|
|
|
this.formobj.useOrgSid = deptSid |
|
|
|
this.formobj.createOrgSid = orgSid |
|
|
|
this.initData(deptSid) |
|
|
|
}, |
|
|
|
showEdit(row) { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
req.initGoods(row.sid).then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.formobj = resp.data |
|
|
|
this.initData(this.formobj.useOrgSid) |
|
|
|
for (var i = 0; i < resp.data.picPath.length; i++) { |
|
|
|
var item = resp.data.picPath[i] |
|
|
|
this.imgList.push({ |
|
|
|
url: item.url |
|
|
|
}) |
|
|
|
} |
|
|
|
data() { |
|
|
|
return { |
|
|
|
listLoading: false, |
|
|
|
activeNames: ['1'], |
|
|
|
imgList: [], |
|
|
|
submitdisabled: false, |
|
|
|
formobj: { |
|
|
|
sid: '', |
|
|
|
userSid: '', |
|
|
|
orgPath: '', |
|
|
|
useOrgSid: '', |
|
|
|
createOrgSid: '', |
|
|
|
goodsName: '', |
|
|
|
goodsCode: '', |
|
|
|
goodsPY: '', |
|
|
|
barCode: '', |
|
|
|
goodsUnitSid: '', |
|
|
|
goodsUnitName: '', |
|
|
|
goodsTypeSid: '', |
|
|
|
goodsTypeName: '', |
|
|
|
indexes: '', |
|
|
|
shelfLife: '', |
|
|
|
brandSid: '', |
|
|
|
brandName: '', |
|
|
|
manufacturerSid: '', |
|
|
|
manufacturerName: '', |
|
|
|
isOriginalFactory: '2', |
|
|
|
isOriginalFactoryValue: '', |
|
|
|
sortNo: '', |
|
|
|
skuRemarks: '', |
|
|
|
inventoryAlertUpperLimit: '', |
|
|
|
inventoryAlertLowerLimit: '', |
|
|
|
isLockingSalesPrice: '2', |
|
|
|
isLockingSalesPriceValue: '', |
|
|
|
minimumSalesPrice: '', |
|
|
|
standardPurchasePrice: '', |
|
|
|
agencyPrice: '', |
|
|
|
picPath: [] |
|
|
|
}, |
|
|
|
brandList: [], |
|
|
|
cateList: [], |
|
|
|
facturerList: [], |
|
|
|
unitNameList: [], |
|
|
|
rules: { |
|
|
|
goodsName: [{ |
|
|
|
required: true, |
|
|
|
message: '商品名称不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsCode: [{ |
|
|
|
required: true, |
|
|
|
message: '商品编码不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
goodsUnitName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择计量单位', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
goodsTypeName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品类别', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
brandName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品品牌', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
manufacturerName: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择商品厂家', |
|
|
|
trigger: 'change' |
|
|
|
}], |
|
|
|
sortNo: [{ |
|
|
|
required: true, |
|
|
|
message: '商品排序不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertUpperLimit: [{ |
|
|
|
required: true, |
|
|
|
message: '商品上限不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}], |
|
|
|
inventoryAlertLowerLimitt: [{ |
|
|
|
required: true, |
|
|
|
message: '商品下限不能为空', |
|
|
|
trigger: 'blur' |
|
|
|
}] |
|
|
|
} |
|
|
|
}).catch(e => { |
|
|
|
this.formobj = row |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectBrandChange(val) { |
|
|
|
const choose = this.brandList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectBrandChange', choose) |
|
|
|
this.formobj.brandSid = choose[0].sid |
|
|
|
this.formobj.brandName = choose[0].brandName |
|
|
|
}, |
|
|
|
selectCateChange(val) { |
|
|
|
const choose = this.cateList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectCateChange', choose) |
|
|
|
this.formobj.goodsTypeSid = choose[0].sid |
|
|
|
this.formobj.goodsTypeName = choose[0].goodsTypeName |
|
|
|
}, |
|
|
|
selectfacturerChange(val) { |
|
|
|
const choose = this.facturerList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectfacturerChange', choose) |
|
|
|
this.formobj.manufacturerSid = choose[0].sid |
|
|
|
this.formobj.manufacturerName = choose[0].manufacturerName |
|
|
|
}, |
|
|
|
selectunitNameChange(val) { |
|
|
|
const choose = this.unitNameList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectunitNameChange', choose) |
|
|
|
this.formobj.goodsUnitSid = choose[0].sid |
|
|
|
this.formobj.goodsUnitName = choose[0].unitName |
|
|
|
}, |
|
|
|
backData(value) { |
|
|
|
console.log('backData》》》》', value) |
|
|
|
console.log('imgList', this.imgList) |
|
|
|
this.formobj.picPath = this.imgList |
|
|
|
} |
|
|
|
}, |
|
|
|
saveOrUpdate() { |
|
|
|
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|
|
|
this.$refs['form_obj'].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
req.saveGoods(this.formobj).then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.$message({ |
|
|
|
showClose: true, |
|
|
|
type: 'success', |
|
|
|
message: resp.msg |
|
|
|
methods: { |
|
|
|
selectIsOriginalFactory(val) { |
|
|
|
console.log('selectIsOriginalFactory》》》》', val) |
|
|
|
this.formobj.isOriginalFactoryValue = val === '1' ? '是' : '否' |
|
|
|
}, |
|
|
|
selectIsLockingSalesPrice(val) { |
|
|
|
console.log('selectIsLockingSalesPrice》》》》', val) |
|
|
|
this.formobj.isLockingSalesPriceValue = val === '1' ? '是' : '否' |
|
|
|
}, |
|
|
|
initData(deptSid) { |
|
|
|
var parpams = { |
|
|
|
useOrgSid: deptSid |
|
|
|
} |
|
|
|
req2.getAllBrand(parpams).then(resp => { |
|
|
|
this.brandList = resp.data |
|
|
|
}) |
|
|
|
req3.getAllType(parpams).then(resp => { |
|
|
|
this.cateList = resp.data |
|
|
|
}) |
|
|
|
req4.getAllFacturer(parpams).then(resp => { |
|
|
|
this.facturerList = resp.data |
|
|
|
}) |
|
|
|
req5.getAllUnit(parpams).then(resp => { |
|
|
|
this.unitNameList = resp.data |
|
|
|
}) |
|
|
|
}, |
|
|
|
showAdd(userSid, orgSid, deptSid) { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
this.formobj.userSid = userSid |
|
|
|
this.formobj.useOrgSid = deptSid |
|
|
|
this.formobj.createOrgSid = orgSid |
|
|
|
this.initData(deptSid) |
|
|
|
}, |
|
|
|
showEdit(row) { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs['form_obj'].clearValidate() |
|
|
|
}) |
|
|
|
req.initGoods(row.sid).then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.formobj = resp.data |
|
|
|
this.initData(this.formobj.useOrgSid) |
|
|
|
for (var i = 0; i < resp.data.picPath.length; i++) { |
|
|
|
var item = resp.data.picPath[i] |
|
|
|
this.imgList.push({ |
|
|
|
url: item.url |
|
|
|
}) |
|
|
|
this.handleReturn('true') |
|
|
|
} else { |
|
|
|
// 根据resp.code进行异常情况处理 |
|
|
|
} |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
} |
|
|
|
}).catch(e => { |
|
|
|
this.formobj = row |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectBrandChange(val) { |
|
|
|
const choose = this.brandList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectBrandChange', choose) |
|
|
|
this.formobj.brandSid = choose[0].sid |
|
|
|
this.formobj.brandName = choose[0].brandName |
|
|
|
}, |
|
|
|
selectCateChange(val) { |
|
|
|
const choose = this.cateList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectCateChange', choose) |
|
|
|
this.formobj.goodsTypeSid = choose[0].sid |
|
|
|
this.formobj.goodsTypeName = choose[0].goodsTypeName |
|
|
|
}, |
|
|
|
selectfacturerChange(val) { |
|
|
|
const choose = this.facturerList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectfacturerChange', choose) |
|
|
|
this.formobj.manufacturerSid = choose[0].sid |
|
|
|
this.formobj.manufacturerName = choose[0].manufacturerName |
|
|
|
}, |
|
|
|
selectunitNameChange(val) { |
|
|
|
const choose = this.unitNameList.filter((item) => item.sid === val) |
|
|
|
console.log('>>>>>>>>>selectunitNameChange', choose) |
|
|
|
this.formobj.goodsUnitSid = choose[0].sid |
|
|
|
this.formobj.goodsUnitName = choose[0].unitName |
|
|
|
}, |
|
|
|
backData(value) { |
|
|
|
console.log('backData》》》》', value) |
|
|
|
console.log('imgList', this.imgList) |
|
|
|
this.formobj.picPath = this.imgList |
|
|
|
}, |
|
|
|
saveOrUpdate() { |
|
|
|
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|
|
|
this.$refs['form_obj'].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
req.saveGoods(this.formobj).then(resp => { |
|
|
|
if (resp.success) { |
|
|
|
this.$message({ |
|
|
|
showClose: true, |
|
|
|
type: 'success', |
|
|
|
message: resp.msg |
|
|
|
}) |
|
|
|
this.handleReturn('true') |
|
|
|
} else { |
|
|
|
// 根据resp.code进行异常情况处理 |
|
|
|
} |
|
|
|
}).catch(() => {}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleReturn(isreload) { |
|
|
|
if (isreload === 'true') this.$emit('reloadlist') |
|
|
|
this.formobj = { |
|
|
|
sid: '', |
|
|
|
userSid: '', |
|
|
|
orgPath: '', |
|
|
|
useOrgSid: '', |
|
|
|
createOrgSid: '', |
|
|
|
goodsName: '', |
|
|
|
goodsCode: '', |
|
|
|
goodsPY: '', |
|
|
|
barCode: '', |
|
|
|
goodsUnitSid: '', |
|
|
|
goodsUnitName: '', |
|
|
|
goodsTypeSid: '', |
|
|
|
goodsTypeName: '', |
|
|
|
indexes: '', |
|
|
|
shelfLife: '', |
|
|
|
brandSid: '', |
|
|
|
brandName: '', |
|
|
|
manufacturerSid: '', |
|
|
|
manufacturerName: '', |
|
|
|
isOriginalFactory: '2', |
|
|
|
isOriginalFactoryValue: '', |
|
|
|
sortNo: '', |
|
|
|
skuRemarks: '', |
|
|
|
inventoryAlertUpperLimit: '', |
|
|
|
inventoryAlertLowerLimit: '', |
|
|
|
isLockingSalesPrice: '2', |
|
|
|
isLockingSalesPriceValue: '', |
|
|
|
minimumSalesPrice: '', |
|
|
|
standardPurchasePrice: '', |
|
|
|
agencyPrice: '', |
|
|
|
picPath: [] |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleReturn(isreload) { |
|
|
|
if (isreload === 'true') this.$emit('reloadlist') |
|
|
|
this.formobj = { |
|
|
|
sid: '', |
|
|
|
userSid: '', |
|
|
|
orgPath: '', |
|
|
|
useOrgSid: '', |
|
|
|
createOrgSid: '', |
|
|
|
goodsName: '', |
|
|
|
goodsCode: '', |
|
|
|
goodsPY: '', |
|
|
|
barCode: '', |
|
|
|
goodsUnitSid: '', |
|
|
|
goodsUnitName: '', |
|
|
|
goodsTypeSid: '', |
|
|
|
goodsTypeName: '', |
|
|
|
indexes: '', |
|
|
|
shelfLife: '', |
|
|
|
brandSid: '', |
|
|
|
brandName: '', |
|
|
|
manufacturerSid: '', |
|
|
|
manufacturerName: '', |
|
|
|
isOriginalFactory: '2', |
|
|
|
isOriginalFactoryValue: '', |
|
|
|
sortNo: '', |
|
|
|
skuRemarks: '', |
|
|
|
inventoryAlertUpperLimit: '', |
|
|
|
inventoryAlertLowerLimit: '', |
|
|
|
isLockingSalesPrice: '2', |
|
|
|
isLockingSalesPriceValue: '', |
|
|
|
minimumSalesPrice: '', |
|
|
|
standardPurchasePrice: '', |
|
|
|
agencyPrice: '', |
|
|
|
picPath: [] |
|
|
|
this.imgList = [] |
|
|
|
this.$emit('doback') |
|
|
|
} |
|
|
|
this.imgList = [] |
|
|
|
this.$emit('doback') |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
/deep/ .el-form-item__error { |
|
|
|
margin-left: 120px !important; |
|
|
|
} |
|
|
|
/deep/ .el-form-item__error { |
|
|
|
margin-left: 120px !important; |
|
|
|
} |
|
|
|
|
|
|
|
.must { |
|
|
|
color: #f00; |
|
|
|
} |
|
|
|
.must { |
|
|
|
color: #f00; |
|
|
|
} |
|
|
|
|
|
|
|
.span-sty { |
|
|
|
width: 130px !important; |
|
|
|
} |
|
|
|
.span-sty { |
|
|
|
width: 130px !important; |
|
|
|
} |
|
|
|
|
|
|
|
.addinputInfo { |
|
|
|
margin-left: 120px !important; |
|
|
|
} |
|
|
|
.addinputInfo { |
|
|
|
margin-left: 120px !important; |
|
|
|
} |
|
|
|
|
|
|
|
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|
|
|
margin-left: 120px !important; |
|
|
|
width: calc(100% - 115px); |
|
|
|
} |
|
|
|
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|
|
|
margin-left: 120px !important; |
|
|
|
width: calc(100% - 115px); |
|
|
|
} |
|
|
|
|
|
|
|
.first_row { |
|
|
|
border-top: 1px solid #E0E3EB; |
|
|
|
} |
|
|
|
.first_row { |
|
|
|
border-top: 1px solid #E0E3EB; |
|
|
|
} |
|
|
|
|
|
|
|
.titleOne { |
|
|
|
padding: 7px; |
|
|
|
display: flex; |
|
|
|
flex-direction: row; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.titleOne { |
|
|
|
padding: 7px; |
|
|
|
display: flex; |
|
|
|
flex-direction: row; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.el-radio /deep/ .el-radio__label { |
|
|
|
.el-radio /deep/ .el-radio__label { |
|
|
|
|
|
|
|
font-size: 14px !important; |
|
|
|
font-size: 14px !important; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|