diff --git a/src/pages/Middle/transport/Custom/Custom/Detail.vue b/src/pages/Middle/transport/Custom/Custom/Detail.vue index 966b295..1cf63c4 100644 --- a/src/pages/Middle/transport/Custom/Custom/Detail.vue +++ b/src/pages/Middle/transport/Custom/Custom/Detail.vue @@ -80,7 +80,31 @@ + +
+

销售记录

+ + + + + +
+ + + + +
+ +

@@ -125,14 +149,15 @@ export default { }, data() { - return { - + const listFieldName = 'train_number'; + var pageData = { BalanceAdd: `${BASE_URL.BASE_URL}/Custom/v1/balance/add`, // 增加客户结余 BalanceReduce: `${BASE_URL.BASE_URL}/Custom/v1/balance/reduce`, // 减少客户结余 BalanceLogList: `${BASE_URL.BASE_URL}/Custom/v1/balance/log/list`, // 客户结余日志列表 BalanceLogSearch: `${BASE_URL.BASE_URL}/Custom/v1/balance/log/search`, // 客户结余日志搜索 BalanceLogDetail: `${BASE_URL.BASE_URL}/Custom/v1/balance/log/detail`, // 客户结余日志详情 BalanceLogDelete: `${BASE_URL.BASE_URL}/Custom/v1/balance/log/detele`, // 删除客户结余日志 BalanceLogBatchDelete: `${BASE_URL.BASE_URL}/Custom/v1/balance/log/batchDelete`, // 批量删除客户结余日志 + getTradeLIst:`${BASE_URL.BASE_URL}/Custom/v1/custom/trade/list`, zkSelectData: { page: 1, end_time: 0, @@ -175,7 +200,118 @@ export default { data: { }, + start_time: 0, // 开始时间 + end_time: 0, // 结束时间 + //搜索区 + searchFormData: {}, + searchFormItems: [ // 子项 + {span: 8, slots: {default: 'date'}}, // 自定义列 + { + align: 'right', span: 8, itemRender: { // 按钮列 + name: '$buttons', children: [{props: {type: 'submit', content: '搜索', status: 'primary'}}, // 搜索按钮 + {props: {type: 'reset', content: '重置'}}, + {props: {type: 'reset', content: '打印'}} + ] + } + } + ], + //数据区 + gridOptions: { // 表格配置 + height: '100%', // 表格高度 100% 会自动撑满父容器 + stripe: true, // 启用斑马纹 + id: 'datagrid_1', // 表格唯一标识 + + // 接口获取数据 + proxyConfig: { // 配置代理 + sort: true, // 启用排序代理,当点击排序时会自动触发 query 行为 + filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为 + props: { + result: listFieldName, // 配置响应结果列表字段 + total: 'total' // 配置响应结果总页数字段 + }, + + // 接收Promise + ajax: { + // 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发 + query: (options) => { // options 为当前表格的配置项 + const {page,sorts} = options; // 获取当前页码、每页条数、排序信息 + var params = {}; // 定义请求参数 + params.page = page.currentPage; // 当前页码 + params.limit = page.pageSize; // 每页条数 + params.order_bys = []; // 排序信息 + params.search_rules = this.getSearchParms(); // 搜索信息 + if (sorts) { // 如果有排序信息 + sorts.forEach((v) => { // 遍历排序信息 + params.order_bys.push({ // 添加排序信息 + column: v.property, // 字段名 + order: v.order // 排序方式 + }) + }); + } + return this.loadData({params}); // 返回请求结果 + } + } + }, + + + // 表格列配置 + columns: [ + { type: 'checkbox', width: 50 }, // 多选框 + { type: 'seq', width: 40 }, // 序号 + + + // =============================== 表格列 自动生成 Start =============================== + + + { field: 'code', align: 'center', sortable: true, title: '车次单号', width: 120 }, // 车次单号 + { + field: 'truck_id', align: 'center', sortable: true, title: '车辆', width: 150, + slots: { default: 'truck_id' } + }, // 车辆id + { + field: 'driver_id', align: 'center', sortable: true, title: '司机', width: 150, + slots: { default: 'driver_id' } + }, // 司机id + // {field: 'custom_id', sortable: true, title: '客户id', width: 250}, // 客户id + { field: 'custom_name', align: 'center', sortable: true, title: '客户名称', width: 200 }, // 客户名称 + // {field: 'supplier_id', sortable: true, title: '供应商id', width: 250}, // 供应商id + { field: 'supplier_name', align: 'center', sortable: true, title: '供应商名称', width: 200 }, // 客户名称 + { field: 'outbound_date', align: 'center', sortable: true, formatter: 'formatDate', title: '出车日期', width: 100 }, // 出车日期 + { field: 'return_date', align: 'center', sortable: true, formatter: 'formatDate', title: '回车日期', width: 100 }, // 回车日期 + { + field: 'is_oil', align: 'center', sortable: true, title: '加油', width: 70, + slots: { default: 'is_oil' } + }, // 是否加油 + + // { + // field: 'create_time', + // formatter: 'formatDate', + // width: 100, + // sortable: true, + // title: '创建时间', + // showHeaderOverflow: true + // }, // 创建时间 + + { field: 'outbound_mileage', align: 'center', sortable: true, title: '出车公里数', width: 120 }, // 出车公里数 + { field: 'outbound_remark', align: 'center', sortable: true, title: '出车备注', width: 250 }, // 出车备注 + { + field: 'income', sortable: true, title: '收入', width: 80, fixed: 'right', + align: 'center', + }, // 收入 + { + field: 'cost', sortable: true, title: '成本', width: 80, fixed: 'right', + align: 'center', + }, // 成本 + { + field: 'profit', sortable: true, title: '利润', width: 80, fixed: 'right', + align: 'center', + }, // 利润 + ] + } } + pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据 + return pageData; + }, created() { this.initDetailData(); @@ -240,7 +376,54 @@ export default { reduceBalance() { this.reduceBalanceApi(); }, + // 修改日期 + onDateChange(date) { // 日期选择器事件 + if (date && date.length) { // 如果有值 + this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳 + this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳 + } else { // 如果没有值 + this.start_time = 0; // 将日期转换为时间戳 + this.end_time = 0; // 将日期转换为时间戳 + } + }, + // 搜索 + onSearch() { + this.$refs.xGrid.commitProxy('query') // 提交搜索 + }, + // 获取搜索参数 + getSearchParms() { // 获取搜索参数 + var rules = []; // 定义搜索参数 + let findMode = k => { // 查找搜索模式 + for (let i in this.searchRules) { // 遍历搜索规则 + if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式 + } + return "="; // 如果没有找到就返回等于 + }; + for (let key in this.searchFormData) { // 遍历搜索表单数据 + let value = this.searchFormData[key]; // 获取值 + if (value) { // 如果有值 + let mode = findMode(key); // 获取搜索模式 + if (mode == "like") { // 如果是模糊搜索 + value = "%" + value + "%"; // 如果是模糊搜索就在两边加上% + } + rules.push({ // 添加搜索参数 + column: key, // 字段名 + mode: mode, // 搜索模式 + value: value // 值 + }); + } + } + return rules; // 返回搜索参数 + }, + // 加载数据 + loadData({params}) { + params.id = Number(this.dataId); // 转换为数字 + params.last_time = Number(params.last_time) + params.start_time = this.start_time; // 开始时间 + params.end_time = this.end_time; // 结束时间 + return this.$mk.getPagedData({url: this.getTradeLIst, data: params}); // 获取分页数据 + }, addBalanceApi() { // 转换 this.amount 为数字 this.amount = Number(this.amount); diff --git a/src/pages/Middle/transport/DriverWages/DriverWages/List.vue b/src/pages/Middle/transport/DriverWages/DriverWages/List.vue index 4f1b8bd..7808c36 100644 --- a/src/pages/Middle/transport/DriverWages/DriverWages/List.vue +++ b/src/pages/Middle/transport/DriverWages/DriverWages/List.vue @@ -58,6 +58,9 @@ 发放工资

+ @@ -125,7 +128,7 @@ export default { keyName: 'id', // 主键字段名 - + total_wages:0, // 总工资 // 接口动作 actions: { // Api 接口地址 // =============================== 接口地址 自动生成 Start =============================== @@ -206,7 +209,8 @@ export default { filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为 props: { result: listFieldName, // 配置响应结果列表字段 - total: 'total' // 配置响应结果总页数字段 + total: 'total', // 配置响应结果总页数字段 + total_wages:'total_wages', // 配置响应结果总工资字段 }, // 接收Promise ajax: { @@ -360,6 +364,9 @@ export default { loadData({ params }) { params.start_time = this.start_time; // 开始时间 params.end_time = this.end_time; // 结束时间 + this.$mk.post({ url: this.actions.getList, data: params }).then(res=>{ + this.total_wages = res.data.total_wages; + }) return this.$mk.getPagedData({ url: this.actions.getList, data: params }); // 获取分页数据 }, @@ -469,8 +476,8 @@ export default { } }); }, - // 选择器改变 - StaffhandleChange(value) { + // 选择器改变 + StaffhandleChange(value) { this.$data.searchFormData.staff_uid = value.id; console.log("this.$data.searchFormData.driver_id:",this.$data.searchFormData.staff_uid); @@ -498,10 +505,15 @@ export default { } - \ No newline at end of file diff --git a/src/pages/Middle/transport/DriverWages/DriverWages/Total.vue b/src/pages/Middle/transport/DriverWages/DriverWages/Total.vue index e69de29..f20df3a 100644 --- a/src/pages/Middle/transport/DriverWages/DriverWages/Total.vue +++ b/src/pages/Middle/transport/DriverWages/DriverWages/Total.vue @@ -0,0 +1,449 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/Middle/transport/TrainNumber/TrainNumber/List.vue b/src/pages/Middle/transport/TrainNumber/TrainNumber/List.vue index 90292e9..f512677 100644 --- a/src/pages/Middle/transport/TrainNumber/TrainNumber/List.vue +++ b/src/pages/Middle/transport/TrainNumber/TrainNumber/List.vue @@ -296,7 +296,7 @@ export default { // {field: 'unit_price', sortable: true, title: '单价', width: 120}, // 单价 // {field: 'total_price', sortable: true, title: '总价', width: 120}, // 总价 { - field: 'is_outsourcing', align: 'center', sortable: true, title: '类型', width: 80, + field: 'is_outsourcing', align: 'center', sortable: true, title: '是否委外', width: 80, slots: { default: 'is_outsourcing' } }, // 是否委外 // {field: 'is_need_outbound', sortable: true, title: '出车', width: 70}, // 是否需要出车 diff --git a/src/router/Middle/transport/DriverWages/router.map.js b/src/router/Middle/transport/DriverWages/router.map.js index d5f5eac..7860674 100644 --- a/src/router/Middle/transport/DriverWages/router.map.js +++ b/src/router/Middle/transport/DriverWages/router.map.js @@ -70,7 +70,7 @@ const DriverWagesRouterMap = { icon: 'idcard', path: '/DriverWages/DriverWagesTotal', meta: { - invisible: true, // 不在菜单中显示 + invisible: false, // 不在菜单中显示 }, component: () => import('@/pages/Middle/transport/DriverWages/DriverWages/Total'), authority: {