basic-data-integrity.vue 12.4 KB
<style>
.cur-poin{
  cursor:pointer !important; 
}  
</style>
<template>

  <div class="container resource close-left-menu contaNEW">

    <div class="pop-banner clearfix">
      <div class="operate-btns" v-if='editList'>
         <a @click="getData" class="fbtn fb-refresh">刷新</a>
        <a @click="edit" class="fbtn fb-modify">修改</a>
      </div>
      <div class="read-btns ml-30" v-if='editList'>
        <a class="fbtn rb-save"  v-if="'/supplierEvaluate/saveEval'">保存</a>
      </div>
      <div class="operate-btns" v-else>
        <a @click="getData" class="fbtn fb-refresh text-gray">刷新</a>
        <a class="fbtn fb-modify">修改</a>
        <a @click="save(supplytime,supplyquality,lcrequire)" class="fbtn fb-save text-gray" v-if="'/supplierEvaluate/saveEval'">保存</a>
      </div>
      <h3 class="current-module">供应商评价标准配置</h3>
    </div>


    <div class="fheader mb-0">
    <h4 class="fh-evaluate">供应商评价权重定义</h4>
  </div>

    <table class="itable  itable-td-long-text basic-table-in-table-1">
      <thead>
        <tr v-if="readonly1">
          <th class="t-left bd-none">
            <b>供应质量</b><i>权重比率 <input type="number" class="w80"  :readonly="readonly" v-model="supplyquality" class="w80 t-right"> %</i>
          </th>
          <th class="t-center bd-none">
            <b>供应及时性</b><i>权重比率 <input type="number" class="w80" :readonly="readonly" v-model="supplytime" class="w80 t-right"> %</i>
          </th>
          <th class="t-right bd-none">
            <b>资料完整性</b><i>权重比率 <input type="number" class="w80"  :readonly="readonly" v-model="lcrequire" class="w80 t-right"> %</i>
          </th>
        </tr>
         <tr v-else>
          <th class="t-left bd-none">
            <b>供应质量</b><i>权重比率 <input type="number" class="w80" v-model="supplyquality" class="w80 t-right"> %</i>
          </th>
          <th class="t-center bd-none">
            <b>供应及时性</b><i>权重比率 <input type="number" class="w80" v-model="supplytime" class="w80 t-right"> </i>
          </th>
          <th class="t-right bd-none">
            <b>资料完整性</b><i>权重比率 <input type="number" class="w80" v-model="lcrequire" class="w80 t-right"> %</i>   
          </th>
        </tr>
      </thead>
      <tbody>
        <tr>
            <td colspan="3" class="t-left bd-none">评价总分=送货质量x权重比率+送货及时性x权重比率+资料完整性x权重比率</td>
        </tr>
      </tbody>
    </table>



