|
|
@@ -4,7 +4,7 @@
|
|
|
<yun-table
|
|
|
:columns="columns"
|
|
|
search="name,phone"
|
|
|
- toolbar="refresh,add,edit,del,more"
|
|
|
+ toolbar="refresh,settlement"
|
|
|
ref="yuntable"
|
|
|
:auth="auth"
|
|
|
:extend="extend"
|
|
|
@@ -13,7 +13,16 @@
|
|
|
:is-showtotal="true"
|
|
|
@data-loaded="handleData"
|
|
|
>
|
|
|
+ <template #toolbar="{tool}">
|
|
|
+ <template v-if="tool=='settlement'">
|
|
|
+ <el-button type="primary" @click="createAddon">
|
|
|
+ 结算
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
</yun-table>
|
|
|
+
|
|
|
</el-card>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -21,6 +30,7 @@
|
|
|
export default{
|
|
|
components:{'YunTable':table},
|
|
|
data:{
|
|
|
+ checkedKey:[],
|
|
|
auth:{
|
|
|
recyclebin:Yunqi.auth.check('app\\admin\\controller\\shop\\ShopList','recyclebin'),
|
|
|
},
|
|
|
@@ -29,22 +39,30 @@
|
|
|
recyclebin_url: 'shop/shop_delivery/recyclebin',
|
|
|
},
|
|
|
columns:[
|
|
|
- {checkbox: true},
|
|
|
- {field: 'id',title: __('ID'),width:80,sortable: true},
|
|
|
+ {checkbox: true,selectable:function (row,index){
|
|
|
+ if(row.status != 1){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }},
|
|
|
+ {field: 'id',title: __('ID'),width:80,sortable: true, operate: false},
|
|
|
{field: 'customer.name',title: __('客户'),operate:'LIKE'},
|
|
|
- {field: 'plat_id',title: __('平台'),operate: false, searchList: Yunqi.data.platformList},
|
|
|
+ {field: 'plat_id',title: __('平台'), operate: 'select', searchList: Yunqi.data.platformList},
|
|
|
{field: 'shops.name',title: __('店铺'),operate:'LIKE'},
|
|
|
- {field: 'variety.title', title: __('品种'),operate: false},
|
|
|
- {field: 'specs.title', title: __('规格'),operate: false},
|
|
|
- {field: 'num', title: __('数量'),operate: false},
|
|
|
+ {field: 'variety.title', title: __('品种'),operate: 'LIKE'},
|
|
|
+ {field: 'specs.title', title: __('规格'),operate: 'LIKE'},
|
|
|
+ {field: 'num', title: __('数量'),operate: '='},
|
|
|
{field: 'weigh', title: __('重量'),operate: false},
|
|
|
{field: 'price', title: __('发货价'),operate: false},
|
|
|
{field: 'total_price', title: __('总价'),operate: false},
|
|
|
- {field: 'settlement_data', title: __('结算时间'), width:160,formatter: Yunqi.formatter.datetime,operate:false,sortable: true},
|
|
|
- {field: 'status', title: __('结算状态'),width:120,searchList: {1: __('待结算'),2: __('已结算'), 3: __('驳回')},formatter:Yunqi.formatter.switch},
|
|
|
+ {field: 'ship_date', title: __('录入时间'), width:120, operate:"date" },
|
|
|
+ {field: 'settlement_data', title: __('结算时间'),width: 120,operate:'date', formatter(value, row, index) {
|
|
|
+ if(value ==0) return "-";
|
|
|
+ return value;
|
|
|
+ }},
|
|
|
+ {field: 'status', title: __('结算状态'), operate: 'select', width:120,searchList: {1: __('待结算'),2: __('已结算')},formatter:Yunqi.formatter.tag},
|
|
|
{field: 'createtime', title: __('创建时间'), width:160,formatter: Yunqi.formatter.datetime,operate:false,sortable: true},
|
|
|
- {field: 'user.nickname', title: __('录入人'),operate: 'LIKE'},
|
|
|
-
|
|
|
+ {field: 'user.nickname', title: __('录入人'),operate: false},
|
|
|
],
|
|
|
totalArr: [
|
|
|
|
|
|
@@ -64,6 +82,37 @@
|
|
|
value: data.total_price
|
|
|
},
|
|
|
]
|
|
|
+ },
|
|
|
+ createAddon() {
|
|
|
+
|
|
|
+ let ids=[];
|
|
|
+ let checks = this.$refs.yuntable.selections;
|
|
|
+ for (var key in Object(checks)) {
|
|
|
+ ids.push(checks[key]['id'])
|
|
|
+ }
|
|
|
+ if(ids.length == 0){
|
|
|
+ this.$message({type: 'error', message: '请选择要结算的记录'});
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$confirm('一旦结算将不可撤回', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then((res) => {
|
|
|
+ Yunqi.ajax.post('shop/shop_delivery/settlement', {ids: ids }, false, false, true).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success(__('结算成功'));
|
|
|
+ this.$refs.yuntable.reload();
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({ type: 'info', message: '已取消结算'});
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
|