|
@@ -25,7 +25,7 @@
|
|
<el-col class="card-header1" :span="24">线路:{{ getroute(item.route) }}</el-col>
|
|
<el-col class="card-header1" :span="24">线路:{{ getroute(item.route) }}</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
- <data-table height="200px" :fields="fields" :data="item.goods" :usePage="false" :opera="opera" @handleSelect="toSelect" :select="true">
|
|
|
|
|
|
+ <data-table height="200px" :fields="fields" :data="item.split" :usePage="false" :opera="opera" @handleSelect="toSelect" :select="true">
|
|
</data-table>
|
|
</data-table>
|
|
</el-card>
|
|
</el-card>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -35,50 +35,104 @@
|
|
<el-button size="mini" type="primary" @click="back()">返回</el-button>
|
|
<el-button size="mini" type="primary" @click="back()">返回</el-button>
|
|
<span>填写装车单</span>
|
|
<span>填写装车单</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="12" class="form">
|
|
|
|
|
|
+ <el-col :span="24" class="form">
|
|
<el-form ref="form" :model="form" label-width="90px">
|
|
<el-form ref="form" :model="form" label-width="90px">
|
|
- <el-form-item label="订单号">
|
|
|
|
- {{ form.number }}
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="操作人">
|
|
|
|
- {{ form.user }}
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="发货日期">
|
|
|
|
- <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="供应商方式">
|
|
|
|
- <el-radio-group v-model="form.resource">
|
|
|
|
- <el-radio label="自运"></el-radio>
|
|
|
|
- <el-radio label="他运"></el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="支出项">
|
|
|
|
- <el-select v-model="form.region" placeholder="请选择支出项">
|
|
|
|
- <el-option v-for="(item, index) in costList" :key="index" :label="item.name" :value="item.name"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="备注">
|
|
|
|
- <el-input type="textarea" v-model="form.desc" placeholder="备注"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="订单号">
|
|
|
|
+ {{ form.no }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="操作人">
|
|
|
|
+ {{ getUser(form.owner) }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="发货日期">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ type="datetime"
|
|
|
|
+ placeholder="选择发货日期"
|
|
|
|
+ v-model="form.send_time"
|
|
|
|
+ value-format="yyyy-MM-dd HH:mm"
|
|
|
|
+ format="yyyy-MM-dd HH:mm"
|
|
|
|
+ style="width: 100%;"
|
|
|
|
+ ></el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="供应商方式">
|
|
|
|
+ <el-radio-group v-model="form.supply_type" @change="changeSupply">
|
|
|
|
+ <el-radio label="0">自运</el-radio>
|
|
|
|
+ <el-radio label="1">供应商</el-radio>
|
|
|
|
+ <el-radio label="2">第三方单位</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="备注">
|
|
|
|
+ <el-input type="textarea" v-model="form.remark" placeholder="备注"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <!-- 自选-车号(选择),税率 -->
|
|
|
|
+ <!-- 供应商-供应商,合同,项目,线路,计费方式,税率 -->
|
|
|
|
+ <!-- 第三方-车号(手输),税率 -->
|
|
|
|
+ <span v-if="form.supply_type == '0'">
|
|
|
|
+ <el-form-item label="车牌号">
|
|
|
|
+ <el-select v-model="form.supplier.car_no" placeholder="车牌号">
|
|
|
|
+ <el-option v-for="item in carnoList" :key="item.label" :label="item.car_no" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </span>
|
|
|
|
+ <span v-else-if="form.supply_type == '1'">
|
|
|
|
+ <el-form-item label="供应商">
|
|
|
|
+ <el-select v-model="form.supplier.client" placeholder="供应商" @change="changeClient">
|
|
|
|
+ <el-option v-for="item in clientList" :key="item.label" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="合同">
|
|
|
|
+ <el-select v-model="form.supplier.treaty" placeholder="合同" @change="changeTreaty">
|
|
|
|
+ <el-option v-for="item in treatyList" :key="item.label" :label="item.number" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="项目">
|
|
|
|
+ <el-select v-model="form.supplier.item" placeholder="项目" @change="changeItem">
|
|
|
|
+ <el-option v-for="item in itemList" :key="item.label" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="线路">
|
|
|
|
+ <el-select v-model="form.supplier.route" placeholder="线路" @change="changeRoute">
|
|
|
|
+ <el-option v-for="item in supRouteList" :key="item.label" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="计费方式">
|
|
|
|
+ <el-select v-model="form.supplier.mode" placeholder="计费方式">
|
|
|
|
+ <el-option v-for="item in modeList" :key="item.label" :label="item.name" :value="item.id"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </span>
|
|
|
|
+ <span v-else-if="form.supply_type == '2'">
|
|
|
|
+ <el-form-item label="车牌号">
|
|
|
|
+ <el-input v-model="form.supplier.car_no" placeholder="车牌号"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </span>
|
|
|
|
+ <el-form-item label="税率">
|
|
|
|
+ <el-select v-model="form.supplier.taxes" placeholder="请选择税率" @change="changeTaxes">
|
|
|
|
+ <el-option v-for="item in taxesList" :key="item.label" :label="item.label" :value="item.label"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
</el-form>
|
|
</el-form>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24" class="list">
|
|
<el-col :span="24" class="list">
|
|
<el-col :span="24" class="rate">
|
|
<el-col :span="24" class="rate">
|
|
- <el-col :span="6" class="rateMoney">税前应收:{{ detailList.cost }}</el-col>
|
|
|
|
- <el-col :span="6" class="rateMoney">税后应收:{{ detailList.cost }}</el-col>
|
|
|
|
- <el-col :span="6" class="rateMoney">税前实收:{{ detailList.cost }}</el-col>
|
|
|
|
- <el-col :span="6" class="rateMoney">税后应收:{{ detailList.cost }}</el-col>
|
|
|
|
|
|
+ <el-col :span="6" class="rateMoney">税前应收:{{ statNum.sq_ys || 0 }}</el-col>
|
|
|
|
+ <el-col :span="6" class="rateMoney">税前实收:{{ statNum.sq_ss || 0 }}</el-col>
|
|
|
|
+ <el-col :span="6" class="rateMoney">税后应收:{{ statNum.sh_ys || 0 }}</el-col>
|
|
|
|
+ <el-col :span="6" class="rateMoney">税后实收:{{ statNum.sh_ss || 0 }}</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
- <data-table :fields="detailFields" :data="detailList" :usePage="false">
|
|
|
|
- <template #custom="{item}">
|
|
|
|
|
|
+ <data-table :fields="detailFields" :data="goodsList" :usePage="false">
|
|
|
|
+ <template #custom="{item,row}">
|
|
<template v-if="item.model == 'cost'">
|
|
<template v-if="item.model == 'cost'">
|
|
- <el-input-number v-model="detailList.cost" controls-position="right" @change="handleChange" :min="1" size="mini"></el-input-number>
|
|
|
|
|
|
+ <el-input-number v-model="row.cost" controls-position="right" @change="changeCost(row)" :min="1" size="mini"></el-input-number>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</data-table>
|
|
</data-table>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24" class="btn">
|
|
<el-col :span="24" class="btn">
|
|
- <el-button size="mini" type="primary" @click="create(form, detailList)">生成装车单</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="primary" @click="onSubmit()">生成装车单</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -90,10 +144,24 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
|
+// 订单表
|
|
const { mapActions: order } = createNamespacedHelpers('order');
|
|
const { mapActions: order } = createNamespacedHelpers('order');
|
|
|
|
+// 客户表
|
|
const { mapActions: client } = createNamespacedHelpers('client');
|
|
const { mapActions: client } = createNamespacedHelpers('client');
|
|
|
|
+// 线路表
|
|
const { mapActions: route } = createNamespacedHelpers('route');
|
|
const { mapActions: route } = createNamespacedHelpers('route');
|
|
-
|
|
|
|
|
|
+// 装车表
|
|
|
|
+const { mapActions: transport } = createNamespacedHelpers('transport');
|
|
|
|
+// 字典表
|
|
|
|
+const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
|
|
|
|
+// 车牌表
|
|
|
|
+const { mapActions: car } = createNamespacedHelpers('car');
|
|
|
|
+// 合同
|
|
|
|
+const { mapActions: treaty } = createNamespacedHelpers('treaty');
|
|
|
|
+// 项目表
|
|
|
|
+const { mapActions: project } = createNamespacedHelpers('project');
|
|
|
|
+// 计算方式
|
|
|
|
+const { mapActions: mode } = createNamespacedHelpers('mode');
|
|
export default {
|
|
export default {
|
|
metaInfo() {
|
|
metaInfo() {
|
|
return { title: this.$route.meta.title };
|
|
return { title: this.$route.meta.title };
|
|
@@ -120,48 +188,55 @@ export default {
|
|
list: [],
|
|
list: [],
|
|
total: 0,
|
|
total: 0,
|
|
opera: [],
|
|
opera: [],
|
|
|
|
+ // 装车单数据
|
|
|
|
+ form: {},
|
|
|
|
+ // 选择货物列表
|
|
selected: [],
|
|
selected: [],
|
|
- form: {
|
|
|
|
- number: 123566,
|
|
|
|
- user: '张三',
|
|
|
|
- date1: '',
|
|
|
|
- resource: '',
|
|
|
|
- desc: '',
|
|
|
|
- },
|
|
|
|
- //支出项列表
|
|
|
|
- costList: [{ name: '支出项一' }, { name: '支出项二' }],
|
|
|
|
|
|
+ // 货物列表
|
|
detailFields: [
|
|
detailFields: [
|
|
- { label: '订单号', model: 'ordernum' },
|
|
|
|
- { label: '拆分单号', model: 'spilt' },
|
|
|
|
- { label: '货物', model: 'goods' },
|
|
|
|
|
|
+ { label: '货物', model: 'name' },
|
|
{ label: '运输费用', model: 'cost', custom: 'true' },
|
|
{ label: '运输费用', model: 'cost', custom: 'true' },
|
|
{ label: '数量', model: 'number' },
|
|
{ label: '数量', model: 'number' },
|
|
{ label: '重量(t)', model: 'weight' },
|
|
{ label: '重量(t)', model: 'weight' },
|
|
{ label: '体积(m²)', model: 'volume' },
|
|
{ label: '体积(m²)', model: 'volume' },
|
|
- { label: '要求发货日期', model: 'time' },
|
|
|
|
- ],
|
|
|
|
- detailList: [
|
|
|
|
- {
|
|
|
|
- id: '1',
|
|
|
|
- ordernum: '123',
|
|
|
|
- spilt: 'AW-YS-ZF-2018-005',
|
|
|
|
- goods: '真皮',
|
|
|
|
- cost: '',
|
|
|
|
- number: '3',
|
|
|
|
- weight: '40',
|
|
|
|
- volume: '50',
|
|
|
|
- time: '2020-01-09',
|
|
|
|
- },
|
|
|
|
|
|
+ { label: '税前应收', model: 'sq_ys' },
|
|
|
|
+ { label: '税前实收', model: 'sq_ss' },
|
|
|
|
+ { label: '税后应收', model: 'sh_ys' },
|
|
|
|
+ { label: '税后实收', model: 'sh_ss' },
|
|
],
|
|
],
|
|
|
|
+ goodsList: [],
|
|
|
|
+ // 税收统计
|
|
|
|
+ statNum: {},
|
|
|
|
+ // 车牌号
|
|
|
|
+ carnoList: [],
|
|
|
|
+ // 供应商
|
|
|
|
+ supClientList: [],
|
|
|
|
+ // 合同
|
|
|
|
+ treatyList: [],
|
|
|
|
+ // 项目
|
|
|
|
+ itemList: [],
|
|
|
|
+ // 线路
|
|
|
|
+ supRouteList: [],
|
|
|
|
+ // 计费方式
|
|
|
|
+ modeList: [],
|
|
|
|
+ // 税率列表
|
|
|
|
+ taxesList: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
async created() {
|
|
async created() {
|
|
|
|
+ await this.searchOther();
|
|
await this.search();
|
|
await this.search();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- ...order(['query', 'create', 'update', 'delete', 'fetch']),
|
|
|
|
|
|
+ ...order(['query']),
|
|
...client({ clientQuery: 'query' }),
|
|
...client({ clientQuery: 'query' }),
|
|
...route({ routeQuery: 'query' }),
|
|
...route({ routeQuery: 'query' }),
|
|
|
|
+ ...transport({ transportNo: 'transportNo', transportCreate: 'create' }),
|
|
|
|
+ ...dictionary(['tree']),
|
|
|
|
+ ...car({ carQuery: 'query' }),
|
|
|
|
+ ...treaty({ treatyQuery: 'query' }),
|
|
|
|
+ ...project({ projectQuery: 'query' }),
|
|
|
|
+ ...mode({ modeQuery: 'query' }),
|
|
async search({ skip = 0, limit = 8, ...info } = {}) {
|
|
async search({ skip = 0, limit = 8, ...info } = {}) {
|
|
//查订单
|
|
//查订单
|
|
let res = await this.query({ skip, limit, ...info });
|
|
let res = await this.query({ skip, limit, ...info });
|
|
@@ -182,39 +257,169 @@ export default {
|
|
const { data, total } = res;
|
|
const { data, total } = res;
|
|
this.$set(this, `routeList`, data);
|
|
this.$set(this, `routeList`, data);
|
|
}
|
|
}
|
|
|
|
+ // 查询税率
|
|
|
|
+ res = await this.tree('sl');
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `taxesList`, res[0].children);
|
|
|
|
+ }
|
|
},
|
|
},
|
|
|
|
+ // 选择货物
|
|
toSelect(data) {
|
|
toSelect(data) {
|
|
- // console.log(data);
|
|
|
|
- this.selected = data;
|
|
|
|
|
|
+ let newData = data.concat(this.selected);
|
|
|
|
+ this.$set(this, `selected`, newData);
|
|
},
|
|
},
|
|
- toExport() {
|
|
|
|
|
|
+ // 发车
|
|
|
|
+ async toExport() {
|
|
|
|
+ let res = await this.transportNo();
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ let data = {
|
|
|
|
+ no: res,
|
|
|
|
+ owner: this.user.id,
|
|
|
|
+ // 运输信息
|
|
|
|
+ supplier: {},
|
|
|
|
+ };
|
|
|
|
+ let goods = this.selected;
|
|
|
|
+ for (const val of goods) {
|
|
|
|
+ val.split_id = _.clone(val._id);
|
|
|
|
+ delete val._id;
|
|
|
|
+ }
|
|
|
|
+ this.$set(this, `goodsList`, goods);
|
|
|
|
+ this.$set(this, `form`, data);
|
|
|
|
+ }
|
|
this.dialog = true;
|
|
this.dialog = true;
|
|
},
|
|
},
|
|
- handleChange(value) {
|
|
|
|
|
|
+ // 选择运输类型
|
|
|
|
+ changeSupply(value) {
|
|
console.log(value);
|
|
console.log(value);
|
|
},
|
|
},
|
|
- create(data, detailList) {
|
|
|
|
- console.log(data, detailList);
|
|
|
|
|
|
+ // 生成装车单
|
|
|
|
+ async onSubmit() {
|
|
|
|
+ let data = this.form;
|
|
|
|
+ data.goods = this.goodsList;
|
|
|
|
+ let res = await this.transportCreate(data);
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ console.log(res);
|
|
|
|
+ }
|
|
},
|
|
},
|
|
- // 查询客户
|
|
|
|
|
|
+ // 过滤客户
|
|
getclient(value) {
|
|
getclient(value) {
|
|
const res = this.clientList.find(i => i.id === value);
|
|
const res = this.clientList.find(i => i.id === value);
|
|
if (res) return res.name;
|
|
if (res) return res.name;
|
|
},
|
|
},
|
|
- // 查询线路
|
|
|
|
|
|
+ // 过滤路线
|
|
getroute(value) {
|
|
getroute(value) {
|
|
const res = this.routeList.find(i => i.id === value);
|
|
const res = this.routeList.find(i => i.id === value);
|
|
if (res) return res.name;
|
|
if (res) return res.name;
|
|
},
|
|
},
|
|
|
|
+ // 过滤用户
|
|
|
|
+ getUser(value) {
|
|
|
|
+ let user = this.user;
|
|
|
|
+ if (value == user.id) return user.name;
|
|
|
|
+ else return value;
|
|
|
|
+ },
|
|
|
|
+ // 选择供应商,查询合同
|
|
|
|
+ async changeClient() {
|
|
|
|
+ let res = await this.treatyQuery({ type: '供应商' });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `treatyList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 选择合同,查询项目
|
|
|
|
+ async changeTreaty(value) {
|
|
|
|
+ let res = await this.projectQuery({ client: value });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `itemList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 选择项目,查询线路
|
|
|
|
+ async changeItem(value) {
|
|
|
|
+ let res = await this.routeQuery({ treaty: value });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `supRouteList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ let item = this.itemList.find(i => i.id == value);
|
|
|
|
+ if (item) {
|
|
|
|
+ this.$set(this.form.supplier, `taxes`, item.taxes);
|
|
|
|
+ this.changeTaxes(item.taxes);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 选择线路,查询计算方式
|
|
|
|
+ async changeRoute(value) {
|
|
|
|
+ let res = await this.modeQuery({ item: value });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `modeList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 选择税率
|
|
|
|
+ changeTaxes(value) {
|
|
|
|
+ let newData = this.goodsList;
|
|
|
|
+ for (const val of newData) {
|
|
|
|
+ val.taxes = value;
|
|
|
|
+ }
|
|
|
|
+ this.goodsList = [];
|
|
|
|
+ this.$set(this, `goodsList`, newData);
|
|
|
|
+ },
|
|
|
|
+ // 计算税收
|
|
|
|
+ changeCost(data) {
|
|
|
|
+ data.sq_ys = data.cost;
|
|
|
|
+ data.sq_ss = data.cost;
|
|
|
|
+ data.sh_ys = _.round(data.cost * data.taxes, 2);
|
|
|
|
+ data.sh_ss = _.round(data.cost * data.taxes, 2);
|
|
|
|
+ return data;
|
|
|
|
+ },
|
|
|
|
+ // 计算税收总数
|
|
|
|
+ searchSh() {
|
|
|
|
+ let data = {
|
|
|
|
+ sq_ys: _.round(
|
|
|
|
+ this.goodsList.reduce((p, n) => p + (n['sq_ys'] * 1 || 0), 0),
|
|
|
|
+ 2
|
|
|
|
+ ),
|
|
|
|
+ sq_ss: _.round(
|
|
|
|
+ this.goodsList.reduce((p, n) => p + (n['sq_ss'] * 1 || 0), 0),
|
|
|
|
+ 2
|
|
|
|
+ ),
|
|
|
|
+ sh_ys: _.round(
|
|
|
|
+ this.goodsList.reduce((p, n) => p + (n['sh_ys'] * 1 || 0), 0),
|
|
|
|
+ 2
|
|
|
|
+ ),
|
|
|
|
+ sh_ss: _.round(
|
|
|
|
+ this.goodsList.reduce((p, n) => p + (n['sh_ss'] * 1 || 0), 0),
|
|
|
|
+ 2
|
|
|
|
+ ),
|
|
|
|
+ };
|
|
|
|
+ let sq_ys = _.round(
|
|
|
|
+ this.goodsList.reduce((p, n) => p + (n['sq_ys'] * 1 || 0), 0),
|
|
|
|
+ 2
|
|
|
|
+ );
|
|
|
|
+ if (data) this.$set(this, `statNum`, data);
|
|
|
|
+ },
|
|
// 返回列表
|
|
// 返回列表
|
|
back() {
|
|
back() {
|
|
this.selected = [];
|
|
this.selected = [];
|
|
this.dialog = false;
|
|
this.dialog = false;
|
|
},
|
|
},
|
|
|
|
+ // 查询其他信息
|
|
|
|
+ async searchOther() {
|
|
|
|
+ let res = await this.carQuery();
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `carnoList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapState(['user']),
|
|
...mapState(['user']),
|
|
},
|
|
},
|
|
|
|
+ watch: {
|
|
|
|
+ goodsList: {
|
|
|
|
+ immediate: true,
|
|
|
|
+ deep: true,
|
|
|
|
+ handler(val) {
|
|
|
|
+ if (val) {
|
|
|
|
+ this.searchSh();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ },
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|