| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <template>
- <el-card shadow="never">
-
- <yun-table
- :columns="columns"
- search="name,phone"
- toolbar="refresh,settlement"
- ref="yuntable"
- :auth="auth"
- :extend="extend"
- :show-summary="true"
- :total-arr="totalArr"
- :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>
- import table from "@components/Table.js";
- export default{
- components:{'YunTable':table},
- data:{
- checkedKey:[],
- auth:{
- recyclebin:Yunqi.auth.check('app\\admin\\controller\\shop\\ShopList','recyclebin'),
- },
- extend:{
- index_url: 'shop/shop_delivery/index',
- recyclebin_url: 'shop/shop_delivery/recyclebin',
- },
- columns:[
- {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: 'select', searchList: Yunqi.data.platformList},
- {field: 'shops.name',title: __('店铺'),operate:'LIKE'},
- {field: 'variety_name', title: __('品种'),operate: 'LIKE'},
- {field: 'spec_name', title: __('规格'),operate: 'LIKE'},
- {field: 'box_name', title: __('包装箱'),operate: 'LIKE'},
- {field: 'num', title: __('数量'),operate: '='},
- {field: 'weigh', title: __('重量'),operate: false},
- {field: 'price', title: __('发货价'),operate: false},
- {field: 'total_price', title: __('总价'),operate: false},
- {field: 'ship_date', title: __('录入时间'), width:120, operate:"date" },
- {field: 'settlement_data', title: __('结算时间'),width: 120,operate:'date'},
- {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: false},
- ],
- totalArr: [
-
- ],
- },
- methods: {
- handleData(data) {
- this.totalArr = [
- {
- name:"发货数量汇总",
- value: data.total_num
- },{
- name:"发货重量汇总",
- value: data.total_weigh
- },{
- name:"发货总价汇总",
- 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: '已取消结算'});
- });
-
- }
- },
-
- }
- </script>
- <style>
- </style>
|