diff --git a/src/api/model/pm.js b/src/api/model/pm.js index 86b4ebcd..0242b2a6 100644 --- a/src/api/model/pm.js +++ b/src/api/model/pm.js @@ -1,7 +1,7 @@ import config from "@/config" import http from "@/utils/request" export default { - // 仓库 + // 生产小任务 mtask: { list: { name: "生产任务列表", @@ -29,7 +29,7 @@ export default { } }, item: { - name: "获取仓库详情", + name: "获取详情", req: async function(id){ return await http.get( `${config.API_URL}/pm/mtask/${id}/` @@ -51,11 +51,98 @@ export default { `${config.API_URL}/pm/mtask/${id}/`); } }, - schedueOrderitem:{ - name: "物料批次", + daylist:{ + name: "获取指定车间指定日期的最后工序生产任务", req: async function(data){ return await http.post( - `${config.API_URL}/pm/mtask/schedue_from_orderitems/`, + `${config.API_URL}/pm/mtask/day/`, + data + ); + } + }, + submitSameDay:{ + name: "提交同一天的该部门下的所有兄弟小任务", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/mtask/submit_related_same_day/`, + data + ); + } + }, + }, + // 生产小任务 + utask: { + list: { + name: "生产任务列表", + req: async function(data){ + return await http.get( + `${config.API_URL}/pm/utask/`, + data + ); + } + }, + create: { + name: "创建", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/utask/`, + data); + } + }, + cquery: { + name: "复杂查询", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/utask/cquery/`, + data); + } + }, + item: { + name: "获取详情", + req: async function(id){ + return await http.get( + `${config.API_URL}/pm/utask/${id}/` + ); + } + }, + update: { + name: "更新", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/pm/utask/${id}/`, + data); + } + }, + delete: { + name: "删除", + req: async function(id){ + return await http.delete( + `${config.API_URL}/pm/utask/${id}/`); + } + }, + assgin:{ + name: "下达任务", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/utask/assgin/`, + data + ); + } + }, + scheduemtasks:{ + name: "下达任务", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/utask/schedue_mtasks/`, + data + ); + } + }, + schedueutasks:{ + name: "从多个订单明细生成大任务", + req: async function(data){ + return await http.post( + `${config.API_URL}/pm/utask/schedue_utasks/`, data ); } diff --git a/src/api/model/system.js b/src/api/model/system.js index 399c9263..52c97681 100644 --- a/src/api/model/system.js +++ b/src/api/model/system.js @@ -1,5 +1,10 @@ import config from "@/config" import http from "@/utils/request" +import data from './../../../src/utils/baseJson'; +const baseInFo = data[data.current]; + +console.log(data); +// console.log(baseInFo); export default { config:{ @@ -7,7 +12,7 @@ export default { url: `${config.API_URL}/system/base_config/`, name: "账户信息", req: async function(){ - return await http.get(this.url); + return baseInFo } }, }, diff --git a/src/config/route.js b/src/config/route.js index fb78c6d2..16fc15ad 100644 --- a/src/config/route.js +++ b/src/config/route.js @@ -6,7 +6,7 @@ const routes = [ //工作台 { "name": "workSpace", - "path": "/workSpace", + "path": "/", "meta": { "title": "工作台", "icon": "el-icon-home-filled", @@ -17,7 +17,7 @@ const routes = [ //首页 { "name": "home", - "path": "/home", + "path": "/", "meta": { "title": "首页", "icon": "el-icon-home-filled", @@ -27,7 +27,7 @@ const routes = [ "children": [ { "name": "dashboard", - "path": "/dashboard", + "path": "/", "meta": { "title": "控制台", "icon": "el-icon-monitor", diff --git a/src/utils/baseJson.json b/src/utils/baseJson.json new file mode 100644 index 00000000..5f092b79 --- /dev/null +++ b/src/utils/baseJson.json @@ -0,0 +1,24 @@ +{ + "current": "gz", + "tkx":{ + "base": { + "base_name": "托克逊能化绿色建材厂能源管理平台", + "base_logo": "/media/default/logo.png", + "base_name_short": "托克逊能管", + "base_logo_side": "/media/default/logo_side.jpg" + }, + "apk": { + "apk_version": "1.01.44", + "apk_file": "/media/default/zc_ehs.apk", + "apk_remark": "修复了部分错误" + } + }, + "gz":{ + "base": { + "base_name": "中建材光子科技有限公司", + "base_logo": "/media/default/gz_logo.png", + "base_name_short": "光子科技", + "base_logo_side": "/media/default/logo_side.jpg" + } + } +} \ No newline at end of file diff --git a/src/utils/exportExcel.js b/src/utils/exportExcel.js new file mode 100644 index 00000000..23bcbae0 --- /dev/null +++ b/src/utils/exportExcel.js @@ -0,0 +1,44 @@ +import * as XLSX from 'xlsx'; +/** + * eg: .columns = [ + * { header: 'Id', key: 'id', wpx: 10 }, + * { header: 'Name', key: 'name', wch: 32 }, + * { header: 'D.O.B.', key: 'dob', width: 10, hidden: true } + * ] + * data: [{id: 1, name: 'John Doe', dob: new Date(1970,1,1)}] + * @param columns 定义列属性数组 + * @param data 数据 + * @param name 文件名 + */ +export const generateExcel = (columns = [], data = [], name = '') => { + const headers = columns.map((item) => item.header); + const otherConfigs = columns.map(({ key, header, ...item }) => item); + const dataList = data.map((item) => { + let obj = {}; + columns.forEach((col) => { + obj[col.header] = item[col.key]; + }); + return obj; + }); + const workbook = XLSX.utils.book_new(); + workbook.SheetNames.push(name); + const worksheet = XLSX.utils.json_to_sheet(dataList, { + header: headers, + }); + worksheet['!cols'] = otherConfigs; + workbook.Sheets[name] = worksheet; + // 生成Blob数据 + const excelData = XLSX.write(workbook, { type: 'array', bookType: 'xlsx' }); + const blobData = new Blob([excelData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); + // 创建Blob URL + const blobUrl = URL.createObjectURL(blobData); + // 创建一个隐藏的标签并设置href属性为Blob URL + const link = document.createElement('a'); + link.href = blobUrl; + link.target = '_blank'; + link.download = `${name}.xlsx`; + // 触发点击操作,开始下载文件 + link.click(); + // 释放Blob URL + URL.revokeObjectURL(blobUrl); +}; \ No newline at end of file diff --git a/src/views/pm/mtask2.vue b/src/views/pm/mtask2.vue index 40c3aada..9031b20a 100644 --- a/src/views/pm/mtask2.vue +++ b/src/views/pm/mtask2.vue @@ -124,7 +124,7 @@ export default { apiMtask: this.$API.pm.mtask.list, apiOrderItem: this.$API.sam.orderitem.list, paramsOrderItem: { utask__isnull: true }, - paramsMtask: { parent__isnull: true, mgroup__belong_dept__name: '6车间', material_out__is_hidden: false }, + paramsMtask: { parent__isnull: true, mgroup__belong_dept__name: '6车间', material_out__is_hidden: true }, query: { page: 1, page_size: 20, diff --git a/src/views/wpm/flog_form.vue b/src/views/wpm/flog_form.vue index ceaa1409..5d8989fb 100644 --- a/src/views/wpm/flog_form.vue +++ b/src/views/wpm/flog_form.vue @@ -24,9 +24,10 @@ - + @@ -89,7 +90,8 @@ import { index } from 'd3'; export default { emits: ["success", "closed"], props:{ - puPlan: { type: String, default: '' }, + mtask: { type: String, default: '' }, + materialId: { type: String, default: '' }, }, data() { return { @@ -103,6 +105,7 @@ import { index } from 'd3'; form:{}, addTemplate: { process: '', + processName: '', count_use:1, count_ok: 1, count_no1: 1, @@ -110,19 +113,9 @@ import { index } from 'd3'; count_no3: 1, handle_user:'', user_name:'', + change:true }, - formList: [ - { - process: '', - count_use:1, - count_ok: 1, - count_no1: 1, - count_no2: 1, - count_no3: 1, - handle_user:'', - user_name:'', - } - ], + formList: [], material:'', visible: false, isSaveing: false, @@ -133,9 +126,28 @@ import { index } from 'd3'; }, mounted() { this.getProcess(); - // this.getList(); + this.getFormList(); }, methods: { + getFormList(){ + this.$API.mtm.route.list.req({page:0,material:this.materialId}).then((res) => { + res.forEach(item=>{ + let obj = { + process: item.process, + processName: item.process_name, + count_use:1, + count_ok: 1, + count_no1: 0, + count_no2: 0, + count_no3: 0, + handle_user:'', + user_name:'', + change:false + } + this.formList.push(obj) + }) + }) + }, //获取工序列表 getProcess(){ var res = this.$API.mtm.process.list.req({page:0}).then(res=>{ @@ -145,6 +157,7 @@ import { index } from 'd3'; pushRow(){ let obj = { process: '', + processName:"", count_use:1, count_ok: 1, count_no1: 1, @@ -152,6 +165,7 @@ import { index } from 'd3'; count_no3: 1, handle_user:'', user_name:'', + change:true } this.formList.push(obj); }, diff --git a/src/views/wpm/task2flog_form.vue b/src/views/wpm/task2flog_form.vue index 6ae4d7c6..58cb18ef 100644 --- a/src/views/wpm/task2flog_form.vue +++ b/src/views/wpm/task2flog_form.vue @@ -56,8 +56,8 @@ - - + + @@ -92,6 +92,7 @@ import { index } from 'd3'; isSaveing: false, setFiltersVisible: false, handle_name:'', + leader_name:'' }; }, mounted() { @@ -101,6 +102,10 @@ import { index } from 'd3'; this.form.handle_user=data.id; this.handle_name=data.name }, + getLeader(data){ + this.form.leader_user=data.id; + this.leader_name=data.name + }, //显示 open(mode = "add") { this.mode = mode; diff --git a/src/views/wpm/worktask.vue b/src/views/wpm/worktask.vue index 98930529..2aa8a3a0 100644 --- a/src/views/wpm/worktask.vue +++ b/src/views/wpm/worktask.vue @@ -10,6 +10,7 @@ stripe :height="topHeight" :params="query" + hidePagination > @@ -220,11 +221,12 @@ export default { dialog: { save: false, }, - apiObj: this.$API.pm.mtask.list, + apiObj: this.$API.pm.mtask.daylist, query: { page:1, page_size:20, - date:'' + belong_dept_name:'6车间', + date:'2023-10-20' }, activeName:'first', tableData: [], diff --git a/src/views/wpm/worktask2.vue b/src/views/wpm/worktask2.vue index 9947c88c..c46bd948 100644 --- a/src/views/wpm/worktask2.vue +++ b/src/views/wpm/worktask2.vue @@ -1,10 +1,9 @@