10 files modified
1 files added
| | |
| | | //登录 |
| | | export const Loginto = (params) => { |
| | | return request({ |
| | | url: "/api/blade-auth/oauth/token", |
| | | // url: '/api/blade-auth/oauth/token?tenantId=000000&username=' + params + '&password=21232f297a57a5a743894a0e4a801fc3&grant_type=password&scope=all&type=account', |
| | | // url: "/api/blade-auth/oauth/token", |
| | | url: '/api/blade-auth/oauth/token?tenantId=000000&username=' + params + '&password=21232f297a57a5a743894a0e4a801fc3&grant_type=password&scope=all&type=account', |
| | | method: "post", |
| | | apiKey: true, |
| | | params: { |
| | |
| | | }); |
| | | }; |
| | | |
| | | // 最终评优数据 |
| | | export const evaluateTasktop = (params) => { |
| | | return request({ |
| | | url: "/api/evaluate/evaluateTask/list?type=0&evaluateState=1", |
| | | method: "get", |
| | | apiKey: true, |
| | | params: { |
| | | ...params, |
| | | }, |
| | | }); |
| | | }; |
| | | |
| | | |
| | |
| | | |
| | | const user = { |
| | | state: { |
| | | infoone: { index: 0, num: 0 } |
| | | |
| | | }, |
| | | actions: { |
| | | |
| | | }, |
| | | mutations: { |
| | | |
| | | changenumex(state) { |
| | | console.log(state) |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | <div class="view" v-for="(item,index) in ViewData" :key="index"> |
| | | <p class="TaskNumber"> |
| | | <span>{{item.taskName}}</span> |
| | | <!-- <span>{{item.type==0?'公司评优(部门候选人评定)':'部门评优'}}</span> --> |
| | | <span |
| | | :class="item.isEvaluateOk==false?'evaluation':'evaluationget'" |
| | | >{{item.isEvaluateOk==false?'待完成 ':'已完成'}}</span> |
| | |
| | | </p> |
| | | <p class="Tasktime"> |
| | | <span>截止日期:</span> |
| | | <span>{{item.evaluateCutoffTime}}</span> |
| | | <span>{{item.type==0?item.candidateCutoffTime:item.evaluateCutoffTime}}</span> |
| | | </p> |
| | | <van-button @click="toAppraising(item)" v-show="item.isEvaluateOk==false">去评优</van-button> |
| | | <p class="details" @click="toAppraising(item)" v-show="item.isEvaluateOk==true">查看详情</p> |
| | |
| | | dept_id: localStorage.getItem("dept_id") |
| | | }; |
| | | evaluateTask(data).then(res => { |
| | | console.log(res); |
| | | this.ViewData = res.data.data.records; |
| | | this.ViewData.sort((a, b) => { |
| | | if (a.isEvaluateOk && !b.isEvaluateOk) { |
| | |
| | | return 0; // 顺序不变 |
| | | } |
| | | }); |
| | | let letData = { |
| | | index: 0, |
| | | notnum: 0 |
| | | }; |
| | | this.ViewData.forEach(item => { |
| | | if (item.isEvaluateOk == false) { |
| | | letData.notnum += 1; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | toAppraising(item) { |
| | |
| | | <div class="tabbarshow"> |
| | | <div> |
| | | <p> |
| | | <span :class="{'tabin':tabbarindex==0}" @click="updatatabbar(0)">去考核</span> |
| | | <span :class="{'tabin':tabbarindex==0}" @click="updatatabbar(0)">参与考核</span> |
| | | </p> |
| | | <p> |
| | | <span :class="{'tabin':tabbarindex==1}" @click="updatatabbar(1)">查考核</span> |
| | | <span :class="{'tabin':tabbarindex==1}" @click="updatatabbar(1)">查询考核</span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | |
| | | >{{item.assessmentScoreVO==null?'待完成':'已完成'}}</span> |
| | | </p> |
| | | <p class="Tasktime"> |
| | | <span>考核目的:</span> |
| | | <span>考核种类:</span> |
| | | <span>{{item.assessmentTaskVO.assessmentPurpose}}</span> |
| | | </p> |
| | | <p class="Tasktime"> |
| | |
| | | <div v-show="tabbarindex==1"> |
| | | <Checkandassess></Checkandassess> |
| | | </div> |
| | | <div class="Logout"></div> |
| | | <div class="not" v-show="ViewData.length==0&&tabbarindex==0"> |
| | | <img src="images/notdata.png" /> |
| | | <p>赞无数据</p> |
| | | </div> |
| | | </div> |
| | | <img src="images/outlogin.png" class="Addmessage" @click="OutLogin()" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | methods: { |
| | | updatatabbar(index) { |
| | | this.tabbarindex = index; |
| | | }, |
| | | OutLogin() { |
| | | localStorage.clear(); |
| | | setTimeout(() => { |
| | | this.$router.push({ |
| | | path: "/discrimination" |
| | | }); |
| | | }, 1000); |
| | | this.$toast.success("请重新登录"); |
| | | }, |
| | | // 考核任务列表 |
| | | assessmentTaskData() { |
| | |
| | | }); |
| | | } |
| | | this.ViewData.sort((a, b) => a.condition - b.condition); |
| | | let letData = { |
| | | index: 0, |
| | | notnum: 0 |
| | | }; |
| | | this.ViewData.forEach(item => { |
| | | if (item.assessmentScoreVO == null) { |
| | | letData.notnum += 1; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | |
| | | box-sizing: border-box; |
| | | height: calc(100% - 10px); |
| | | } |
| | | |
| | | .Addmessage { |
| | | position: absolute; |
| | | right: 10px; |
| | | bottom: 110px; |
| | | width: 70px; |
| | | height: 70px; |
| | | } |
| | | .tabbarshow { |
| | | font-size: 20px; |
| | | padding: 0px 30px; |
| | |
| | | :key="index" |
| | | @click="switchtab(item.component)" |
| | | > |
| | | <img :src="item.pic" class="img" v-show="comName!==item.component" /> |
| | | <img :src="item.inpic" class="img" v-show="comName==item.component" /> |
| | | <p class="fotterintitle" :class="{'active':comName==item.component}">{{item.label}}</p> |
| | | <div class="relative"> |
| | | <span |
| | | class="badge" |
| | | v-show="(item.label=='考核'&&item.num!==0)||item.label=='评优'&&item.num!==0" |
| | | >{{item.num}}</span> |
| | | <img :src="item.pic" class="img" v-show="comName!==item.component" /> |
| | | <img :src="item.inpic" class="img" v-show="comName==item.component" /> |
| | | <p class="fotterintitle" :class="{'active':comName==item.component}">{{item.label}}</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | label: "考核", |
| | | component: "examine", |
| | | pic: "images/examine.png", |
| | | inpic: "images/examineaction.png" |
| | | inpic: "images/examineaction.png", |
| | | num: 0 |
| | | }, |
| | | { |
| | | label: "评优", |
| | | component: "Appraising", |
| | | pic: "images/Appraising.png", |
| | | inpic: "images/Appraisingaction.png" |
| | | inpic: "images/Appraisingaction.png", |
| | | num: 0 |
| | | }, |
| | | { |
| | | label: "留言", |
| | |
| | | switchtab(label) { |
| | | this.comName = label; |
| | | localStorage.setItem("Appraising", label); |
| | | }, |
| | | nottoshow(item) { |
| | | this.ygTabName[item.index].num = item.notnum; |
| | | } |
| | | }, |
| | | |
| | |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .van-badge { |
| | | width: 20px; |
| | | height: 20px; |
| | | } |
| | | .appdefalut { |
| | | width: 100vw; |
| | | height: 100vh; |
| | |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 10px 0px; |
| | | background: white; |
| | | |
| | | .footerin { |
| | | background: white; |
| | | flex: 1; |
| | | text-align: center; |
| | | .img { |
| | |
| | | color: #c7ced7; |
| | | font-size: 18px; |
| | | } |
| | | .relative { |
| | | position: relative; |
| | | } |
| | | .badge { |
| | | position: absolute; |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | padding: 0px 5px; |
| | | min-width: 22px; |
| | | height: 22px; |
| | | line-height: 22px; |
| | | border-radius: 50px; |
| | | text-align: center; |
| | | color: white; |
| | | background: red; |
| | | right: 30px; |
| | | } |
| | | .active { |
| | | color: #017bfc; |
| | | } |
| | |
| | | phone: this.username, |
| | | code: this.Code |
| | | }; |
| | | Loginto(Data).then(res => { |
| | | Loginto(Data.phone).then(res => { |
| | | console.log(res.data); |
| | | if (res.data.code == 400) { |
| | | this.$toast.fail(res.data.msg); |
| | |
| | | <img src="images/notdata.png" /> |
| | | <p>暂无数据</p> |
| | | </div> |
| | | <img src="images/outlogin.png" class="Addmessage_out" @click="OutLogin()" v-show="!isshownotnm" /> |
| | | <img src="images/Addmessage.png" class="Addmessage" @click="Addmessage()" /> |
| | | </div> |
| | | </template> |
| | |
| | | return { |
| | | isshownotnm: true, |
| | | messageData: [], |
| | | pageswitch: { current: 1, size: 100, descs: "update_time" } |
| | | pageswitch: { current: 1, size: 500, descs: "update_time" } |
| | | }; |
| | | }, |
| | | |
| | |
| | | this.$router.push({ |
| | | path: "/Addmessage" |
| | | }); |
| | | }, |
| | | OutLogin() { |
| | | localStorage.clear(); |
| | | setTimeout(() => { |
| | | this.$router.push({ |
| | | path: "/discrimination" |
| | | }); |
| | | }, 1000); |
| | | this.$toast.success("请重新登录"); |
| | | } |
| | | } |
| | | }; |
| | |
| | | .Addmessage { |
| | | position: absolute; |
| | | right: 10px; |
| | | bottom: 130px; |
| | | bottom: 110px; |
| | | width: 70px; |
| | | height: 70px; |
| | | } |
| | | .Addmessage_out { |
| | | position: absolute; |
| | | right: 10px; |
| | | bottom: 190px; |
| | | width: 70px; |
| | | height: 70px; |
| | | } |
| | |
| | | </p> |
| | | <p class="info"> |
| | | <span>截止日期:</span> |
| | | <span>{{this.poepleinfo.evaluateCutoffTime}}</span> |
| | | <span>{{this.poepleinfo.type==0?this.poepleinfo.candidateCutoffTime:this.poepleinfo.evaluateCutoffTime}}</span> |
| | | </p> |
| | | <div v-if="poepleinfo.isEvaluateOk == false"> |
| | | <div class="toin"> |
| | |
| | | v-model="currentValue" |
| | | is-link |
| | | readonly |
| | | label="推荐人员:" |
| | | :label="this.poepleinfo.type==0?'推荐人员':'推荐部门'" |
| | | placeholder="请选择" |
| | | @click="showPicker = true" |
| | | class="van-hairline" |
| | | /> |
| | | <p class="Reasons">评选理由:</p> |
| | | <p class="Reasons">推荐理由:</p> |
| | | <van-field |
| | | class="van-borderline" |
| | | v-model="toData.remark" |
| | | rows="5" |
| | | type="textarea" |
| | | placeholder="请输入评选理由..." |
| | | placeholder="请输入推荐理由..." |
| | | /> |
| | | </div> |
| | | <van-button @click="SubmitTo()">提交</van-button> |
| | | <van-button type="primary" block @click="SubmitTo()">提交</van-button> |
| | | </div> |
| | | <div class="showdetails" v-else> |
| | | <p> |
| | |
| | | //提交 |
| | | SubmitTo() { |
| | | if (this.toData.beId == undefined) { |
| | | this.$toast.fail("请选择评优项"); |
| | | this.$toast.fail("请选择推荐部门"); |
| | | } else if (this.toData.remark == undefined || this.toData.remark == "") { |
| | | this.$toast.fail("请输入推荐理由"); |
| | | } else { |
| | | evaluateResult(this.toData).then(res => { |
| | | setTimeout(() => { |
| | |
| | | } |
| | | } |
| | | .van-button { |
| | | margin: 30px 0px; |
| | | width: 100%; |
| | | margin: 30px 0px 0px auto; |
| | | width: 150px; |
| | | color: white; |
| | | font-size: 20px; |
| | | align-items: center; |
| | | text-align: center; |
| | | justify-content: center; |
| | | letter-spacing: 10px; |
| | | background: linear-gradient(163deg, #01bdfc 0%, #017bfc 100%); |
| | | border-radius: 8px; |
| | | } |
| | |
| | | <span>经营</span> |
| | | </p> |
| | | <p v-show="this.poepleinfo.userId!=undefined"> |
| | | <span>合伙类型:</span> |
| | | <span>合伙人级别:</span> |
| | | <span>重要合伙人</span> |
| | | </p> |
| | | </div> |
| | |
| | | </div> |
| | | <div v-if="this.poepleinfo.assessmentScoreVO!=null" class="showdetails"> |
| | | <p> |
| | | <span class="title">评分:</span> |
| | | <span class="title">评分值:</span> |
| | | <span class="fraction">{{this.poepleinfo.assessmentScoreVO.scoreVal}}</span> |
| | | </p> |
| | | <p> |
| | |
| | | }; |
| | | if (Data.scoreVal == "") { |
| | | this.$toast.fail("请输入评分"); |
| | | } else if (Data.instructions == "") { |
| | | this.$toast.fail("请输入评分说明"); |
| | | } else { |
| | | assessmentScore(Data).then(res => { |
| | | setTimeout(() => { |
| | |
| | | margin: 10px; |
| | | } |
| | | span:nth-child(1) { |
| | | font-size: 14px; |
| | | font-size: 18px; |
| | | color: #666666; |
| | | line-height: 30px; |
| | | font-weight: bold; |
| | | } |
| | | span:nth-child(2) { |
| | | font-size: 18px; |
| | |
| | | .van-button { |
| | | margin: 30px 0px 0px auto; |
| | | width: 150px; |
| | | font-size: 20px; |
| | | align-items: center; |
| | | text-align: center; |
| | | justify-content: center; |
| | | letter-spacing: 10px; |
| | | display: flex; |
| | | background: linear-gradient(163deg, #01bdfc 0%, #017bfc 100%); |
| | | } |
| | | .todetails { |
| | |
| | | margin-top: 20px; |
| | | p { |
| | | display: flex; |
| | | align-items: center; |
| | | margin: 10px; |
| | | } |
| | | .title { |
| | | font-size: 14px; |
| | | font-size: 18px; |
| | | color: #666666; |
| | | font-weight: bold; |
| | | align-items: center; |
| | | } |
| | | .fraction { |
| | | font-size: 18px; |
| | |
| | | // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址 |
| | | target: "http://127.0.0.1", |
| | | // target: "https://132v69t077.yicp.fun", |
| | | // target: 'http://192.168.1.91:2888', |
| | | // target: 'http://192.168.1.85:2888', |
| | | // target: "http://192.168.0.100:82", |
| | | // target: "http://17.20.10.3:82", |
| | | // target: "http://10.141.11.11/api", |