3 changed files with 8673 additions and 8302 deletions
-
18935package-lock.json
-
9src/api/production/production.js
-
581src/views/modules/product/operatorGroup.vue
18935
package-lock.json
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,9 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
export const getOperatorGroup = data => createAPI(`/operatorGroup/getOperatorGroup`,'Post',data) |
||||
|
|
||||
|
export const getOperatorGroupPlanHeader = data => createAPI(`/operatorGroup/getOperatorGroupPlanHeader`,'Post',data) |
||||
|
|
||||
|
export const getOperatorGroupPlanDetail = data => createAPI(`/operatorGroup/getOperatorGroupPlanDetail`,'Post',data) |
||||
|
export const getOperatorGroupDefault = data => createAPI(`/operatorGroup/getOperatorGroupDefault`,'Post',data) |
||||
|
export const saveOperatorGroupDetail= data => createAPI(`/operatorGroup/saveOperatorGroupDetail`,'Post',data) |
||||
@ -0,0 +1,581 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;"> |
||||
|
<el-form-item :label="'操作员组ID'"> |
||||
|
<el-input v-model="searchData.operatorID" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'分组名称'"> |
||||
|
<el-input v-model="searchData.operatorName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button @click="getData()" type="primary" style="">查询</el-button> |
||||
|
<el-button @click="newDetail()" type="primary" style="">新增班次调度</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
@row-click="changeData" |
||||
|
border |
||||
|
highlight-current-row |
||||
|
ref="mainTable" |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
min-width="20%" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
||||
|
style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<!-- <el-table-column--> |
||||
|
<!-- header-align="center"--> |
||||
|
<!-- align="center"--> |
||||
|
<!-- width="150"--> |
||||
|
<!-- label="操作">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</a>--> |
||||
|
<!-- <a type="text" size="small" @click="deleteHandle(scope.row.id)">删除</a>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
</el-table> |
||||
|
<div style="float: left;margin-top: 5px" :style="{ width: width + 'px' }"> |
||||
|
<label>日期/班次列表</label> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList2" |
||||
|
@row-click="changeData2" |
||||
|
border |
||||
|
highlight-current-row |
||||
|
ref="headerTable" |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 98%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList2" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
min-width="20%" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
||||
|
style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="addOrUpdateHandle(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="deleteHandle(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<div style="float: left;margin-top: 5px" :style="{ width: width + 'px' }"> |
||||
|
<label>操作员出勤列表</label> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList3" |
||||
|
border |
||||
|
highlight-current-row |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList3" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
min-width="20%" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
||||
|
style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<!-- <el-table-column--> |
||||
|
<!-- header-align="center"--> |
||||
|
<!-- align="center"--> |
||||
|
<!-- width="150"--> |
||||
|
<!-- label="操作">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</a>--> |
||||
|
<!-- <a type="text" size="small" @click="deleteHandle(scope.row.id)">删除</a>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
<el-dialog |
||||
|
width="800px" v-drag |
||||
|
:title="'分配工作时间'" |
||||
|
:close-on-click-modal="false" |
||||
|
:visible.sync="detailModelFlag"> |
||||
|
<el-form :inline="true" label-position="top" label-width="100px" > |
||||
|
<el-form-item :label="'日期'"> |
||||
|
<el-date-picker |
||||
|
style="width: 130px" |
||||
|
v-model="detailData.workDate" |
||||
|
type="date" |
||||
|
:disabled="detailData.updateFlag" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="选择日期"> |
||||
|
</el-date-picker> |
||||
|
<!-- <el-input v-model="detailData.shiftno" style="width: 130px" :disabled="detailData.updateFlag"></el-input>--> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'总工作时间'"> |
||||
|
<el-input v-model="detailData.allTime" style="width: 130px" disabled></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'工资时间'"> |
||||
|
<el-input v-model="detailData.wagesTime" style="width: 130px" disabled></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<div > |
||||
|
<el-table |
||||
|
height="250" |
||||
|
:data="detailList" |
||||
|
border |
||||
|
ref="toolTable" |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList3" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<div v-if="(item.columnProp !== 'wagesRate')&&(item.columnProp !== 'workTime')"> |
||||
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
||||
|
style="width: 100px; height: 80px"/></span> |
||||
|
</div> |
||||
|
<div v-else-if=" (item.columnProp === 'wagesRate')"> |
||||
|
<el-input v-model="scope.row.wagesRate" type="number" @change="changeSum(scope.row)" placeholder="请输入工资系数" |
||||
|
style="width:98%"></el-input> |
||||
|
</div> |
||||
|
<div v-else> |
||||
|
<el-input v-model="scope.row.workTime" type="number" @change="changeSum(scope.row)" placeholder="请输入工资系数" |
||||
|
style="width:98%"></el-input> |
||||
|
</div> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<span slot="footer" class="dialog-footer" style="height: 40px"> |
||||
|
<el-button type="primary" @click="saveDetail()">{{'保存'}}</el-button> |
||||
|
<el-button type="primary" @click="detailModelFlag = false" >{{'取消'}}</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { |
||||
|
getOperatorGroup,getOperatorGroupPlanHeader,getOperatorGroupPlanDetail, |
||||
|
getOperatorGroupDefault,saveOperatorGroupDetail |
||||
|
} from "@/api/production/production.js" |
||||
|
|
||||
|
export default { |
||||
|
name: "operatorGroup", |
||||
|
data() { |
||||
|
return { |
||||
|
height: 200, |
||||
|
width:200, |
||||
|
dataList:[], |
||||
|
dataList2:[], |
||||
|
dataList3:[], |
||||
|
dataListLoading: false, |
||||
|
headerData:{}, |
||||
|
searchData:{ |
||||
|
// site:this.$store.state.user.site, |
||||
|
operatorID:'', |
||||
|
operatorName:'', |
||||
|
}, |
||||
|
currentRow:{ |
||||
|
site:'', |
||||
|
OperatorGroupId:'' |
||||
|
}, |
||||
|
currentRow2:{ |
||||
|
site:'', |
||||
|
planId:'' |
||||
|
}, |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table1OperatorID', |
||||
|
tableId: "302001Table1", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'operatorID', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '操作组编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table1OperatorName', |
||||
|
tableId: "302001Table1", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'operatorName', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '操作组名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table1Department', |
||||
|
tableId: "302001Table1", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'department', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '车间', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100, |
||||
|
}, |
||||
|
], |
||||
|
columnList2: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table2WorkDate', |
||||
|
tableId: "302001Table2", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'workDate', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '日期', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table2Shiftdesc', |
||||
|
tableId: "302001Table2", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'shiftdesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '班次', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 60, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table2Department', |
||||
|
tableId: "302001Table2", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'allTime', |
||||
|
headerAlign: "center", |
||||
|
align: "right", |
||||
|
columnLabel: '总时间', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 60, |
||||
|
}, |
||||
|
// { |
||||
|
// userId: this.$store.state.user.name, |
||||
|
// functionId: 302001, |
||||
|
// serialNumber: '302001Table2WagesTime', |
||||
|
// tableId: "302001Table2", |
||||
|
// tableName: "操作员组清单", |
||||
|
// columnProp: 'wagesTime', |
||||
|
// headerAlign: "center", |
||||
|
// align: "right", |
||||
|
// columnLabel: '工资时间', |
||||
|
// columnHidden: false, |
||||
|
// columnImage: false, |
||||
|
// columnSortable: false, |
||||
|
// sortLv: 0, |
||||
|
// status: true, |
||||
|
// fixed: '', |
||||
|
// columnWidth: 60, |
||||
|
// }, |
||||
|
], |
||||
|
columnList3: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table3OperatorName', |
||||
|
tableId: "302001Table3", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'operatorName', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '操作员姓名', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table3QorkTime', |
||||
|
tableId: "302001Table3", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'workTime', |
||||
|
headerAlign: "center", |
||||
|
align: "right", |
||||
|
columnLabel: '工作时间', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 60, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 302001, |
||||
|
serialNumber: '302001Table3WagesRate', |
||||
|
tableId: "302001Table3", |
||||
|
tableName: "操作员组清单", |
||||
|
columnProp: 'wagesRate', |
||||
|
headerAlign: "center", |
||||
|
align: "right", |
||||
|
columnLabel: '工资系数', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 60, |
||||
|
}, |
||||
|
|
||||
|
], |
||||
|
detailModelFlag:false, |
||||
|
detailList:[], |
||||
|
detailData:{ |
||||
|
site:'', |
||||
|
updateFlag:false, |
||||
|
id:'', |
||||
|
workDate:'', |
||||
|
operatorGroupId:'', |
||||
|
shiftno:'', |
||||
|
allTime:'', |
||||
|
wagesTime:'', |
||||
|
detailList:'', |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = (window.innerHeight - 240)/2; |
||||
|
this.width=(window.innerWidth-260)/2 |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
changeData(row){ |
||||
|
this.currentRow.site=row.site |
||||
|
this.currentRow.OperatorGroupId=row.operatorID |
||||
|
this.getGroupPlanHeaderData(); |
||||
|
}, |
||||
|
getData(){ |
||||
|
getOperatorGroup(this.searchData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList=data.rows |
||||
|
if(this.dataList.length>0){ |
||||
|
this.$refs.mainTable.setCurrentRow(this.dataList[0]); |
||||
|
this.changeData(this.dataList[0]) |
||||
|
}else { |
||||
|
this.changeData({ |
||||
|
site:'', |
||||
|
operatorID:'' |
||||
|
},) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
getGroupPlanHeaderData(){ |
||||
|
getOperatorGroupPlanHeader(this.currentRow).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList2=data.rows |
||||
|
if(this.dataList2.length>0){ |
||||
|
this.$refs.headerTable.setCurrentRow(this.dataList2[0]); |
||||
|
this.changeData2(this.dataList2[0]) |
||||
|
}else { |
||||
|
this.changeData2({ |
||||
|
site:'', |
||||
|
id:'' |
||||
|
},) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
changeSum(){ |
||||
|
let number1=0 |
||||
|
let number2=0 |
||||
|
for (let i = 0; i < this.detailList.length; i++) { |
||||
|
number1+=this.detailList[i].workTime?this.detailList[i].workTime:0 |
||||
|
if(this.detailList[i].workTime!=null&&this.detailList[i].workTime!==0&&this.detailList[i].wagesRate!=null&&this.detailList[i].wagesRate!==0){ |
||||
|
number2+=this.detailList[i].workTime*this.detailList[i].wagesRate |
||||
|
} |
||||
|
} |
||||
|
this.detailData.allTime=number1 |
||||
|
this.detailData.wagesTime=number2 |
||||
|
}, |
||||
|
changeData2(row){ |
||||
|
this.currentRow2.site=row.site |
||||
|
this.currentRow2.planId=row.id |
||||
|
this.getGroupPlanDetailData(); |
||||
|
}, |
||||
|
getGroupPlanDetailData(){ |
||||
|
getOperatorGroupPlanDetail(this.currentRow2).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList3=data.rows |
||||
|
|
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
addOrUpdateHandle(row){ |
||||
|
getOperatorGroupPlanDetail(this.currentRow2).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.detailList=data.rows |
||||
|
|
||||
|
} |
||||
|
}) |
||||
|
let data=JSON.parse(JSON.stringify(row)) |
||||
|
this. detailData={ |
||||
|
updateFlag:true, |
||||
|
id:data.id, |
||||
|
operatorGroupId:this.currentRow.operatorID, |
||||
|
workDate:data.workDate, |
||||
|
shiftno:data.shiftno, |
||||
|
allTime:data.allTime, |
||||
|
wagesTime:data.wagesTime, |
||||
|
detailList:[], |
||||
|
} |
||||
|
this.detailModelFlag=true |
||||
|
}, |
||||
|
newDetail(){ |
||||
|
if(!this.currentRow){ |
||||
|
this.$alert("请先选择操作组", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
this. detailData={ |
||||
|
site:this.currentRow.site, |
||||
|
id:null, |
||||
|
operatorGroupId:this.currentRow.operatorID, |
||||
|
updateFlag:false, |
||||
|
workDate:this.dayjs().format("YYYY-MM-DD"), |
||||
|
shiftno:"", |
||||
|
allTime:0, |
||||
|
wagesTime:0, |
||||
|
detailList:[], |
||||
|
} |
||||
|
this.detailModelFlag=true |
||||
|
getOperatorGroupDefault(this.currentRow).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.detailList=data.rows |
||||
|
|
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
saveDetail(){ |
||||
|
if(this.detailData.workDate==""||this.detailData.workDate==null){ |
||||
|
this.$alert("请先选择日期", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
if(this.detailData.workDate==""||this.detailData.workDate==null){ |
||||
|
this.$alert("请先选择日期", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
this.detailData.detailList=this.detailList |
||||
|
saveOperatorGroupDetail(this.currentRow).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getGroupPlanHeaderData(); |
||||
|
this.detailModelFlag=false |
||||
|
this.$message.success('操作成功') |
||||
|
}else { |
||||
|
this.$message.error(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
}, |
||||
|
created() { |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue