diff --git a/src/api/base/groupClasses.js b/src/api/base/groupClasses.js index bfc626b7..c512d06a 100644 --- a/src/api/base/groupClasses.js +++ b/src/api/base/groupClasses.js @@ -51,6 +51,13 @@ export function getCode() { }) } +// 获得可用的班次列表 +export function listClassesEnabled() { + return request({ + url: '/base/group-classes/listEnable', + method: 'get' + }) +} // 导出班次基础信息 Excel export function exportGroupClassesExcel(query) { return request({ diff --git a/src/api/base/groupSchedulingPlan.js b/src/api/base/groupSchedulingPlan.js new file mode 100644 index 00000000..44743f1b --- /dev/null +++ b/src/api/base/groupSchedulingPlan.js @@ -0,0 +1,125 @@ +import request from '@/utils/request' + +// 创建排班计划配置基础信息 +export function createGroupPlan(data) { + return request({ + url: '/base/group-scheduling-plan/create', + method: 'post', + data: data + }) +} + +// 更新排班计划配置基础信息 +export function updateGroupPlan(data) { + return request({ + url: '/base/group-scheduling-plan/update', + method: 'put', + data: data + }) +} + +// 删除排班计划配置基础信息 +export function deleteGroupPlan(id) { + return request({ + url: '/base/group-scheduling-plan/delete?id=' + id, + method: 'delete' + }) +} + +// 获得排班计划配置基础信息 +export function getGroupPlan(id) { + return request({ + url: '/base/group-scheduling-plan/get?id=' + id, + method: 'get' + }) +} + +// 获得排班计划配置基础信息分页 +export function getGroupPlanPage(query) { + return request({ + url: '/base/group-scheduling-plan/page', + method: 'get', + params: query + }) +} + +// 获得所有排班计划列表 +export function groupPlanList() { + return request({ + url: '/base/group-scheduling-plan/listAll', + method: 'get' + }) +} +// 获得排班计划相关班组列表 +export function groupPlanTeamList(id) { + return request({ + url: '/base/group-scheduling-plan-team/teamListByPlanId?planId=' + id, + method: 'get' + }) +} +// 获得排班计划相关班次列表 +export function groupPlanClassesList(id) { + return request({ + url: '/base/group-scheduling-plan-classes/classesListByPlanId?planId=' + id, + method: 'get' + }) +} +// 获取code +export function getCode() { + return request({ + url: '/base/group-scheduling-plan/getCode', + method: 'get' + }) +} + +// 导出排班计划配置基础信息 Excel +export function exportGroupPlanExcel(query) { + return request({ + url: '/base/group-scheduling-plan/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +// 获得产线工段树形结构 +export function getGroupPlanTree() { + return request({ + url: '/base/group-scheduling-plan/getLineSectionTree', + method: 'get' + }) +} + +// 创建排班计划产线工段 +export function createGroupPlanLine(data) { + return request({ + url: '/base/group-scheduling-plan-line-section/createPlanLineSection', + method: 'post', + data: data + }) +} + +// 更新排班计划产线工段 +export function updateGroupPlanLine(data) { + return request({ + url: '/base/group-scheduling-plan-line-section/updatePlanLineSection', + method: 'put', + data: data + }) +} + +// 获得排班计划配置基础信息 +export function getGroupPlanLine(id) { + return request({ + url: '/base/group-scheduling-plan-line-section/getLineSectionByPlanId?planId=' + id, + method: 'get' + }) +} + +// 获得当前登录用户所在部门id +export function getLoginUserDeptId() { + return request({ + url: '/base/group-scheduling-plan-line-section/getLoginUserDeptId', + method: 'get' + }) +} diff --git a/src/api/base/groupSchedulingRule.js b/src/api/base/groupSchedulingRule.js new file mode 100644 index 00000000..9beec6cf --- /dev/null +++ b/src/api/base/groupSchedulingRule.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 创建排班规则基础信息 +export function createGroupRule(data) { + return request({ + url: '/base/group-scheduling-rule/create', + method: 'post', + data: data + }) +} +// 作废排班规则 +export function disableGroupRule(id) { + return request({ + url: '/base/group-scheduling-rule/disable?id=' + id, + method: 'post', + }) +} +// 更新排班规则基础信息 +export function updateGroupRule(data) { + return request({ + url: '/base/group-scheduling-rule/update', + method: 'put', + data: data + }) +} + +// 删除排班规则基础信息 +export function deleteGroupRule(id) { + return request({ + url: '/base/group-scheduling-rule/delete?id=' + id, + method: 'delete' + }) +} + +// 获得排班规则基础信息 +export function getGroupRule(id) { + return request({ + url: '/base/group-scheduling-rule/get?id=' + id, + method: 'get' + }) +} + +// 获得排班规则基础信息分页 +export function getGroupRulePage(query) { + return request({ + url: '/base/group-scheduling-rule/page', + method: 'get', + params: query + }) +} + +// 导出排班规则基础信息 Excel +export function exportGroupRuleExcel(query) { + return request({ + url: '/base/group-scheduling-rule/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/api/base/groupTeam.js b/src/api/base/groupTeam.js index 04a3ca19..32d752aa 100644 --- a/src/api/base/groupTeam.js +++ b/src/api/base/groupTeam.js @@ -58,3 +58,49 @@ export function listEnabled() { method: 'get' }) } + +// 获得班组组员信息分页 +export function groupTeamPage(query) { + return request({ + url: '/base/group-team-det/page', + method: 'get', + params: query + }) +} + +// 获得班组组员信息 +export function groupTeamDet(query) { + return request({ + url: '/base/group-team-det/get', + method: 'get', + params: query + }) +} + + +// 创建班组组员信息 +export function teamDetCreate(data) { + return request({ + url: '/base/group-team-det/create', + method: 'post', + data: data + }) +} + +// 更新班组组员信息 +export function teamDetUpdate(data) { + return request({ + url: '/base/group-team-det/update', + method: 'put', + data: data + }) +} + +// 删除班组组员信息 +export function teamDetDelete(query) { + return request({ + url: '/base/group-team-det/delete', + method: 'delete', + params: query + }) +} diff --git a/src/api/base/groupTeamScheduling.js b/src/api/base/groupTeamScheduling.js index 95e38dd6..9f70431e 100644 --- a/src/api/base/groupTeamScheduling.js +++ b/src/api/base/groupTeamScheduling.js @@ -8,7 +8,14 @@ export function getPreset(query) { params: query }) } - +// 获取某月预排班 +export function getScheduling(query) { + return request({ + url: '/base/group-team-scheduling/getScheduling', + method: 'get', + params: query + }) +} // 批量创建-更新排班信息 export function createOrUpdateList(data) { return request({ @@ -25,4 +32,13 @@ export function autoSet(query) { method: 'get', params: query }) -} \ No newline at end of file +} + +// 获得排班信息分页 +export function schedulingPage(query) { + return request({ + url: '/base/group-team-scheduling/page', + method: 'get', + params: query + }) +} diff --git a/src/api/base/worker.js b/src/api/base/worker.js new file mode 100644 index 00000000..67ad7268 --- /dev/null +++ b/src/api/base/worker.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' +// 获得所有员工列表 +export function getWorkerList() { + return request({ + url: '/base/core-worker/listAll', + method: 'get' + }) +} + +// 获得员工 +export function getWorker(query) { + return request({ + url: '/base/core-worker/get', + method: 'get', + params: query + }) +} + +// 获得该班组其他可选组员列表(除去现有组员) +export function otherWorkerList(query) { + return request({ + url: '/base/group-team-det/otherWorkerList', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/src/api/core/monitoring/auto.js b/src/api/core/monitoring/auto.js index 11de1094..5b3747f9 100644 --- a/src/api/core/monitoring/auto.js +++ b/src/api/core/monitoring/auto.js @@ -40,3 +40,20 @@ export function getProductAuto(data) { data: data }) } + +// 班组自动报表分页 +export function getTeamReportPage(query) { + return request({ + url: '/monitoring/team-auto-report/page', + method: 'get', + params: query + }) +} + +// 班组自动报表分页详细 +export function getTeamReportPageDet(id) { + return request({ + url: '/monitoring/team-auto-report/pageDet?id=' + id, + method: 'get', + }) +} diff --git a/src/mixins/tableHeightMixin.js b/src/mixins/tableHeightMixin.js new file mode 100644 index 00000000..ad23d16e --- /dev/null +++ b/src/mixins/tableHeightMixin.js @@ -0,0 +1,20 @@ +export default { + data() { + return { + tableH: this.tableHeight(260), + }; + }, + created() { + this.tableH = this?.heightNum ? this.tableHeight(this.heightNum) : this.tableHeight(260); + window.addEventListener('resize', this._setTableHeight); + }, + destroyed() { + window.removeEventListener('resize', this._setTableHeight); + }, + methods: { + _setTableHeight() { + this.tableH = this?.heightNum ? this.tableHeight(this.heightNum) : this.tableHeight(260); + // this.tableH = this.tableHeight(260); + }, + }, +}; diff --git a/src/views/base/equipmentBindSection/index.vue b/src/views/base/equipmentBindSection/index.vue index a86d8eaf..4217cdfb 100644 --- a/src/views/base/equipmentBindSection/index.vue +++ b/src/views/base/equipmentBindSection/index.vue @@ -4,7 +4,8 @@ + @select-changed="handleSearchBarChanged" + @headBtnClick="buttonClick" /> moment(val).format('yyyy-MM-DD HH:mm:ss'), }, - { prop: 'productionLine', label: '产线名称' }, - { prop: 'workshopSection', label: '工段名称' }, + { prop: 'factoryName', label: '工厂' }, + { prop: 'productionLine', label: '产线' }, + { prop: 'workshopSection', label: '工段' }, { prop: 'equipment', label: '设备名称' }, { prop: 'sort', label: '工段中排序' }, { @@ -129,6 +133,20 @@ export default { // }, ], searchBarFormConfig: [ + { + type: 'select', + label: '工厂', + selectOptions: [], + param: 'factoryId', + onchange: true, + }, + { + type: 'select', + label: '产线', + selectOptions: [], + param: 'productionLineId', + multiple: true, + }, { type: 'select', label: '工段', @@ -235,6 +253,8 @@ export default { pageSize: 10, workshopSectionId: null, equipmentId: null, + factoryId: null, + productionLineId: [], }, // 表单参数 form: {}, @@ -243,6 +263,7 @@ export default { created() { this.getList(); this.initWorksection(); + this.getPdLineList(); }, methods: { /** 准备工段数据 */ @@ -252,7 +273,7 @@ export default { method: 'get', }); if (code == 0) { - this.searchBarFormConfig[0].selectOptions = data.map((item) => { + this.searchBarFormConfig[2].selectOptions = data.map((item) => { return { name: item.name, id: item.id, @@ -260,6 +281,51 @@ export default { }); } }, + getPdLineList() { + getPdList().then((res) => { + this.searchBarFormConfig[1].selectOptions = res.data || []; + }); + const params = { + pageSize: 100, + pageNo: 1, + }; + getFactoryPage(params).then((res) => { + this.searchBarFormConfig[0].selectOptions = res.data.list || []; + }); + }, + handleSearchBarChanged({ param, value }) { + this.queryParams.productionLineId = []; + this.$refs['search-bar'].formInline.productionLineId = undefined; + getPdList(value).then((res) => { + this.searchBarFormConfig[1].selectOptions = res.data || []; + }); + }, + buttonClick(val) { + switch (val.btnName) { + case 'search': + this.queryParams.pageNo = 1; + this.queryParams.pageSize = 10; + this.queryParams.name = val.name; + this.queryParams.workshopSectionId = val.workshopSectionId || undefined; + this.queryParams.equipmentId = val.equipmentId || undefined; + this.queryParams.factoryId = val.factoryId || undefined; + this.queryParams.productionLineId = val.productionLineId || []; + this.handleQuery(); + break; + case 'add': + this.handleAdd(); + break; + case 'export': + this.handleExport(); + break; + case 'reset': + this.$refs['search-bar'].resetForm(); + this.resetQuery(); + break; + default: + console.log(val); + } + }, /** 查询列表 */ getList() { this.loading = true; diff --git a/src/views/core/base/lineBindProcessLog/index.vue b/src/views/core/base/lineBindProcessLog/index.vue index 778638df..b4465be7 100644 --- a/src/views/core/base/lineBindProcessLog/index.vue +++ b/src/views/core/base/lineBindProcessLog/index.vue @@ -3,6 +3,7 @@ { + this.formConfig[1].selectOptions = res.data || []; + }); + }, getArr() { const params = { page: 1, @@ -115,7 +138,8 @@ export default { case 'search': this.listQuery.pageNo = 1; this.listQuery.pageSize = 10; - this.listQuery.productionLineId = val.productionLineId; + this.listQuery.factoryId = val.factoryId || undefined; + this.listQuery.productionLineId = val.productionLineId || []; this.listQuery.processDict = val.processDict; this.listQuery.recordTime = val.startTime ? [val.startTime[0], val.startTime[1].substr(0, 10) + ' 23:59:59'] diff --git a/src/views/core/base/lineBindProductLog/index.vue b/src/views/core/base/lineBindProductLog/index.vue index 14547b11..e92393c4 100644 --- a/src/views/core/base/lineBindProductLog/index.vue +++ b/src/views/core/base/lineBindProductLog/index.vue @@ -3,6 +3,7 @@ { + this.formConfig[1].selectOptions = res.data || []; + }); + }, getArr() { const params = { page: 1, @@ -120,7 +143,8 @@ export default { case 'search': this.listQuery.pageNo = 1; this.listQuery.pageSize = 10; - this.listQuery.productionLineId = val.productionLineId; + this.listQuery.factoryId = val.factoryId || undefined; + this.listQuery.productionLineId = val.productionLineId || []; this.listQuery.productId = val.productId; this.listQuery.startTime = val.startTime ? val.startTime : null; this.getDataList(); diff --git a/src/views/core/base/workshopSection/index.vue b/src/views/core/base/workshopSection/index.vue index 7bc1514f..32e741fd 100644 --- a/src/views/core/base/workshopSection/index.vue +++ b/src/views/core/base/workshopSection/index.vue @@ -3,6 +3,7 @@ v), + listQuery: { + lineId: [], + }, tableData: [], formConfig: [ + { + type: 'select', + label: '工厂', + selectOptions: [], + param: 'factoryId', + onchange: true, + }, + { + type: 'select', + label: '产线', + selectOptions: [], + param: 'lineId', + multiple: true, + }, { type: 'input', label: '工段名称', @@ -146,14 +170,37 @@ export default { components: { AddOrUpdate, }, - created() {}, + created() { + this.getPdLineList(); + }, methods: { + getPdLineList() { + getPdList().then((res) => { + this.formConfig[1].selectOptions = res.data || []; + }); + const params = { + pageSize: 100, + pageNo: 1, + }; + getFactoryPage(params).then((res) => { + this.formConfig[0].selectOptions = res.data.list || []; + }); + }, + handleSearchBarChanged({ param, value }) { + this.listQuery.lineId = []; + this.$refs.searchBarForm.formInline.lineId = undefined; + getPdList(value).then((res) => { + this.formConfig[1].selectOptions = res.data || []; + }); + }, buttonClick(val) { switch (val.btnName) { case 'search': this.listQuery.pageNo = 1; this.listQuery.pageSize = 10; this.listQuery.name = val.name; + this.listQuery.factoryId = val.factoryId || undefined; + this.listQuery.lineId = val.lineId || []; this.getDataList(); break; case 'reset': diff --git a/src/views/core/monitoring/lineAuto/index.vue b/src/views/core/monitoring/lineAuto/index.vue index b9ec39ff..95c64548 100644 --- a/src/views/core/monitoring/lineAuto/index.vue +++ b/src/views/core/monitoring/lineAuto/index.vue @@ -1,7 +1,7 @@ @@ -30,7 +30,7 @@ diff --git a/src/views/group/base/groupClasses/components/statusBtn.vue b/src/views/group/base/groupClasses/components/statusBtn.vue new file mode 100644 index 00000000..020d2aa2 --- /dev/null +++ b/src/views/group/base/groupClasses/components/statusBtn.vue @@ -0,0 +1,53 @@ + + + + + + diff --git a/src/views/group/base/groupClasses/index.vue b/src/views/group/base/groupClasses/index.vue index 09a52985..26839d7e 100644 --- a/src/views/group/base/groupClasses/index.vue +++ b/src/views/group/base/groupClasses/index.vue @@ -1,260 +1,289 @@ + - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/views/group/base/groupReport/baseTable.vue b/src/views/group/base/groupReport/baseTable.vue new file mode 100644 index 00000000..4b292da6 --- /dev/null +++ b/src/views/group/base/groupReport/baseTable.vue @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + {{ item.label }} + + + + + + + + + + {{ sscopeInner.row[ssub.prop] | commonFilter(ssub.filter) }} + + + + + + + + {{ scopeInner.row[sub.prop] | commonFilter(sub.filter) }} + + + + + + + + {{ scope.row[item.prop] | commonFilter(item.filter) }} + + + + + + + + {{ addButtonShow }} + + + + + + + diff --git a/src/views/group/base/groupReport/gr-detail.vue b/src/views/group/base/groupReport/gr-detail.vue new file mode 100644 index 00000000..2dfb0ee7 --- /dev/null +++ b/src/views/group/base/groupReport/gr-detail.vue @@ -0,0 +1,262 @@ + + + + + + + + + + + + + {{ + scope.row.inputArea != null + ? scope.row.inputArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.outputArea != null + ? scope.row.outputArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.lossArea != null + ? scope.row.lossArea.toFixed(2) + : '-' + }} + + + + + + + + {{ + scope.row.lossRatio != null + ? scope.row.lossRatio.toFixed(2) + : '-' + }} + + + + + + + {{ + scope.row.outputRatio != null + ? scope.row.outputRatio.toFixed(2) + : '-' + }} + + + + + + + {{ + scope.row.processingRatio != null + ? scope.row.processingRatio.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.originalLossArea != null + ? scope.row.originalLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.edgeLossArea != null + ? scope.row.edgeLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.drillLossArea != null + ? scope.row.drillLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.coatingLossArea != null + ? scope.row.coatingLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.silkLossArea != null + ? scope.row.silkLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.temperingLossArea != null + ? scope.row.temperingLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + {{ + scope.row.packingLossArea != null + ? scope.row.packingLossArea.toFixed(2) + : '-' + }} + + + + + + + + + + diff --git a/src/views/group/base/groupReport/index.vue b/src/views/group/base/groupReport/index.vue new file mode 100644 index 00000000..1dc11ab2 --- /dev/null +++ b/src/views/group/base/groupReport/index.vue @@ -0,0 +1,510 @@ + + + + + + + + + + + + + + + + 取消 + + + + + + + + + diff --git a/src/views/group/base/groupTeam/components/groupTeamAdd.vue b/src/views/group/base/groupTeam/components/groupTeamAdd.vue index aaffb276..375fff65 100644 --- a/src/views/group/base/groupTeam/components/groupTeamAdd.vue +++ b/src/views/group/base/groupTeam/components/groupTeamAdd.vue @@ -1,96 +1,144 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/group/base/groupTeam/components/statusBtn.vue b/src/views/group/base/groupTeam/components/statusBtn.vue index 4e67eef7..c1b67a12 100644 --- a/src/views/group/base/groupTeam/components/statusBtn.vue +++ b/src/views/group/base/groupTeam/components/statusBtn.vue @@ -1,3 +1,10 @@ + @@ -12,8 +19,7 @@ export default { }, data() { return { - state: false, - payload: {} + state: false } }, computed: { @@ -31,9 +37,17 @@ export default { } }, changeHandler() { - this.payload.id = this.injectData.id - this.payload.enabled = this.state ? '1' : '0' - this.$emit('emitData', this.payload) + let params = {} + let payload = {} + params.name = 'state' + payload.id = this.injectData.id + payload.enabled = this.state ? '1' : '0' + payload.code = this.injectData.code + payload.name = this.injectData.name + payload.factoryId = this.injectData.factoryId + payload.leaderName = this.injectData.leaderName + params.payload = payload + this.$emit('emitData', params) } } } diff --git a/src/views/group/base/groupTeam/components/workerEdit.vue b/src/views/group/base/groupTeam/components/workerEdit.vue new file mode 100644 index 00000000..89eb92df --- /dev/null +++ b/src/views/group/base/groupTeam/components/workerEdit.vue @@ -0,0 +1,305 @@ + + + + + + + 班组名称 + {{ teamData.teamName }} + + + 班组长 + {{ teamData.leaderName }} + + + 班组人数 + {{ teamData.teamNum }} + + + 手机号 + {{ teamData.leaderTelephone }} + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/group/base/groupTeam/components/workerOperate.vue b/src/views/group/base/groupTeam/components/workerOperate.vue new file mode 100644 index 00000000..956bf89f --- /dev/null +++ b/src/views/group/base/groupTeam/components/workerOperate.vue @@ -0,0 +1,41 @@ + + + + 查看 + 编辑 + + + + + \ No newline at end of file diff --git a/src/views/group/base/groupTeam/components/workerTeamAdd.vue b/src/views/group/base/groupTeam/components/workerTeamAdd.vue new file mode 100644 index 00000000..608dbb19 --- /dev/null +++ b/src/views/group/base/groupTeam/components/workerTeamAdd.vue @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/group/base/groupTeam/index.vue b/src/views/group/base/groupTeam/index.vue index 0f761324..f232bea1 100644 --- a/src/views/group/base/groupTeam/index.vue +++ b/src/views/group/base/groupTeam/index.vue @@ -1,225 +1,264 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/views/group/base/groupTeamScheduling/components/groupUpperLower.vue b/src/views/group/base/groupTeamScheduling/components/groupUpperLower.vue index 46fc0e3b..b7598d74 100644 --- a/src/views/group/base/groupTeamScheduling/components/groupUpperLower.vue +++ b/src/views/group/base/groupTeamScheduling/components/groupUpperLower.vue @@ -95,7 +95,8 @@ export default { type: this.$auth.hasPermi('base:group-team:create') ? 'button' : '', btnName: '导出', name: 'export', - color: 'warning', + color: 'success', + plain: true } ], tableProps, @@ -143,4 +144,4 @@ export default { .box { padding: 0 32px; } - + \ No newline at end of file diff --git a/src/views/group/base/groupTeamScheduling/index.vue b/src/views/group/base/groupTeamScheduling/index.vue index 49cd5ccd..a56c1306 100644 --- a/src/views/group/base/groupTeamScheduling/index.vue +++ b/src/views/group/base/groupTeamScheduling/index.vue @@ -1,480 +1,533 @@ + - - - - - - - - - - - - - 设置 - - - 自动排班 - - - - - - 确认 - - - 取消 - - - 班组上下片查询 - 班组能源查询 - 班组检测查询 - - - - - - {{ this.month }} {{ this.year }} - - - - - - - {{ Number(data.day.split('-')[2]) }} - - - - - - - - - - - - - - - - - - - - {{ item.classesName }} - - - - - - - + + + + + + + + + + + + + + + + 设置 + + + + + + + + 确认 + + + + + 取消 + + + + + + + + {{ this.month }} {{ this.year }} + + + + + + + + {{ Number(data.day.split('-')[2]) }} + + + + + + + + + + + + + + + + + + + + + {{ item.classesName }} + + + + + + {{ Number(data.day.split('-')[2]) }} + + + + + - diff --git a/src/views/group/base/groupWorkLog/index.vue b/src/views/group/base/groupWorkLog/index.vue new file mode 100644 index 00000000..e51e1751 --- /dev/null +++ b/src/views/group/base/groupWorkLog/index.vue @@ -0,0 +1,216 @@ + + + + + + + + + + + + diff --git a/src/views/group/base/schedulingPlanConfig/components/schedulingPlanConfigAdd.vue b/src/views/group/base/schedulingPlanConfig/components/schedulingPlanConfigAdd.vue new file mode 100644 index 00000000..dc7dc16e --- /dev/null +++ b/src/views/group/base/schedulingPlanConfig/components/schedulingPlanConfigAdd.vue @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 是 + 否 + + + + + + + + + + diff --git a/src/views/group/base/schedulingPlanConfig/index.vue b/src/views/group/base/schedulingPlanConfig/index.vue new file mode 100644 index 00000000..33267b1e --- /dev/null +++ b/src/views/group/base/schedulingPlanConfig/index.vue @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/group/base/schedulingRuleConfig/components/schedulingRuleConfigAdd.vue b/src/views/group/base/schedulingRuleConfig/components/schedulingRuleConfigAdd.vue new file mode 100644 index 00000000..622c32e7 --- /dev/null +++ b/src/views/group/base/schedulingRuleConfig/components/schedulingRuleConfigAdd.vue @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 班组上班顺序 + + + + + 班 + + + + + + + {{ item.name }} + + {{ teamList.findIndex((v) => v === item.id) + 1 }} + + + + + + + + + 倒 + + + + + + + {{ item.name }} + + {{ classesList.findIndex((v) => v === item.id) + 1 }} + + + + + + + + + + + + + + + diff --git a/src/views/group/base/schedulingRuleConfig/components/tableSelect.vue b/src/views/group/base/schedulingRuleConfig/components/tableSelect.vue new file mode 100644 index 00000000..46315e55 --- /dev/null +++ b/src/views/group/base/schedulingRuleConfig/components/tableSelect.vue @@ -0,0 +1,44 @@ + + + + + + + + + diff --git a/src/views/group/base/schedulingRuleConfig/index.vue b/src/views/group/base/schedulingRuleConfig/index.vue new file mode 100644 index 00000000..bfe2ed38 --- /dev/null +++ b/src/views/group/base/schedulingRuleConfig/index.vue @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + +
班组名称
{{ teamData.teamName }}
班组长
{{ teamData.leaderName }}
班组人数
{{ teamData.teamNum }}
手机号
{{ teamData.leaderTelephone }}