From b2c2a77b5632b7e5f29a6cdce816bd977bc8604d Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期四, 25 四月 2024 16:33:53 +0800 Subject: [PATCH] 车间管理 修改完成之后,再次打开 爆红的问题修改+新建薪资方案的前端开发+ --- src/views/employeeSalary/salaryPlan/components/addDialog.vue | 132 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 119 insertions(+), 13 deletions(-) diff --git a/src/views/employeeSalary/salaryPlan/components/addDialog.vue b/src/views/employeeSalary/salaryPlan/components/addDialog.vue index aa2a3bc..cd33fac 100644 --- a/src/views/employeeSalary/salaryPlan/components/addDialog.vue +++ b/src/views/employeeSalary/salaryPlan/components/addDialog.vue @@ -56,15 +56,21 @@ ></i> </el-form-item> <el-form-item prop="salaryFormula" label="璁¤垂鍏紡瀹氫箟"> - <el-input + <!-- <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" disabled placeholder="璇疯緭鍏ュ唴瀹�" v-model="form.salaryFormula" > - </el-input> + </el-input> --> + <div class="formula-input" v-html="form.salaryFormula"></div> + <el-button class='formula-btn' type="text" @click="checkFormula()">妫�鏌ュ叕寮�</el-button> </el-form-item> + <div class="formula-error" > + <span v-if="form.error==1"> 鏃犻敊璇紝鍙斁蹇冧娇鐢� ! </span> + <span v-if="form.error==2"> 鍏紡鏈夐敊璇紝璇锋鏌� ! </span> + </div> <div class="formula-box"> <div class="table-bottom-tabs"> <div @@ -93,12 +99,24 @@ <div class="formula-p">鍙�夋暟鎹�</div> <div class="formula-bottom" v-if="activeName==1"> <div :class="item.width==2?'formula-item-100':'formula-item'" v-for='item in formulaName' :key="item.name"> - <span @click="formulaClick(item)"> {{ item.name }}</span> + <span @click="formulaClick(item)"> {{ item.name }}</span> + <i + v-if="item.type==1" + class="el-icon-setting margin_left_5px cursor_pointer" + style="font-size: 18px; color: gray" + @click="handleSlikSetShow" + ></i> </div> </div> <div class="formula-bottom" v-if="activeName==2"> <div :class="item.width==2?'formula-item-100':'formula-item'" v-for='item in formulaNameTwo' :key="item.name"> <span @click="formulaClick(item)"> {{ item.name }}</span> + <i + v-if="item.type==2" + class="el-icon-setting margin_left_5px cursor_pointer" + style="font-size: 18px; color: gray" + @click="handleConstSetShow(2)" + ></i> </div> </div> </div> @@ -106,7 +124,8 @@ <div class="formula-p">甯哥敤绗﹀彿/浜ч噺</div> <div class="formula-bottom"> <div :class="item.width==2?'formula-item-100':'formula-item'" v-for='item in formulaSymbol' :key="item.name"> - <span @click="formulaClick(item)"> {{ item.name }}</span> + <span v-if="item.type==3" @click="handleConstSetShow(3)"> {{ item.name }}</span> + <span v-else @click="formulaClick(item)"> {{ item.name }}</span> </div> </div> </div> @@ -124,6 +143,19 @@ :workList="unitList" title="璁¢噺鍗曚綅" ></BomDialog> + <SilkSetDialog + ref="silkSetDialog" + @confirmValueSave="confirmValueSave" + :editRow="form" + title="閰嶇疆" + ></SilkSetDialog> + <ConstantSetDialog + ref="constantSetDialog" + @confirmValueSave="confirmValueSave" + :constType="constType" + :editRow="form" + :title="constType==2?'閰嶇疆':'杈撳叆'" + ></ConstantSetDialog> </div> </template> @@ -135,8 +167,14 @@ } from "@/api/employeeSalary/salaryPlan.js"; import { getWorkTypeList } from "@/api/employeeManage/employeeInfo.js"; import BomDialog from "@/views/employeeSalary/salaryPlan/components/bomDialog.vue"; +import SilkSetDialog from "@/views/employeeSalary/salaryPlan/components/SilkSetDialog.vue"; +import ConstantSetDialog from "@/views/employeeSalary/salaryPlan/components/ConstantSetDialog.vue"; export default { - components: { BomDialog }, + components: { + BomDialog, + SilkSetDialog, + ConstantSetDialog + }, props: { editRow: { type: Object, @@ -144,12 +182,15 @@ }, data() { return { - islook: true, + islook: false, form: { name: "", workTypes: [], salaryType: "", salaryFormula: "", + error:'', + purchaseTypeList:[1], + cycle:1, }, activeName: 1, formulaName:[ @@ -187,7 +228,7 @@ }, { name:'婊″嫟濂�', - type:1, + type:2, }, { name:'浼戞伅鏃ュ姞鐝椂闀�', @@ -208,15 +249,19 @@ formulaSymbol:[ { name:'+', + background:'background_red', }, { name:'-', + background:'background_red', }, { name:'/', + background:'background_red', }, { name:'*', + background:'background_red', }, { name:'(', @@ -226,7 +271,7 @@ }, { name:'甯搁噺鏁板瓧', - type:1, + type:3, width:2 }, ], @@ -250,6 +295,7 @@ ], }, unitList: [], + constType:'', }; }, computed: {}, @@ -271,6 +317,43 @@ methods: { tabClickBottom(activeName) { this.activeName = activeName; + }, + // 鐐瑰嚮鐢熶骇鏁版嵁鍜岃�冨嫟鍙婅ˉ璐存暟鎹� 璧嬪�艰璐瑰叕寮忓畾涔� + formulaClick(item,value){ + let string='' + let name=(item.type==3&&item.name=='甯搁噺鏁板瓧')?value:item.name + if(item.background){ + string="<span class='formula-input-item background_red color_fff'>"+ name +"</span>" + }else{ + string="<span class='formula-input-item background_e3e3e3'>"+ name +"</span>" + } + this.form.salaryFormula= this.form.salaryFormula+string; + this.$forceUpdate() + }, + checkFormula(){ + + }, + confirmValueSave(form,type){ + if(type==1){ + this.form.purchaseTypeList=form.purchaseTypeList; + }else if(type==2){ + this.form.cycle=form.cycle + }else if(type==3){ + this.formulaClick({ + name:'甯搁噺鏁板瓧', + type:3, + width:2 + },form.number) + } + }, + // 閲庣氦鏁伴噺 + handleSlikSetShow(){ + this.$refs.silkSetDialog.islook = true; + }, + // 婊″嫟濂� + handleConstSetShow(val){ + this.constType=val; + this.$refs.constantSetDialog.islook = true; }, // 鍗曚綅 handleUnitShow() { @@ -304,15 +387,14 @@ workTypes: [], salaryType: "", salaryFormula: "", + error:'', + purchaseTypeList:[1], + cycle:1, }; this.$nextTick(() => { this.$refs["form"].resetFields(); if (this.editRow.id) { this.form = JSON.parse(JSON.stringify(this.editRow)); - this.form.groupNumber = this.form.groupNumber - ? this.form.groupNumber - : null; - this.getGroupNumber(true); } }); } @@ -339,6 +421,10 @@ this.$refs[formName].validate((valid) => { if (valid) { let form = JSON.parse(JSON.stringify(this.form)); + if(form.purchaseTypeList.length==0){ + this.$message.error('璇风偣鍑婚噹绾ゆ暟閲忛厤缃敓涓濇爣鍑嗭紒') + return true; + } saveSalaryPlan(form).then((res) => { if (res.code == 200) { this.$message({ @@ -372,6 +458,7 @@ width:100%; height:auto; overflow:hidden; + margin-bottom:30px; .formula-p{ line-height:40px; } @@ -412,8 +499,27 @@ overflow:hidden; } } - } + .formula-input{ + width:calc(100% - 100px); + height:100px; + padding:10px 10px; + overflow-y:auto; + background:#F5F7FA; + border:1px solid #E4E7ED; + cursor:not-allowed; + float:left; + margin-right:20px; + } + .formula-btn{ + float:left; + margin-top:80px; + } + .formula-error{ + width:100%; + line-height:28px; + font-size:12px; + } } ::v-deep { -- Gitblit v1.8.0