diff --git a/src/views/goods/Update.vue b/src/views/goods/Update.vue
index 0757a75..f5ae051 100644
--- a/src/views/goods/Update.vue
+++ b/src/views/goods/Update.vue
@@ -55,26 +55,20 @@
-
+
否
是
-
+
否
是
-
+
否
是
@@ -108,8 +102,14 @@
@@ -129,29 +129,27 @@
v-for="(item, index) in formData.deliveryList"
:key="index"
:value="item.delivery_id"
- >{{ item.name }}
+ >{{ item.name }}
-
+
上架
下架
-
+
+
+
+
+ 提交
+ 下一步
@@ -193,17 +191,8 @@
/>
元
-
-
+
+
元
件
@@ -227,15 +219,16 @@
>
千克 (Kg)
-
+
下单减库存
付款减库存
@@ -274,12 +267,22 @@
+
+ 提交
+ 上一步
+ 下一步
+
@@ -323,11 +326,9 @@
v-decorator="['serviceIds']"
placeholder="请选择服务与承诺"
>
- {{ item.name }}
+ {{
+ item.name
+ }}
-
- 提交
-
@@ -530,7 +531,7 @@ export default {
MultiSpec,
AreasModal
},
- data () {
+ data() {
return {
// 默认的标签索引
tabKey: 0,
@@ -565,64 +566,62 @@ export default {
},
watch: {
// 监听商品ID变化
- '$route.query.goodsId' (val) {
+ '$route.query.goodsId'(val) {
if (val) {
this.goodsId = val
this.initData()
this.getDataList()
}
- }
+ },
},
- created () {
+ created() {
// 初始化数据
this.initData()
},
- beforeDestroy () {
+ beforeDestroy() {
// 销毁商品详情
GoodsModel.formData.goods = {}
},
methods: {
-
// 初始化数据
- initData () {
+ initData() {
// 记录商品ID
this.goodsId = this.$route.query.goodsId
// 获取form所需的数据
this.isLoading = true
- GoodsModel.getFromData(this.goodsId)
- .then(() => {
- // 商品表单数据
- if (!isEmptyObject(this.form.getFieldsValue())) {
- // 第一次赋值
- this.form.setFieldsValue(GoodsModel.getFieldsValue())
- // 第二次赋值 (适用于动态渲染的form-item)
- this.$nextTick(() => {
- this.form.setFieldsValue(GoodsModel.getFieldsValue2())
- this.ruleList = this.formData.goods.rules?this.formData.goods.rules:[]
- this.onForceUpdate()
- })
- }
- this.isLoading = false
- })
+ GoodsModel.getFromData(this.goodsId).then(() => {
+ // 商品表单数据
+ if (!isEmptyObject(this.form.getFieldsValue())) {
+ // 第一次赋值
+ this.form.setFieldsValue(GoodsModel.getFieldsValue())
+ // 第二次赋值 (适用于动态渲染的form-item)
+ this.$nextTick(() => {
+ this.form.setFieldsValue(GoodsModel.getFieldsValue2())
+ this.onForceUpdate()
+ })
+ }
+ this.isLoading = false
+ })
},
// 手动强制更新页面
- onForceUpdate (bool = false) {
+ onForceUpdate(bool = false) {
this.$forceUpdate()
// bool为true时再执行一次 $forceUpdate, 特殊情况下需执行两次,原因如下:
// 第一次执行 $forceUpdate时, 新元素绑定v-decorator无法获取到form.getFieldValue
- bool && setTimeout(() => {
- this.$forceUpdate()
- }, 10)
+ bool &&
+ setTimeout(() => {
+ this.$forceUpdate()
+ }, 10)
},
// 切换tab选项卡
- handleTabs (key) {
+ handleTabs(key) {
this.tabKey = key
},
// 刷新分类列表
- onReloadCategoryList () {
+ onReloadCategoryList() {
this.isLoading = true
GoodsModel.getCategoryList().then(() => {
this.isLoading = false
@@ -630,7 +629,7 @@ export default {
},
// 刷新服务与承诺列表
- onReloadServiceList () {
+ onReloadServiceList() {
this.isLoading = true
GoodsModel.getServiceList().then(() => {
this.isLoading = false
@@ -638,7 +637,7 @@ export default {
},
// 刷新配送模板列表
- onReloadDeliveryList () {
+ onReloadDeliveryList() {
this.isLoading = true
GoodsModel.getDeliveryList().then(() => {
this.isLoading = false
@@ -646,10 +645,12 @@ export default {
},
// 确认按钮
- handleSubmit (e) {
+ handleSubmit(e) {
e.preventDefault()
// 表单验证
- const { form: { validateFields }, } = this
+ const {
+ form: { validateFields },ruleList
+ } = this
validateFields((errors, values) => {
// 定位到错误的tab选项卡
if (errors) {
@@ -668,7 +669,7 @@ export default {
}
values.rules = ruleList
// 整理商品分类ID集
- values.categoryIds = values.categorys.map(item => item.value)
+ values.categoryIds = values.categorys.map((item) => item.value)
delete values.categorys
// 提交到后端api
this.onFormSubmit(values)
@@ -677,14 +678,24 @@ export default {
},
// 定位到错误的tab选项卡
- onTargetTabError (errors) {
+ onTargetTabError(errors) {
// 表单字段与tabKey对应关系
// 只需要必填字段就可
const tabsFieldsMap = [
- ['goods_type', 'goods_name', 'categorys', 'imagesIds', 'delivery_id', 'is_ind_delivery_type', 'delivery_type', 'is_brand', 'is_in_store'],
+ [
+ 'goods_type',
+ 'goods_name',
+ 'categorys',
+ 'imagesIds',
+ 'delivery_id',
+ 'is_ind_delivery_type',
+ 'delivery_type',
+ 'is_brand',
+ 'is_in_store',
+ ],
['spec_type', 'goods_price', 'is_restrict', 'restrict_total', 'restrict_single', 'cost_price'],
['content'],
- ['alone_grade_equity', 'first_money', 'second_money', 'third_money']
+ ['alone_grade_equity', 'first_money', 'second_money', 'third_money'],
]
const field = Object.keys(errors).shift()
for (const key in tabsFieldsMap) {
@@ -696,11 +707,11 @@ export default {
},
// 提交到后端api
- onFormSubmit (values) {
+ onFormSubmit(values) {
this.isLoading = true
this.isBtnLoading = true
GoodsApi.edit({ goodsId: this.goodsId, form: values })
- .then(result => {
+ .then((result) => {
// 显示提示信息
this.$message.success(result.message, 1.5)
// 跳转到列表页
@@ -711,11 +722,10 @@ export default {
.catch(() => {
this.isBtnLoading = false
})
- .finally(() => this.isLoading = false)
+ .finally(() => (this.isLoading = false))
},
-
- // 新增记录
- handleAdd() {
+ // 新增记录
+ handleAdd() {
const index = this.ruleList.length
const newItem = { ...defaultItem, key: index }
// 排除的城市id集(已存在的城市id集)
@@ -775,28 +785,10 @@ export default {
},
})
},
-
- }
+ },
}
-
+