From 544f30e28a3d8ea41e5ea8c0add2ce77c1b6fb1a Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 07 五月 2024 17:48:31 +0800 Subject: [PATCH] 工种管理模块 编辑工种接口400的问题修改+增加如果启用不达标保底,则必须输入保底工资的逻辑 --- src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue | 253 ++++++++++++++++++++++++++----------------------- 1 files changed, 134 insertions(+), 119 deletions(-) diff --git a/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue b/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue index 9404393..3045cc5 100644 --- a/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue +++ b/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue @@ -1,129 +1,92 @@ <template> <div class="add_wordshop"> <el-dialog - :title="editConfig.dialogTitle+'杞﹂棿绠$悊'" - :visible.sync="editConfig.visible" - width="30%" - :before-close="handleClose"> - <el-form :inline="true" label-width="20%" style="width: 100%;" :model="editConfig.infomitton" :rules="rules" ref="ruleForm" > - <el-form-item prop="workshopNumber" label="杞﹂棿" style="width: 100%;" > - <el-select - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" v-model="editConfig.infomitton.workshopNumber" placeholder="璇烽�夋嫨杞﹂棿"> - <el-option - v-for="item in workshopList" - :key="item.ID" - :label="item.name" - :value="item.ID"> - </el-option> - </el-select> + :visible.sync="islook" + width="38rem" + @close="cancelMethod"> + <div slot="title" class="tac drawerHeader">{{ editRow.title }}</div> + <el-form label-position="right" label-width="120px" style="width: 100%;" :model="form" :rules="rules" ref="form" > + <el-form-item label="鍛樺伐濮撳悕" style="width: 100%;" + prop="name" > + <UserSimpleSearchInput + :echoValue="form.workerId" + :echoName="form.name" + checkedNum="1" + request="1" + :clearable="true" + @select-user="setFormItem($event, 'workerId', 'name')" + > + </UserSimpleSearchInput> </el-form-item> - - <el-form-item label="缁勫埆" style="width: 100%;" - prop="groupNumber" > - <!-- <el-input-number - v-model="form.workshopNumber" - placeholder="璇疯緭鍏ョ粍鍒�" - :controls="false" - style="width: 100%; margin-right: 5px;text-align:left;" - ></el-input-number> --> + <el-form-item label="鍛樺伐缂栧彿" style="width: 100%;" prop="workerId" > <el-input - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" - v-model="editConfig.infomitton.groupNumber" - :rows="4" - style="resize: none !important;" - placeholder="璇疯緭鍏ョ粍鍒�" + v-model="form.workerId" + disabled + placeholder="璇疯緭鍏ュ憳宸ョ紪鍙�" > </el-input> </el-form-item> - - <el-form-item label="寮�濮嬭溅鍙�" style="width: 100%;" > - <el-input - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" - v-model="editConfig.infomitton.startCarNumber" - :rows="4" - style="resize: none !important;" - placeholder="璇疯緭鍏ュ紑濮嬭溅鍙�" - > - </el-input> + <el-form-item label="甯﹀緬鏈堜唤" style="width: 100%;" + prop="month"> + <el-date-picker + style="width:100%" + v-model="form.month" + type="month" + placeholder="閫夋嫨鏈�" + value-format="yyyy-MM"> + </el-date-picker> </el-form-item> - <el-form-item label="缁撴潫杞﹀彿" style="width: 100%;" > + <el-form-item label="甯﹀緬澶╂暟" style="width: 100%;" + prop="days" > <el-input - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" - v-model="editConfig.infomitton.endCarNumber" - :rows="4" - style="resize: none !important;" - placeholder="璇疯緭鍏ョ粨鏉熻溅鍙�" - > - </el-input> - </el-form-item> - <el-form-item label="鍗婅溅鏍囧織" style="width: 100%;" > - <el-select - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" v-model="editConfig.infomitton.carFlag" placeholder="璇烽�夋嫨鍗婅溅鏍囧織"> - <el-option - v-for="item in carFlagList" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="澶囨敞" style="width: 100%;" > - <el-input - :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" - v-model="editConfig.infomitton.notes" - type="textarea" - :rows="4" - style="resize: none !important;" - placeholder="" + v-model="form.days" + placeholder="璇疯緭鍏�" > </el-input> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> - <el-button @click="editConfig.visible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="commitForm('ruleForm')">纭� 瀹�</el-button> + <el-button @click="cancelMethod()">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm('form')">纭� 瀹�</el-button> </span> </el-dialog> </div> </template> <script> -// import {} from "@/api/systemSetting/workshopManage" +import { createMentorInfo, updateMentorInfo } from "@/api/employeeSalary/apprenticeshipManage.js" +import UserSimpleSearchInput from "@/components/common/UserSimpleSearchInput" export default { + components: { + UserSimpleSearchInput + }, props: { - editDiaConfig:{ + editRow: { type: Object, - default: () => { - return { - visible: false, - dialogTitle:"娣诲姞", - isReadonly:true, - infomitton: { - }, - } - } } }, data() { return { - editConfig:this.editDiaConfig, - form: { - workshopNumber:null, - groupNumber:null, - startCarNumber:null, - endCarNumber:null, - carFlag:null, - notes:null + islook:false, + form:{ + workerId:'', + days:null, + month:'', + name:'', }, - workshopList:[], - carFlagList:[ - ], rules: { - workshopNumber: [ - { required: true, message: '璇烽�夋嫨杞﹂棿', trigger: 'change' } + name: [ + { required: true, message: '璇烽�夋嫨', trigger: ['change','blur'] } ], - groupNumber: [ - { required: true, message: '璇峰~鍐欑粍鍒�', trigger: 'change' } + month: [ + { required: true, message: '璇烽�夋嫨', trigger: ['change','blur'] } + ], + days: [ + { required: true, message: '璇峰~鍐�', trigger: ['change','blur'] }, + { + validator: this.validatorNum, + trigger: ["blur", "change"], + }, ] }, }; @@ -136,46 +99,98 @@ }, watch: { - + islook(newVal) { + if (newVal) { + this.formInfo() + } + }, + editRow() { + this.formInfo() + }, }, methods: { - handleClose(done) { - done(); - }, - setParams(){ - let params={ - workshopNumber:this.editConfig.infomitton.workshopNumber+'', - groupNumber:Number(this.editConfig.infomitton.groupNumber), - startCarNumber:Number(this.editConfig.infomitton.startCarNumber), - endCarNumber:Number(this.editConfig.infomitton.endCarNumber), - carFlag:Number(this.editConfig.infomitton.carFlag), - notes:this.editConfig.infomitton.notes, - // id:Number(this.editConfig.infomitton.workshopId), + formInfo() { + if (this.islook) { + this.form = { + workerId:'', + days:null, + month:'', + name:'', + }; + this.$nextTick(()=>{ + this.$refs["form"].resetFields(); + if (this.editRow.id) { + this.form = JSON.parse(JSON.stringify(this.editRow)); + } + }) } - return params }, - async commitForm(formName){ + setFormItem(val, itemMark, itemName) { + this.$set(this.form, itemMark, val.id); + this.$set(this.form, itemName, val.name); + }, + validatorNum(rule, value, callback) { + if (value == undefined || value == null) { + callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�")); + } else { + let reg2 = + /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + if (!reg2.test(value) || value == 0) { + callback(new Error("璇峰~鍐欏ぇ浜庨浂鐨�2浣嶅皬鏁扮殑鏁板瓧")); + } else { + callback(); + } + } + }, + cancelMethod(val) { + this.$refs["form"].resetFields(); + this.islook = false; + if(val){ + this.$emit('refresh') + } + + }, + submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { - console.log("鏍¢獙閫氳繃") + let form = JSON.parse(JSON.stringify(this.form)); + form.days=Number(form.days) + if (this.editRow.type == "add") { + createMentorInfo(form).then((res) => { + if (res.code == 200) { + this.$message({ + message: "娣诲姞鎴愬姛锛�", + type: "success", + }); + this.cancelMethod(true); + } + }); + } else { + updateMentorInfo(form).then((res) => { + if (res.code == 200) { + this.$message({ + message: "缂栬緫鎴愬姛锛�", + type: "success", + }); + this.cancelMethod(true); + } + }); + } } else { console.log('error submit!!'); return false; } }); - - - } - }, - components: { - + }, }, }; </script> <style scoped lang="scss"> -::v-deep .el-form-item__content{ - width: 70% !important; +.el-form{ + margin-bottom:50px; + width:94%; + margin: 0 auto; } ::v-deep{ .el-form{ -- Gitblit v1.8.0