<!-- 
    <div class="text-right pt30 pb30">
        <div class="group-btns disil" v-if="edit2List">
          <a @click="getData" class="tbtn tb-refresh">刷新</a>
          <a @click="edit2" class="tbtn tb-modify">修改</a>
         
        </div>
        <div class="read-btns disil ml-30" v-if='edit2List'>
          <a class="fbtn rb-save"  v-if="'/supplierEvaluate/saveQuality'">保存</a>
        </div>

         <div class="group-btns" v-else>
          <a @click="getData" class="tbtn tb-refresh">刷新</a>
          <a class="tbtn tb-modify">修改</a>
          <a @click="save2(selectList)" class="tbtn tb-save" v-if="'/supplierEvaluate/saveQuality'">保存</a>        
        </div>
    </div> -->
    

    <div class="step-tips step-3 clearfix" style='margin-top:10px;' v-if="ban">
        <div class="step-item active">
          <span class="cur-poin">1</span><span class="cur-poin">供应质量</span>
        </div>
        <div class="step-item cur-poin" @click="skip('basicDataIntegrity2')">
          <span class="cur-poin">2</span><span class="cur-poin">供应及时性</span>
        </div>
        <div class="step-item cur-poin" @click="skip('basicDataIntegrity3')">
          <span class="cur-poin">3</span><span class="cur-poin">资料完整性</span>
        </div>
    </div>
     <div class="step-tips step-3 clearfix" style='margin-top:10px;' v-else>
        <div class="step-item active cur-poin">
          <span class="cur-poin">1</span><span class="cur-poin">供应质量</span>
        </div>
        <div class="step-item cur-poin" v-link="{path:'/basicDataIntegrity2'}">
          <span class="cur-poin">2</span><span class="cur-poin">供应及时性</span>
        </div>
        <div class="step-item cur-poin" v-link="{path:'/basicDataIntegrity3'}">
          <span class="cur-poin">3</span><span class="cur-poin">资料完整性</span>
        </div>
    </div>
    <div class="clearfix pb20">
      <div class="from-button fr">
        <a href="javascript:;" class="green-button icon update" @click="getData">刷新<i>|</i></a>
        <a href="javascript:;" class="green-button icon edit" @click="edit2">修改<i>|</i></a>
        <!-- <a href="javascript:;" class="red-button icon remove">刪除<i>|</i></a> -->
        <a href="javascript:;" class="green-button icon save" @click="save2(selectList)" v-if="'/supplierEvaluate/saveQuality'">保存</a>
      </div>
    </div>
  <div class="basic-card-show">
    <div class="hop-basic-con">
        <div class="hop-basic-con-left">
            <table class="itable itable-thead-13px">
                <thead>
                  <tr>                    
                    <th class="w50 border1">序号</th>
                    <th class="w80 border1">质量指标 </th>
                    <th class="w150 border1">分值</th> 
                    <th class="w100 border1">操作</th>
                  </tr>
              </thead>
              <tbody v-for="item in selectList" class="txt_v">
                  <tr>
                    <td id="item.qualityindexcode">{{$index+1}}</td>                 
                    <td class="text-center">
                    {{item.indexname}}
                    </td>
                    <td class="td-yesorno td-code">
                      <input type="number" v-if="readonly2" :readonly="readonly" v-model="item.value">
                      <input type="number" v-else v-model="item.value">
                    </td>
                    <td>
                      <!-- <a class="btn-d btn-d-red btn-w60" v-if="edit2List">删除</a> -->
                      <a class="btn button-red"   @click="remove($index)">删除</a>
                    </td>
                  </tr>
              </tbody>
            </table> 
            <h3 class="h-ti-h3-2 text-center b mt-10">扣分合计 <span>{{sum}}</span></h3>
        </div>
        <div class="hop-basic-con-right">
          <div class="hop-basic-con-right2">
              <h3 class="h-ti-h3-1">待选列表</h3>
              <table class="itable basic-user-info data-inc-table data-ind-table basic-table">
                <thead>
                  <tr>
                    <th class="w100">序号</th>
                    <th class="w250 text-left pad-left-20">指标</th>
                    <th>操作</th>
                  </tr>              
                </thead>
                <tbody v-for="item in alllist">             
                   <tr>
                    <td id="item.indexcode">{{$index+1}}</td>
                    <td class="text-left pad-left-20">{{item.indexname}}</td>
                    <td class="pt9">
                     <!--   <a class="btn-d btn-w60"
                         @click="add($index)">
                        <span v-if="item.isselect">已添加</span>
                        <span v-else>添加</span>
                        </a> -->
                        <a href="javascript:;" class="btn button-gray w85" v-if="item.isselect">已添加</a>
                        <a href="javascript:;" class="btn button-green w85" v-else @click="add($index)">添加</a>
                    </td>
                  </tr>   
                </tbody>
              </table>
            </div>
          </div>
        </div>
    </div>
  </div> 
