|
@@ -57,7 +57,7 @@
|
|
|
<!-- <el-alert type="warning" title="某种货物需要按不同方式计费时,请将货物按计算方式分成多个货物录入" :closable="false"></el-alert> -->
|
|
|
</el-col>
|
|
|
<el-col :span="24" style="text-align:right">
|
|
|
- <el-button type="primary" @click="addGoods">添加货物</el-button>
|
|
|
+ <el-button type="primary" @click="addGoods" v-if="camAddGoods()">添加货物</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-table :data="form.goods" stripe border max-height="500px">
|
|
@@ -73,27 +73,47 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="数量">
|
|
|
<template v-slot="{ row }">
|
|
|
- <el-input-number controls-position="right" v-model="row.number" :min="0"></el-input-number>
|
|
|
+ <template v-if="canEdit(row)">
|
|
|
+ <el-input-number controls-position="right" v-model="row.number" :min="0"></el-input-number>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{ row.number }}
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="重量(t)">
|
|
|
<template v-slot="{ row }">
|
|
|
- <el-input-number controls-position="right" v-model="row.weight" :min="0"></el-input-number>
|
|
|
+ <template v-if="canEdit(row)">
|
|
|
+ <el-input-number controls-position="right" v-model="row.weight" :min="0"></el-input-number>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{ row.weight }}
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="体积(m³)">
|
|
|
<template v-slot="{ row }">
|
|
|
- <el-input-number controls-position="right" v-model="row.volume" :min="0"></el-input-number>
|
|
|
+ <template v-if="canEdit(row)">
|
|
|
+ <el-input-number controls-position="right" v-model="row.volume" :min="0"></el-input-number>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{ row.volume }}
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="备注">
|
|
|
<template v-slot="{ row }">
|
|
|
- <el-input v-model="row.remark" type="textarea" :autosize="{ minRows: 1, maxRows: 3 }" placeholder="若需要备注请在此处填写"></el-input>
|
|
|
+ <template v-if="canEdit(row)">
|
|
|
+ <el-input v-model="row.remark" type="textarea" :autosize="{ minRows: 1, maxRows: 3 }" placeholder="若需要备注请在此处填写"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{ row.remark }}
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="70px">
|
|
|
- <template v-slot="{ $index }">
|
|
|
- <el-link type="danger" :underline="false" @click="toDeletGoods($index)">删除</el-link>
|
|
|
+ <template v-slot="{ row, $index }">
|
|
|
+ <el-link type="danger" v-if="canEdit(row)" :underline="false" @click="toDeletGoods($index)">删除</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -171,6 +191,9 @@ export default {
|
|
|
* 可以修改货物的判断函数
|
|
|
*/
|
|
|
canEdit(data) {
|
|
|
+ // 是否结算,结算了也不蒙搞
|
|
|
+ const is_js = _.get(this.form, 'is_js');
|
|
|
+ if (is_js) return false;
|
|
|
// 先判断发没发货,发货了就不能改了
|
|
|
const sendList = _.get(this.form, 'sendList', []);
|
|
|
if (sendList.length > 0) return false;
|
|
@@ -183,6 +206,13 @@ export default {
|
|
|
const res = split.find(f => f.pid === _id);
|
|
|
return !res;
|
|
|
},
|
|
|
+ // 判断是否可以添加货物
|
|
|
+ camAddGoods() {
|
|
|
+ const order = _.cloneDeep(this.form);
|
|
|
+ const { split } = order;
|
|
|
+ const res = split.find(f => f.status !== '0');
|
|
|
+ return !res;
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|