</template>
    <script>

   module.exports = {

      data: function () {
        return {
          supplytime:'',
          supplyquality:'',
          lcrequire:'',      
          readonly:true,
          readonly1: true,
          readonly2:true,
          numberList:0,
          score:[],
          num:[],
          editList:true,
          edit2List:true,
          ban:false,
          selectList:{},
          alllist:{}
        }
      },
      methods: {
        getData: function () {
          var self = this;
          Ajax.post('/supplierEvaluate/getEval').then(function(response){
              var res=response.data.data;
             //评价权重
              self.$set('supplytime', res.supplytime);
              self.$set('supplyquality', res.supplyquality);
              self.$set('lcrequire', res.lcrequire);
          });
 
        },
        getData2: function () {
          var self=this;
          Ajax.post('/supplierEvaluate/getQuality')
            .then(function (response) {
              var res=response.data.data;
              self.$set("selectList",res.selectList);
              self.$set("alllist",res.alllist);
            });   
        },
        add:function(index){
            var self = this;
            var obj=self.alllist[index].indexcode;

            Ajax.post('/supplierEvaluate/addQuality',
              {"qualityindexcode":obj})
            .then(function(response){
              var result=response.data;
            if(result.errorCode==0){
              self.getData2();
            };
          });
        },
         remove : function(index){
            var self = this;
            var obj=self.selectList[index].qualityindexcode;

            Ajax.post('/supplierEvaluate/delQuality',{'qualityindexcode':obj}).then(function(response){
            var result=response.data;
            if(result.errorCode==0){
              self.getData2();
            };
          });
        },
        save:function(supplytime,supplyquality,lcrequire){
          var self = this;
          var num=(supplytime*1)+(supplyquality*1)+(lcrequire*1);
          if(num==100){
            Ajax.post('/supplierEvaluate/saveEval',{"supplytime":supplytime,"supplyquality":supplyquality,"lcrequire":lcrequire})
            .then(function (response) {
              var res=response.data;
              if(res.errorCode==0){
                self.$set('editList',true);
                self.$set('readonly1',true);
              }
            });      
          }else{
            layer.msg('权重相加必须为100');
          }
        },
        save2:function(selectList){
              var selectList=JSON.stringify(selectList);
              var self=this;
              var obj=self.$get('score');
              // if(0>=self.sum && self.sum>=-100){
                if(0<=self.sum && self.sum<=100){
                Ajax.post('/supplierEvaluate/saveQuality',selectList).then(function(res){
                var result=res.data;     
                  if(result.errorCode==0){
                    layer.msg('保存成功');
                    self.$set('edit2List',true);
                    self.$set('readonly2', true)
                  };    
                });
            }else{
              layer.msg('扣分合计必须大于等于-100,并且小于等于0');
              }
          },
        edit:function(){
          this.$set('readonly1',false);
          this.$set('editList',false);
          this.$set('ban',true);
        },
        edit2:function(){
          this.$set('readonly2',false);
          this.$set('edit2List',false);
          this.$set('ban',true);
        },
        skip:function(rou){
          var self=this;
          self.MessageBox({
             title:'提示',
             message:'修改内容是否成功',
             type:'alert',
             showCancelButton: true
            },function(action){
                self.$set('readonly1',true);
                self.$set('editList',true);
                self.$set('readonly2',true);
                self.$set('edit2List',true);
                self.$set('ban',false);
             if(action=="confirm"){
                self.save(self.supplytime,self.supplyquality,self.lcrequire);
                self.save2();
             }
             self.$router.go({ 'path': '/'+rou});  
             
            })
        }
      },
      route: {
        activate: function () {
          this.getData();  
          this.getData2();        
        }, 
      }, 
      computed:{
        //扣分总分值计算
       sum: function () {
          var sum = 0;
          for(var i=0 ;i < this.selectList.length; i ++){
          sum+=(this.selectList[i].value*1);     
          }
          return sum;
        },
      },
    }
</script>