소스 검색

前后:合同评价查询页面

dubch 4 년 전
부모
커밋
21557a05f3

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/supplier/oilsupplierService.go

@@ -393,7 +393,7 @@ func (s *OilSupplierService) GetProcessInfoWithOrderBytbl(supplierTableName, sup
 	sqlCount += ` where ` + where
 
 	var sql string
-	sql = `select a.SupplierName, b.Id, b.AccessCardNo, b.CreateOn, b.ModifiedOn As AddinTime, a.Mobile, `
+	sql = `select a.Id as SupplierId, a.SupplierName, b.Id, b.AccessCardNo, b.CreateOn, b.ModifiedOn As AddinTime, a.Mobile, `
 	sql += ` b.Status, b.SupplierTypeCode, `
 	sql += ` b.WorkflowId, b.ProcessKey, '1' as Type, b.CreateOn,`
 	sql += ` org.FullName As RecUnitName,`

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/suppliercertsub/oilsuppliercertsub.go

@@ -15,7 +15,7 @@ type OilSupplierCertSub struct {
 	SubClassId           int       `xorm:"not null comment('分类表主键(物资类或基建类或技术服务类)') INT(10)"`
 	Code                 string    `xorm:"not null default '' comment('分类编码') VARCHAR(8)"`
 	AppendStatus         string    `xorm:"not null default '' comment('增项审核状态') VARCHAR(10)"`
-	Type                 string    `xorm:"not null default '' comment('类型') VARCHAR(10)"`
+	Type                 string    `xorm:"not null default '' comment('类型 1准入,2增项,3增项通过') VARCHAR(10)"`
 	Name                 string    `xorm:"not null default '' comment('分类名称') VARCHAR(50)"`
 	CertSubStatus        string    `xorm:"null default '1' comment('1:正常2:不良记录暂停') VARCHAR(10)"`
 	Remark               string    `xorm:"comment('备注') VARCHAR(500)"`

+ 31 - 26
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -66,6 +66,7 @@ func (this *OilContractReviewController) GetEntityList() {
 	Status := this.GetString("Status")
 	Year := this.GetString("Year")
 	Amount := this.GetString("Amount")
+	IsAll := this.GetString("IsAll")
 
 	if Id != "" {
 		where = where + " and r.Id like '%" + Id + "%'"
@@ -157,36 +158,40 @@ func (this *OilContractReviewController) GetEntityList() {
 	svcPerm := permission.GetPermissionService(utils.DBE)
 	isauth := svcPerm.IsAuthorized(this.User.Id, "oil_contract.Review.AllRecord")
 	if !isauth {
-		// 权限过滤  自己创建的评价 ,同二级部门创建的评价 ,企管法规处能看
-		//where = where + " and ( r.CreateUserId =  '" + this.User.Id + "' "
-		//where = where + " or r.UnitId = '" + strconv.Itoa(this.User.UnitId) + "' "
-		//where = where + " )"
-		//根据工作流查找
-		//集中评审相关人可看数据
-		actisvc := workflow.GetActivitiService(utils.DBE)
-		//找出待办任务===准入
-		var certIdList string
-		ids := actisvc.GetMyTasks(workflow.OIL_DAILY_CONTRACT_EVALUATION, this.User.Id)
-		ids1 := actisvc.GetMyTasks(workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS, this.User.Id)
-		ids += "," + ids1
-		if len(strings.Trim(ids, ",")) > 0 {
-			certIdList += strings.Trim(ids, ",") + ","
-		}
+		// 是否查看本部门的
+		if IsAll == "" {
+			//根据工作流查找
+			//集中评审相关人可看数据
+			actisvc := workflow.GetActivitiService(utils.DBE)
+			//找出待办任务===准入
+			var certIdList string
+			ids := actisvc.GetMyTasks(workflow.OIL_DAILY_CONTRACT_EVALUATION, this.User.Id)
+			ids1 := actisvc.GetMyTasks(workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS, this.User.Id)
+			ids += "," + ids1
+			if len(strings.Trim(ids, ",")) > 0 {
+				certIdList += strings.Trim(ids, ",") + ","
+			}
 
-		certIdList = strings.Trim(certIdList, ",")
-		certIdarr := strings.Split(certIdList, ",")
-		for i, item := range certIdarr {
-			idx := strings.Index(item, "-")
-			if idx >= 0 {
-				certIdarr[i] = strings.Split(item, "-")[0]
+			certIdList = strings.Trim(certIdList, ",")
+			certIdarr := strings.Split(certIdList, ",")
+			for i, item := range certIdarr {
+				idx := strings.Index(item, "-")
+				if idx >= 0 {
+					certIdarr[i] = strings.Split(item, "-")[0]
+				}
 			}
-		}
-		certIdList = strings.Join(certIdarr, ",")
+			certIdList = strings.Join(certIdarr, ",")
 
-		if certIdList != "" {
-			where += " and ( r.Id in (" + certIdList + ")" + " or r.CreateUserId = '" + this.User.Id + "')"
+			if certIdList != "" {
+				where += " and ( r.Id in (" + certIdList + ")" + " or r.CreateUserId = '" + this.User.Id + "')"
+			} else {
+				where = where + " and r.CreateUserId = '" + this.User.Id + "'"
+			}
 		} else {
-			where = where + " and r.CreateUserId = '" + this.User.Id + "'"
+			// 权限过滤  自己创建的评价 ,同二级部门创建的评价 ,企管法规处能看
+			where = where + " and ( r.CreateUserId =  '" + this.User.Id + "' "
+			where = where + " or r.UnitId = '" + strconv.Itoa(this.User.UnitId) + "' "
+			where = where + " )"
 		}
 	}
 

+ 1 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/select.go

@@ -49,6 +49,7 @@ type UpInfoSearch struct {
 
 type Processinfo struct {
 	Id               int
+	SupplierId       int
 	AccessCardNo     string
 	WorkflowId       string
 	ProcessKey       string

+ 232 - 0
src/dashoo.cn/frontend_web/src/components/oilcontract/baselist.vue

@@ -0,0 +1,232 @@
+<template>
+  <div>
+    <el-table highlight-current-row :data="entityListData.entityList" border height="calc(100vh - 243px)"
+              style="width: 100%" v-loading="tableLoading">
+      <el-table-column
+        property="SequenceNo"
+        label="序号"
+        header-align="center"
+        align="center"
+        width="80">
+      </el-table-column>
+      <el-table-column
+        property="Content"
+        header-align="center"
+        label="评价项目">
+      </el-table-column>
+      <el-table-column
+        property="Value"
+        label="是否满足"
+        header-align="center"
+        align="center"
+        width="100">
+        <template slot-scope="scope">
+          <el-button size="mini" :disabled="!disabledForm" type="success" v-if="Number(scope.row.Value)>0"
+                     @click="entityListData.entityList[scope.$index].Value=0">是
+          </el-button>
+          <el-button size="mini" :disabled="!disabledForm" type="danger" v-else
+                     @click="entityListData.entityList[scope.$index].Value=1">否
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+                   :page-sizes="[10, 15, 20, 25]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
+    </el-pagination> -->
+  </div>
+</template>
+<script>
+import {mapGetters} from 'vuex'
+// import api from '@/api/oilcontract/contractEvaluationItems';
+import api from '@/api/oilcontract/contract'
+
+export default {
+  computed: {
+    ...mapGetters({
+      authUser: 'authUser'
+    })
+  },
+  name: 'oilcontractevaluationitems',
+  props: {
+    // 评价id
+    evaluateId: {
+      type: null,
+      default: ''
+    },
+    // 类型 0 二级部门创建 1 专业处创建
+    category: {
+      type: null,
+      default: ''
+    },
+    // 项目类型
+    ContractClass: {
+      type: null,
+      default: ''
+    },
+    // 是否禁用
+    disabledForm: {
+      type: null,
+      default: false
+    },
+    // 二级单位提交还是业务处室提交
+    isBusiness: {
+      type: null,
+      default: 0
+    }
+  },
+  data () {
+    return {
+      tableLoading: false,
+      dialogVisible: false,
+      // 列表数据
+      entityListData: {
+        entityList: []
+      },
+      // 分页参数
+      size: 10,
+      currentPage: 1,
+      currentItemCount: 0,
+      // 列表排序
+      Column: {
+        Order: '',
+        Prop: ''
+      },
+      // 查询时间new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()
+      CreateOn: [],
+      // 查询项
+      searchFormReset: {}
+
+    }
+  },
+  created () {
+    // 查询条件初始值备份
+    Object.assign(this.searchFormReset, this.searchForm)
+    // 查询列表
+    // this.initDatas();
+    // this.getDictOptions()
+
+    // 判断是编辑状态还是新增状态
+    if (this.evaluateId == 0) {
+      this.initDatas()
+    } else {
+      this.editDatas()
+    }
+  },
+  methods: {
+    // aa(){
+    //   if (this.evaluateId == 0) {
+    //     this.initDatas();
+    //   } else {
+    //     this.editDatas();
+    //   }
+    // },
+    initDatas () {
+      this.tableLoading = true
+      var data = {
+        Category: 2 // 1分值; 2布尔
+        // ContractClass 对应的是表中Type
+      }
+      console.log('初始化了没有???')
+      api.evaluationItemsOnelist(data, this.ContractClass, this.$axios).then(res => {
+        this.tableLoading = false
+        console.log('上级节点内容', res)
+        var data = res.data.items
+        var list = []
+        for (var index = 0; index < data.length; index++) {
+          data[index].typeStatus = index
+          data[index].Value = 1
+          data[index].Score = '0'
+          data[index].Category = 2
+          // this.$set(data[index],'NormalScore','0')
+          list.push(data[index])
+
+          if (data[index].Son != null && data[index].Son != undefined) {
+            for (var k = 0; k < data[index].Son.length; k++) {
+              data[index].Son[k].Category = 2
+              data[index].Son[k].typeStatus = index
+              data[index].Son[k].Value = 1
+              data[index].Son[k].Score = '0'
+              // data[index].Son[k].NormalScore = '0'
+              list.push(data[index].Son[k])
+            }
+          }
+        }
+        this.entityListData.entityList = list
+        console.log('处理完的数据', list)
+      }).catch(err => {
+        this.tableLoading = false
+        console.error(err)
+      })
+    },
+    // 初始数据
+    editDatas () {
+      this.tableLoading = true
+      console.log('处室初始的分类是什么 ', this.category)
+      var data = {
+        ContentReviewId: this.evaluateId,
+        Category: this.isBusiness == 1 ? 2 : this.category,
+        Type: 2
+      }
+      api.contractEvaluationTree(data, this.$axios).then(res => {
+        this.tableLoading = false
+        let data = res.data.items
+        let list = []
+        if (data) {
+          for (let index = 0; index < data.length; index++) {
+            data[index].typeStatus = index
+            data[index].Value = data[index].Value === undefined || data[index].Value === '' ? '0' : data[index].Value
+            data[index].Category = 2
+            list.push(data[index])
+
+            if (data[index].Son != null && data[index].Son != undefined) {
+              for (var k = 0; k < data[index].Son.length; k++) {
+                data[index].Son[k].Category = 2
+                // data[index].Son[k].typeStatus = index
+                // data[index].Son[k].Value = data[index].Son[k].Value==undefined||data[index].Son[k].Value==''?'0':data[index].Value
+                // list.push(data[index].Son[k])
+              }
+            }
+          }
+        }
+        this.entityListData.entityList = list
+        console.log('处理完的数据', list)
+      }).catch(err => {
+        this.tableLoading = false
+        console.error(err)
+      })
+    },
+
+    jstimehandle (val) {
+      if (val === '') {
+        return '----'
+      } else if (val === '0001-01-01T08:00:00+08:00') {
+        return '----'
+      } else if (val === '5000-01-01T23:59:59+08:00') {
+        return '永久'
+      } else {
+        val = val.replace('T', ' ')
+        return val.substring(0, 10)
+      }
+    },
+
+    formatDateTime (date) {
+      var y = date.getFullYear()
+      var m = date.getMonth() + 1
+      m = m < 10 ? ('0' + m) : m
+      var d = date.getDate()
+      d = d < 10 ? ('0' + d) : d
+      var h = date.getHours()
+      var minute = date.getMinutes()
+      minute = minute < 10 ? ('0' + minute) : minute
+      return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.el-pagination {
+  margin: 1rem 0 2rem;
+  text-align: right;
+}
+</style>

+ 838 - 0
src/dashoo.cn/frontend_web/src/components/oilcontract/contractSelect.vue

@@ -0,0 +1,838 @@
+<template>
+  <div>
+    <!-- 服务商 -->
+    <el-dialog :visible.sync="dialogVisible3" width="1024px">
+      <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
+        <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 服务商合同
+        </span>
+          <span style="float: right;">
+          <el-button type="primary" size="mini" style="margin-left: 8px"
+                     @click="exportExcel">导出</el-button>
+        </span>
+        </div>
+        <el-tabs v-model="activeName" style="margin-top: -10px">
+          <el-tab-pane label="合同内容" name="1">
+            <el-card class="box-card">
+              <div slot="header">
+                <span>合同信息</span>
+                <!-- <span style="float: right;">
+                  <el-button type="primary" size="mini" @click="saveEntity">保存</el-button>
+                </span> -->
+              </div>
+              <el-form label-width="110px" ref="EntityForm" :model="contractData" >
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="服务商名称">
+                      <el-input :disabled="disabled" v-model="contractData.SupplierName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同编号">
+                      <el-input :disabled="disabled" v-model="contractData.ContractNo" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="8">
+                    <el-form-item label="合同类别">
+                      <el-input :disabled="disabled" v-model="contractData.ClassName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="合同名称">
+                      <el-input :disabled="disabled" v-model="contractData.ContractName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item  label="合同总金额" >
+                      <el-input :disabled="disabled" v-model="contractData.Amount" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(元)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="项目负责人">
+                      <el-input :disabled="disabled" v-model="contractData.ProjectOwner" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="联系人电话">
+                      <el-input :disabled="disabled" v-model="contractData.Telephone" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同状态">
+                      <el-select :disabled="disabled"  v-model="contractData.Status" placeholder="请选择" style="width: 100%">
+                        <el-option label="未履行" :value="1" key="01"></el-option>
+                        <el-option label="履行中" :value="2" key="02"></el-option>
+                        <el-option label="履行完毕" :value="3" key="03"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="签订日期">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.SignedDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="报审序号">
+                      <el-input :disabled="disabled" v-model="contractData.Number" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同总工期">
+                      <el-input :disabled="disabled" v-model="contractData.ContractPeriod" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(天)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(始)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.StartDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(止)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.EndDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="24">
+                    <el-form-item label="备注">
+                      <el-input type="textarea" v-model="contractData.Remark" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-form>
+
+
+            </el-card>
+          </el-tab-pane>
+          <el-tab-pane label="业绩评价" name="2">
+            <evaluation-list ref="evaluation_list_one" :evaluateId="formData.Id" category="0" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :isBusiness="isBusiness"
+                             :disabledForm="auditBtnBoolean"></evaluation-list>
+          </el-tab-pane>
+          <el-tab-pane label="基本条件评价" name="4" v-if="contractData.ContractClass=='02'">
+            <base-list ref="evaluation_listType_one" :evaluateId="formData.Id" category="0"
+                       :ContractClass="contractData.ContractClass" :disabledForm="auditBtnBoolean"></base-list>
+          </el-tab-pane>
+          <!-- v-if="formData.Status=='4'||Number(formData.Status)>4" -->
+          <el-tab-pane label="专业处室业绩评价" name="3"
+                       v-if="(departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4) && (formData.IsBusiness != 1 && byBus != 1)">
+            <evaluation-list ref="evaluation_list_two" :evaluateId="formData.Id" category="1" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :disabledForm="auditBtnBooleanZhuan"></evaluation-list>
+          </el-tab-pane>
+          <el-tab-pane
+            v-if="(departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4)&&contractData.ContractClass=='02' && (formData.IsBusiness != 1 && byBus != 1)"
+            label="专业处室基本条件评价" name="5">
+            <base-list ref="evaluation_listType_two" :evaluateId="formData.Id" category="1"
+                       :ContractClass="contractData.ContractClass" :disabledForm="auditBtnBooleanZhuan"></base-list>
+          </el-tab-pane>
+
+          <el-tab-pane label="审批流程" name="6" :disabled="formData.Status==0">
+            <el-card class="box-card mycard">
+              <div slot="header"
+                   class="clearfix">
+                <span>审批流程</span>
+              </div>
+              <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
+            </el-card>
+          </el-tab-pane>
+
+          <!-- <el-tab-pane label="审核流程" name="4">
+            <evaluation-list></evaluation-list>
+          </el-tab-pane> -->
+        </el-tabs>
+      </el-card>
+    </el-dialog>
+
+    <!-- 承包商 -->
+    <el-dialog :visible.sync="dialogVisible2" width="1024px">
+      <el-card class="box-card" style="mini-height: calc(100vh - 113px) ">
+        <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i>承包商合同
+        </span>
+          <span style="float: right ">
+          <el-button type="primary" size="mini" style="margin-left: 8px"
+                     @click="exportExcel">导出</el-button>
+        </span>
+        </div>
+        <el-tabs v-model="activeName" style="margin-top: -10px">
+          <el-tab-pane label="合同内容" name="1">
+            <el-card class="box-card">
+              <div slot="header">
+                <span>合同信息</span>
+                <!-- <span style="float: right ">
+                  <el-button type="primary" size="mini" @click="saveEntity">保存</el-button>
+                </span> -->
+              </div>
+              <el-form label-width="110px" ref="EntityForm" :model="contractData" >
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="承包商名称">
+                      <el-input :disabled="disabled" v-model="contractData.SupplierName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同编号">
+                      <el-input :disabled="disabled" v-model="contractData.ContractNo" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="8">
+                    <el-form-item label="合同类别">
+                      <el-input :disabled="disabled" v-model="contractData.ClassName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="合同名称">
+                      <el-input :disabled="disabled" v-model="contractData.ContractName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item  label="合同总金额" >
+                      <el-input :disabled="disabled" v-model="contractData.Amount" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(元)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="项目负责人">
+                      <el-input :disabled="disabled" v-model="contractData.ProjectOwner" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="联系人电话">
+                      <el-input :disabled="disabled" v-model="contractData.Telephone" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同状态">
+                      <el-select :disabled="disabled"  v-model="contractData.Status" placeholder="请选择" style="width: 100%">
+                        <el-option label="未履行" :value="1" key="01"></el-option>
+                        <el-option label="履行中" :value="2" key="02"></el-option>
+                        <el-option label="履行完毕" :value="3" key="03"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="签订日期">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.SignedDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="报审序号">
+                      <el-input :disabled="disabled" v-model="contractData.Number" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同总工期">
+                      <el-input :disabled="disabled" v-model="contractData.ContractPeriod" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(天)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(始)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.StartDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(止)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.EndDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="24">
+                    <el-form-item label="备注">
+                      <el-input type="textarea" v-model="contractData.Remark" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-form>
+
+
+            </el-card>
+          </el-tab-pane>
+          <el-tab-pane label="业绩评价" name="2">
+            <evaluation-list ref="evaluation_list_one" :evaluateId="formData.Id" category="0" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :isBusiness="isBusiness"
+                             :disabledForm="auditBtnBoolean"></evaluation-list>
+          </el-tab-pane>
+          <!-- v-if="formData.Status=='4'||Number(formData.Status)>4" -->
+          <el-tab-pane label="基本条件评价" name="4" v-if="contractData.ContractClass=='02'">
+            <base-list ref="evaluation_listType_one" :evaluateId="formData.Id" category="0"
+                       :ContractClass="contractData.ContractClass" :isBusiness="isBusiness" :disabledForm="auditBtnBoolean"></base-list>
+          </el-tab-pane>
+          <el-tab-pane label="专业处室业绩评价" name="3"
+                       v-if="(departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4) && (formData.IsBusiness != 1 && byBus !=1)">
+            <evaluation-list ref="evaluation_list_two" :evaluateId="formData.Id" category="1" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :disabledForm="auditBtnBooleanZhuan"></evaluation-list>
+          </el-tab-pane>
+          <el-tab-pane
+            v-if="(departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4)&&contractData.ContractClass=='02' && (formData.IsBusiness != 1 && byBus != 1)"
+            label="专业处室基本条件评价" name="5">
+            <base-list ref="evaluation_listType_two" :evaluateId="formData.Id" category="1"
+                       :ContractClass="contractData.ContractClass" :disabledForm="auditBtnBooleanZhuan"></base-list>
+          </el-tab-pane>
+
+          <el-tab-pane label="审批流程" name="6" :disabled="formData.Status==0">
+            <el-card class="box-card mycard">
+              <div slot="header"
+                   class="clearfix">
+                <span>审批流程</span>
+              </div>
+              <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
+            </el-card>
+          </el-tab-pane>
+
+          <!-- <el-tab-pane label="审核流程" name="4">
+            <evaluation-list></evaluation-list>
+          </el-tab-pane> -->
+        </el-tabs>
+      </el-card>
+    </el-dialog>
+
+    <!-- 供应商 -->
+    <el-dialog :visible.sync="dialogVisible1" width="1024px">
+      <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
+        <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i>供应商合同
+        </span>
+          <span style="float: right;">
+          <el-button type="primary" size="mini" style="margin-left: 8px"
+                     @click="exportExcel">导出</el-button>
+        </span>
+        </div>
+        <el-tabs v-model="activeName" style="margin-top: -10px">
+          <el-tab-pane label="合同内容" name="1">
+            <el-card class="box-card">
+              <div slot="header">
+                <span>合同信息</span>
+                <!-- <span style="float: right;">
+                  <el-button type="primary" size="mini" @click="saveEntity">保存</el-button>
+                </span> -->
+              </div>
+              <el-form label-width="110px" ref="EntityForm" :model="contractData" >
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="供应商名称">
+                      <el-input :disabled="disabled" v-model="contractData.SupplierName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同编号">
+                      <el-input :disabled="disabled" v-model="contractData.ContractNo" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="8">
+                    <el-form-item label="合同类别">
+                      <el-input :disabled="disabled" v-model="contractData.ClassName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="合同名称">
+                      <el-input :disabled="disabled" v-model="contractData.ContractName" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item  label="合同总金额" >
+                      <el-input :disabled="disabled" v-model="contractData.Amount" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(元)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="项目负责人">
+                      <el-input :disabled="disabled" v-model="contractData.ProjectOwner" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="联系人电话">
+                      <el-input :disabled="disabled" v-model="contractData.Telephone" placeholder="请输入"
+                                style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同状态">
+                      <el-select :disabled="disabled"  v-model="contractData.Status" placeholder="请选择" style="width: 100%">
+                        <el-option label="未履行" :value="1" key="01"></el-option>
+                        <el-option label="履行中" :value="2" key="02"></el-option>
+                        <el-option label="履行完毕" :value="3" key="03"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="签订日期">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.SignedDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="报审序号">
+                      <el-input :disabled="disabled" v-model="contractData.Number" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="8">
+                    <el-form-item label="合同总工期">
+                      <el-input :disabled="disabled" v-model="contractData.ContractPeriod" placeholder="请输入" style="width: 100%">
+                        <template slot="append">(天)</template>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(始)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.StartDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="履行期限(止)">
+                      <el-date-picker
+                        style="width: 100%"
+                        v-model="contractData.EndDate"
+                        type="date"
+                        :disabled="disabled"
+                        placeholder="选择日期">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="24">
+                    <el-form-item label="备注">
+                      <el-input type="textarea" v-model="contractData.Remark" placeholder="请输入" style="width: 100%"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-form>
+
+
+            </el-card>
+          </el-tab-pane>
+          <el-tab-pane label="业绩评价" name="2">
+            <evaluation-list ref="evaluation_list_one" :evaluateId="formData.Id" category="0" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :isBusiness="isBusiness"
+                             :disabledForm="auditBtnBoolean"></evaluation-list>
+          </el-tab-pane>
+          <el-tab-pane label="基本条件评价" name="4" v-if="contractData.ContractClass=='02'">
+            <base-list ref="evaluation_listType_one" :evaluateId="formData.Id" category="0"
+                       :ContractClass="contractData.ContractClass" :disabledForm="auditBtnBoolean"></base-list>
+          </el-tab-pane>
+          <!-- v-if="formData.Status=='4'||Number(formData.Status)>4" -->
+          <el-tab-pane label="专业处室业绩评价" name="3"
+                       v-if="(departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4) && (formData.IsBusiness != 1 && byBus !=1)">
+            <evaluation-list ref="evaluation_list_two" :evaluateId="formData.Id" category="1" v-if="contractData.ContractClass"
+                             :ContractClass="contractData.ContractClass"
+                             :disabledForm="auditBtnBooleanZhuan"></evaluation-list>
+          </el-tab-pane>
+          <el-tab-pane
+            v-if="((departmentBoolean||Number(formData.Status)>4||Number(formData.Status)<=-4)&&contractData.ContractClass=='02') && (formData.IsBusiness != 1 && byBus != 1)"
+            label="专业处室基本条件评价" name="5">
+            <base-list ref="evaluation_listType_two" :evaluateId="formData.Id" category="1"
+                       :ContractClass="contractData.ContractClass" :disabledForm="auditBtnBooleanZhuan"></base-list>
+          </el-tab-pane>
+
+          <el-tab-pane label="审批流程" name="6" :disabled="formData.Status==0">
+            <el-card class="box-card mycard">
+              <div slot="header"
+                   class="clearfix">
+                <span>审批流程</span>
+              </div>
+              <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
+            </el-card>
+          </el-tab-pane>
+
+          <!-- <el-tab-pane label="审核流程" name="4">
+            <evaluation-list></evaluation-list>
+          </el-tab-pane> -->
+        </el-tabs>
+      </el-card>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+import api from '@/api/oilcontract/contract'
+import WfHistory from '@/components/workflow/wfhistory.vue'
+import apiCert from '@/api/oilsupplier/suppliercert'
+import permissionApi from '@/api/oilcontract/permission'
+import submitPopup from '@/components/oilcontract/submitPopup.vue'
+import evaluationList from '@/components/oilcontract/evaluationlist.vue'
+import baseList from '@/components/oilcontract/baselist.vue'
+
+export default {
+  computed: {
+    ...mapGetters({
+      authUser: 'authUser'
+    })
+  },
+  name: 'contractSelect',
+  components: {
+    evaluationList,
+    WfHistory,
+    baseList,
+    submitPopup
+  },
+  props: {
+    contractId: {
+      type: Number,
+      default: 0
+    },
+    reviewId: {
+      type: Number,
+      default: 0
+    },
+    contractClass: {
+      type: String,
+      default: ''
+    }
+  },
+  data () {
+    return {
+      byBus: 0,
+      isBusiness: 0,
+      IsFinal: 0,
+      routeData: {}, // 上一页面传过来的值
+      routeDataType: '', // 上一页面传过来的type
+
+      dialogVisibleCom: false,
+      dialogVisible3: false,
+      dialogVisible2: false,
+      dialogVisible1: false,
+      ContractId: 0,
+      ReviewId: 0,
+      disabled: true, // 禁用
+      // 业绩评价
+      performance: {
+        disabled: false// 禁用
+      },
+      // 专业处室业绩评价
+      departmentPerformance: {
+        disabled: false// 禁用
+      },
+      // 审批流程
+      approvalProcess: {
+        disabled: true// 禁用
+      },
+
+      entrydetail: {
+        process: '',
+        business: '',
+        instance: ''
+      },
+      activeName: '1',
+      serviceId: '',
+      formData: {
+        Id: ''
+      },
+      auditstepcode: '',
+      contractData: {}, // 合同信息
+      // 下拉选择项
+      // wellNoOptions: [],
+      // supervisersOptions: [],
+      evaluation_list: [],
+      evaluation_list_department: [],
+      auditBtn: false,
+      auditBtnBoolean: true,
+      auditBtnBooleanZhuan: true,
+
+      departmentBoolean: false,
+      checkBUtton: false,
+      saveButton: false,
+      saveButtonForBusiness: false,
+      saveButtonForBusinessAudit: false
+    }
+  },
+  created () {
+    this.initDatas()
+    this.showIdDatas(this.ReviewId)
+  },
+  methods: {
+    show () {
+      this.initDatas()
+      this.showIdDatas(this.ReviewId)
+    },
+    exportExcel () {
+      api.docexportEle(this.formData.Id, this.$axios)
+        .then(res => {
+          // response
+          if (res.data.code === 0) {
+            // this.$message({
+            //    type: 'success'
+            //    message: res.data.message
+            // })
+            let docurl = res.data.item
+            // 内网服务器专用
+            if (process.client && docurl.indexOf('upfile') === 0) {
+              const myDomain = window.location.host
+              location.href = 'http://' + myDomain + '/' + docurl
+            } else {
+              location.href = 'http://' + docurl
+            }
+          }
+        }).catch(err => {
+        console.error(err)
+      })
+    },
+    // 状态判断
+    statusFun () {
+      let data = {
+        percode: 'oil_contract.Review.Department'
+      }
+      permissionApi.permissionIsauth(data, this.$axios).then(res => {
+        console.log('权限', res.data)
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.departmentBoolean = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+      let data1 = {
+        percode: 'oil_contract.Review.Check'
+      }
+      permissionApi.permissionIsauth(data1, this.$axios).then(res => {
+        console.log('权限', res.data)
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.checkBUtton = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+      let data2 = {
+        percode: 'oil_contract.Review.Save'
+      }
+      permissionApi.permissionIsauth(data2, this.$axios).then(res => {
+        console.log('权限', res.data)
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.saveButton = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+      let dataBusSave = {
+        percode: 'oil_contract.Review.Business.Save'
+      }
+      permissionApi.permissionIsauth(dataBusSave, this.$axios).then(res => {
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.saveButtonForBusiness = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+      let dataBusAuditSave = {
+        percode: 'oil_contract.Review.BusinessAudit.Save'
+      }
+      permissionApi.permissionIsauth(dataBusAuditSave, this.$axios).then(res => {
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.saveButtonForBusinessAudit = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+      let dataBusReview = {
+        percode: 'oil_contract.Review.Business.Check'
+      }
+      permissionApi.permissionIsauth(dataBusReview, this.$axios).then(res => {
+        if (res.data.code == 0) {
+          if (res.data.message == '有权限') {
+            this.checkBtnForBus = true
+          }
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+    },
+    // 拿id查审核流程
+    showIdDatas (id) {
+      api.getEntityAndCert(id, this.$axios).then(res => {
+        console.log('拿id查编辑数据', res)
+        this.entrydetail.business = ''
+        var data = res.data
+        this.formData = res.data
+        this.entrydetail.business = id
+        this.entrydetail.instance = data.WorkflowId
+        this.entrydetail.process = data.ProcessKey
+        if (data.Status != 0) {
+          this.approvalProcess.disabled = false
+        } else {
+          this.approvalProcess.disabled = true
+        }
+      })
+        .catch(err => {
+          console.error(err)
+        })
+    },
+    getAuditStepCodeByStatus () {
+      if (this.formData.Status === '1') {
+        this.auditstepcode = 'FIRST_TRIAL'
+      } else if (this.formData.Status === '2') {
+        this.auditstepcode = 'SECOND_TRIAL'
+      } else if (this.formData.Status === '3') {
+        this.auditstepcode = 'PROF_RECE'
+      } else if (this.formData.Status === '4') {
+        this.auditstepcode = 'PROF_AUDIT'
+      } else if (this.formData.Status === '5') {
+        this.auditstepcode = 'PROF_REGULATION'
+      } else if (this.formData.Status === '6') {
+        this.auditstepcode = 'PAYING_FEE'
+      } else if (this.formData.Status === '7') {
+        this.auditstepcode = 'PROF_REGULATION_STORAGE'
+      } else if (this.formData.Status === '10') {
+        this.auditstepcode = 'SUB_OFFICE_WZ'
+      }
+    },
+    isAccess () {
+      this.getAuditStepCodeByStatus()
+      let params = {
+        id: this.formData.Id,
+        auditstepcode: this.auditstepcode,
+        processkey: this.formData.ProcessKey
+      }
+      apiCert.isAccess(params, this.$axios).then(res => {
+        this.auditBtn = res.data
+        if ((this.formData.Status == '3' || this.formData.Status == '4' || this.formData.Status == '7') && res.data) {
+          this.auditBtnBooleanZhuan = true
+        } else {
+          this.auditBtnBooleanZhuan = false
+        }
+        if (Number(this.formData.Status) <= 0 || (this.formData.Status == '7' && res.data)) {
+          this.auditBtnBoolean = true
+        } else {
+          this.auditBtnBoolean = false
+        }
+        if (this.formData.IsBusiness == 1 && this.formData.Status == '4' && this.saveButtonForBusinessAudit) {
+          // 专业处室发起的评价 专业处室审核有权限修改
+          this.auditBtnBoolean = true
+        }
+      }).catch(err => {
+        console.log(err)
+      })
+    },
+    initDatas () {
+      if (this.ContractId) {
+        api.getEntity(this.ContractId, this.$axios).then(res => {
+          this.contractData = res.data
+        }).catch(err => {
+          console.error(err)
+        })
+      }
+    },
+  }
+}
+</script>
+
+<style scoped="scoped">
+
+</style>

+ 468 - 0
src/dashoo.cn/frontend_web/src/components/oilcontract/evaluationlist.vue

@@ -0,0 +1,468 @@
+<template>
+  <div>
+    <el-form ref="formEvaluation" :model="entityListData" label-width="0px" :rules="rules">
+
+      <el-table highlight-current-row :data="entityListData.entityList" border height="calc(100vh - 243px)"
+                style="width: 100%" @sort-change="orderby" v-loading="tableLoading">
+        <el-table-column
+          property="SequenceNo"
+          label="序号"
+          header-align="center"
+          width="80">
+          <template slot-scope="scope">
+            <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{ scope.row.SequenceNo }}</span>
+            <span v-else>{{ scope.row.SequenceNo }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          property="Content"
+          header-align="center"
+          label="评价内容">
+          <template slot-scope="scope">
+            <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{ scope.row.Content }}</span>
+            <span v-else>{{ scope.row.Content }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          property="NormalScore"
+          label="标准分值"
+          header-align="center"
+          width="120">
+          <template slot-scope="scope">
+            <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{ scope.row.NormalScore }}</span>
+            <span v-else-if="scope.row.NormalScore==0" style="font-weight: bold"></span>
+            <span v-else>{{ scope.row.NormalScore }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          property="Score"
+          label="实得分数"
+          header-align="center"
+          width="120">
+          <template slot-scope="scope">
+            <el-form-item style="margin-bottom: 0px;" :prop="'entityList.' + scope.$index + '.Score'"
+                          :rules="rules.relation">
+              <span v-if="scope.row.LevelCode==1"
+                    style="font-weight: bold">{{ scoreFun(scope.row.typeStatus, scope.$index) }}</span>
+              <el-input v-else size="mini" :min="0" :max="scope.row.NormalScore" type="number" placeholder="实得分数"
+                        :disabled="!disabledForm" v-model="scope.row.Score"
+                        @input="onInputFen(scope.$index,scope.row.NormalScore)"></el-input>
+            </el-form-item>
+          </template>
+        </el-table-column>
+        <el-table-column
+          property="Reason"
+          label="扣分原因"
+          header-align="center"
+          width="120"
+          align="center">
+          <template slot-scope="scope">
+            <el-popover
+              placement="top-start"
+              title="原因"
+              width="200"
+              trigger="hover"
+              :content="scope.row.Remark==''||scope.row.Remark==null?'空':scope.row.Remark" v-if="scope.row.LevelCode!=1">
+              <el-button slot="reference"  type="primary" icon="el-icon-edit" size="mini">编辑
+              </el-button>
+            </el-popover>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="" style="display: flex;align-items: center;justify-content: flex-end;margin: 18px 0;">
+        <div>标准总分:{{ standardNum }}分</div>
+        <div style="margin-left: 18px;margin-right: 140px;">实得总分:{{ getNumFun() }}分</div>
+      </div>
+
+
+    </el-form>
+
+    <!-- <div style="display: flex;justify-content: flex-end; margin: 20px 0;">
+       <el-button type="primary" size="mini"   @click="activeName = '1'">上一步<i class="el-icon-arrow-right el-icon--right"></i></el-button>
+       <el-button type="primary" size="mini"   @click="activeName = '3'">下一步<i class="el-icon-arrow-right el-icon--right"></i></el-button>
+     </div> -->
+
+    <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+                   :page-sizes="[10, 15, 20, 25]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
+    </el-pagination> -->
+
+
+
+  </div>
+</template>
+<script>
+import {mapGetters} from 'vuex'
+import api from '@/api/oilcontract/contract'
+// import api from '@/api/oilcontract/contractEvaluationItems';
+
+export default {
+  name: 'oilcontractevaluationitems',
+  props: {
+    // 评价id
+    evaluateId: {
+      type: null,
+      default: ''
+    },
+    // 类型 0 二级部门创建 1 专业处创建
+    category: {
+      type: null,
+      default: ''
+    },
+    // 项目类型
+    ContractClass: {
+      type: null,
+      default: ''
+    },
+    // 是否禁用
+    disabledForm: {
+      type: null,
+      default: false
+    },
+    // 二级单位提交还是业务处室提交
+    isBusiness: {
+      type: null,
+      default: 0
+    }
+  },
+  computed: {
+    ...mapGetters({
+      authUser: 'authUser'
+    }),
+    scoreFun: function () {
+      return function (type, k) {
+        var num = 0
+        var list = this.entityListData.entityList
+        for (var index = 0; index < list.length; index++) {
+          var code = Number(list[index].LevelCode)
+          if (type == list[index].typeStatus && code == 2) {
+            num = num + Number(list[index].Score)
+          }
+        }
+        if (this.entityListData.entityList[k].Score != String(num)) {
+          // this.getNum = this.getNum + Number(num)
+          this.entityListData.entityList[k].Score = String(num)
+        }
+        return num
+      }
+    },
+    getNumFun: function () {
+      return function () {
+        var num = 0
+        var list = this.entityListData.entityList
+        for (var index = 0; index < list.length; index++) {
+          // var code = Number(list[index].LevelCode)
+          if (list[index].LevelCode == 1) {
+            num = num + Number(list[index].Score)
+          }
+        }
+        return num
+      }
+    }
+  },
+  data () {
+    var validatePass = (rule, value, callback) => {
+      var num = Number(value)
+      if (num == '' && num != 0) {
+        this.fractionBoolean = false
+        callback(new Error('请输入分值'))
+        return
+      }
+      // if (num > Number(this.branchNum)) {
+      //   this.fractionBoolean = false
+      //   callback(new Error('不能大于规定的分值'));
+      //   return
+      // }
+      if (num < 0) {
+        this.fractionBoolean = false
+        callback(new Error('不能为负数'))
+        return
+      }
+      this.fractionBoolean = true
+      callback()
+    }
+    return {
+      tableLoading: false,
+      fractionBoolean: true,
+      dialogVisibleCom: false,
+      loading: false,
+      UnitOrgOptions: [],
+      textareaValue: '', // 扣分原因
+      dialogBoolean: false,
+      rules: {
+        relation: [
+          {validator: validatePass, trigger: 'blur'}
+        ]
+      },
+      dialogVisible: false,
+      // 列表数据
+      entityListData: {
+        entityList: []
+      },
+
+      // 分页参数
+      size: 10,
+      currentPage: 1,
+      currentItemCount: 0,
+      // 列表排序
+      Column: {
+        Order: '',
+        Prop: ''
+      },
+      // 查询时间new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()
+      CreateOn: [],
+      // 查询项
+      searchFormReset: {},
+      searchForm: {
+        Id: '',
+        ContractId: '',
+        ParentId: '',
+        SequenceNo: '',
+        Content: '',
+        NormalScore: '',
+        Score: '',
+        LevelCode: '',
+        Remark: '',
+        ModifiedOn: '',
+        ModifiedUserId: '',
+        ModifiedBy: ''
+
+      },
+      auditform: {
+        FirstAuditName: '',
+        SecondAudit: '',
+        ThirdAudit: '',
+        CertId: '',
+        AuditRemark: '',
+        TypeCode: '03'
+      },
+      entityListItemIndex: '',
+      standardNum: 0, // 标准分数
+      getNum: 0// 实得总分
+
+    }
+  },
+  created () {
+    // 数据列表
+    // 判断是编辑状态还是新增状态
+    console.log(this.evaluateId, '2323232')
+    if (this.evaluateId == 0) {
+      this.initDatas()
+    } else {
+      this.editDatas()
+    }
+    // this.getDictOptions()
+  },
+  methods: {
+    // 初始数据
+    initDatas () {
+      this.tableLoading = true
+      // 普通的传1,条件评价穿2
+      var data = {
+        // Category: 1
+        Category: this.isBusiness == 1 ? 2 : 1 // 0二级单位发起的评价,1专业处室的评价,2条件评价 3专业处室发起的评价, 4专业处室发起的条件评价
+      }
+      this.standardNum = 0
+      api.evaluationItemsOnelist(data, this.ContractClass, this.$axios).then(res => {
+        this.tableLoading = false
+        console.log('上级节点内容', res)
+        let data = res.data.items
+        let list = []
+        console.log('普通的传1,条件评价穿2', data)
+        for (let index = 0; index < data.length; index++) {
+          data[index].typeStatus = index
+          data[index].Score = '0'
+          data[index].Category = 1
+          list.push(data[index])
+
+          this.standardNum = this.standardNum + parseInt(data[index].NormalScore)
+          if (data[index].Son != null && data[index].Son != undefined) {
+            console.log('普通的传1,条件评价穿2', data[index].Son)
+            for (let k = 0; k < data[index].Son.length; k++) {
+              data[index].Son[k].Category = 1
+              data[index].Son[k].typeStatus = index
+              data[index].Son[k].Score = data[index].Son[k].NormalScore
+              list.push(data[index].Son[k])
+              // parseInt(data[index].Son[k].NormalScore)
+            }
+          }
+        }
+        this.entityListData.entityList = list
+        console.log('处理完的数据(业绩评价)', list)
+      }).catch(err => {
+        this.tableLoading = false
+        console.error(err)
+      })
+    },
+    // 编辑初始数据
+    editDatas () {
+      this.tableLoading = true
+      console.log('是专业交的吗', this.isBusiness)
+      let data = {
+        ContentReviewId: this.evaluateId,
+        Category: this.isBusiness == 1 ? 2 : this.category,
+        Type: 1
+      }
+      this.standardNum = 0
+      api.contractEvaluationTree(data, this.$axios).then(res => {
+        this.tableLoading = false
+        console.log('编辑后的内容', this.category, res)
+        let data = res.data.items
+        let list = []
+        if (data) {
+          console.log('evaluation111文件', data)
+          for (let index = 0; index < data.length; index++) {
+            data[index].typeStatus = index
+            data[index].Score = data[index].Score === undefined || data[index].Score === '' ? '0' : data[index].Score
+            data[index].Category = 1
+            list.push(data[index])
+            this.standardNum = this.standardNum + parseInt(data[index].NormalScore)
+            console.log('evaluation文件', data[index].Son)
+            if (data[index].Son != null && data[index].Son !== undefined) {
+              for (let k = 0; k < data[index].Son.length; k++) {
+                data[index].Son[k].Category = 1
+                data[index].Son[k].typeStatus = index
+                data[index].Son[k].Score = data[index].Son[k].Score === undefined || data[index].Son[k].Score === '' ? '0' : data[index].Son[k].Score
+                list.push(data[index].Son[k])
+              }
+            }
+          }
+          this.entityListData.entityList = list
+          console.log('处理完的数据(业绩评价)', list)
+        }
+      }).catch(err => {
+        this.tableLoading = false
+        console.error(err)
+      })
+    },
+
+    // 确认编辑内容
+    onTrueDialog () {
+      this.entityListData.entityList[this.entityListItemIndex].Remark = this.textareaValue
+      this.dialogBoolean = false
+    },
+    // 分数校验
+    onInputFen (index, fen) {
+      this.branchNum = fen
+      // this.entityListData.entityList[index].Score = fen
+    },
+
+    searchCommand (command) {
+      if (command == 'search') {
+        this.dialogVisible = true
+      } else if (command == 'clear') {
+        this.clearSearch()
+      }
+    },
+    // 列表排序功能
+    orderby (column) {
+      if (column.order == 'ascending') {
+        this.Column.Order = 'asc'
+      } else if (column.order == 'descending') {
+        this.Column.Order = 'desc'
+      }
+      this.Column.Prop = column.prop
+      this.initDatas()
+    },
+    clearSearch () {
+      Object.assign(this.searchForm, this.searchFormReset)
+      // this.searchForm = this.searchFormReset;
+      this.CreateOn = ''
+      this.initDatas()
+    },
+    handleSearch () {
+      this.currentPage = 1
+      this.dialogVisible = false
+      this.initDatas()
+    },
+    handleCurrentChange (value) {
+      this.currentPage = value
+      this.initDatas()
+    },
+    handleSizeChange (value) {
+      this.size = value
+      this.currentPage = 1
+      this.initDatas()
+    },
+    deleteEntity (row) {
+      row.deleteConfirmFlag = false
+      api.deleteEntity(row.Id, this.$axios).then(res => {
+        if (res.data.code === 0) {
+          this.initDatas()
+          this.$message({
+            type: 'success',
+            message: res.data.message
+          })
+        } else {
+          this.$message({
+            type: 'warning',
+            message: res.data.message
+          })
+        }
+      }).catch(err => {
+        console.error(err)
+      })
+    },
+
+    jstimehandle (val) {
+      if (val === '') {
+        return '----'
+      } else if (val === '0001-01-01T08:00:00+08:00') {
+        return '----'
+      } else if (val === '5000-01-01T23:59:59+08:00') {
+        return '永久'
+      } else {
+        val = val.replace('T', ' ')
+        return val.substring(0, 10)
+      }
+    },
+
+    formatDateTime (date) {
+      var y = date.getFullYear()
+      var m = date.getMonth() + 1
+      m = m < 10 ? ('0' + m) : m
+      var d = date.getDate()
+      d = d < 10 ? ('0' + d) : d
+      var h = date.getHours()
+      var minute = date.getMinutes()
+      minute = minute < 10 ? ('0' + minute) : minute
+      return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+    },
+    orgunitChange (val) {
+      let deptid = val
+      let auditstepcode = 'SUB_OFFICE_JF'
+      api.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
+        this.orgauditOptions = res.data.item
+      }).catch(err => {
+        console.error(err)
+      })
+    },
+    getDictOptions () {
+      let params = {
+        status: this.formData.Status,
+        majorAduit: this.formData.ThirdAudit
+      }
+      api.getDictListByStatus(params, this.$axios).then(res => {
+        this.dictData = res.data.items
+        this.organizeOption = res.data.items['Organizes']
+        this.orgtreelist = window.toolfun_gettreejson(res.data.items['ProOrgList'], 'id', 'pId', 'id,name')
+        this.UnitOrgOptions = res.data.items['UnitOrgList']
+        this.UnitOrg = res.data.items['Register'].CheckUnitId
+        this.allorgunitOptions = res.data.items['Allunitorglist']
+        this.orgunitChange(this.UnitOrg)
+        /* this.UnitRelationOptions = res.data.items['UnitRelation']
+        this.getCityList(res.data.items['GaodeMapChinaAreas'])
+        this.CompanyTypeOptions = res.data.items['CompanyType'] */
+      }).catch(err => {
+        console.error(err)
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.el-pagination {
+  margin: 1rem 0 2rem;
+  text-align: right;
+}
+</style>

+ 717 - 0
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-select/index.vue

@@ -0,0 +1,717 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilsupplier/oilcontract' }">日常评价流程查询</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card" style="height: calc(100vh - 115px);">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 日常评价流程查询
+        </span>
+        <el-form v-model="searchForm" ref="form" :inline="true" style="float: right; margin-top: -10px">
+          <el-form-item>
+            <el-select filterable size="mini" v-model="searchForm.SecondUnit" placeholder="请选择发起评价单位" style="width: 100%" clearable>
+              <el-option v-for="item in secondUnitOptions" :key="item.Id" :label="item.Fullname" :value="item.Id"
+                         style="width: 100%">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-select size="mini" v-model="ContractClass" placeholder="请选择" style="width: 150px" clearable>
+              <el-option label="全部企业类型" value="" key=""></el-option>
+              <el-option key="02" label="承包商" value="02"></el-option>
+              <el-option key="03" label="服务商" value="03"></el-option>
+              <el-option key="01" label="供应商" value="01"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-input size="mini" clearable v-model="searchForm.SupplierName" placeholder="请输入企业名称"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-select size="mini" v-model="searchForm.Status" placeholder="请选择" style="width: 150px" clearable>
+              <el-option label="全部状态" value="" key="01"></el-option>
+              <el-option v-for="(item, index) in auditOptions" :key="index" :label="item.label" :value="item.value" style="width: 100%"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-select size="mini" style="width:100px" v-model="searchForm.Year" placeholder="年度">
+              <el-option label="全部年度" value=""></el-option>
+              <el-option v-for="(item, index) in yearList" :key="index" :label="item" :value="item" style="width: 100%"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item>
+            <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="search">高级查询</el-dropdown-item>
+                <el-dropdown-item command="clear">查询重置</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-form-item>
+        </el-form>
+      </div>
+      <el-table size="mini" id="rebateSetTable" highlight-current-row stripe :data="entityList" border ref="refTable"
+                height="calc(100vh - 243px)" style="width: 100%" @sort-change="orderby" @selection-change="onSelectAll" v-loading="tableLoading">
+        <el-table-column label="操作" min-width="140" align="center" fixed>
+          <template slot-scope="scope">
+            <el-button type="text" title="查看" size="small" @click="onNavigateEvaluate(scope.row)">查看流程
+            </el-button>
+          </template>
+        </el-table-column>
+        <el-table-column v-for="column in tableColumns" :key="column.Id"
+                         v-if="column.prop === 'Status'" :prop="column.prop" sortable :min-width="140" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>
+              <span v-if="scope.row[column.prop] == 0" style="color: #409EFF">{{ columnFun(scope.row[column.prop], column.prop) }}</span>
+              <span v-else-if="scope.row[column.prop] == 8" style="color: #67C23A">{{ columnFun(scope.row[column.prop], column.prop) }}</span>
+              <span v-else-if="scope.row[column.prop] < 0" style="color: #F56C6C">{{ columnFun(scope.row[column.prop], column.prop) }}</span>
+              <span v-else style="color: #E6A23C">{{ columnFun(scope.row[column.prop], column.prop) }}</span>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column v-for="column in tableColumns" :key="column.Id"
+                         v-if="column.prop == 'SupplierName' || column.prop == 'SecondUnitName' || column.prop == 'ContractName' || column.prop == 'ContractNo'" :prop="column.prop" sortable :min-width="240" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>{{ columnFun(scope.row[column.prop], column.prop) }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column v-for="column in tableColumns" :key="column.Id"
+                         v-if="column.prop != 'CreateBy' && column.prop != 'CreateOn' && column.prop != 'SupplierName' && column.prop != 'SecondUnitName' && column.prop != 'ContractName' && column.prop != 'ContractNo' && column.prop != 'Status'" :prop="column.prop" sortable :min-width="140" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>{{ columnFun(scope.row[column.prop], column.prop) }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column v-for="column in tableColumns" :key="column.Id"
+                         v-if="column.prop == 'CreateBy'"  :min-width="100" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>{{ scope.row[column.prop] }}</div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+                     :page-sizes="[10, 50, 100, 200, 500]" :page-size="size" layout="total, sizes, prev, pager, next, jumper"
+                     :total="currentItemCount">
+      </el-pagination>
+    </el-card>
+    <!-- :selectDeptBoolean="false"-->
+    <submit-popup ref="submitpopup" :selectDeptBoolean="false" :eveId="eveIdList" :isTecContract="1" :formData="formData" @tableLoading="changeTableLoading"
+                  @refreshPage="initDatas"></submit-popup>
+    <el-dialog title="高级查询" :close-on-click-modal="false" :visible.sync="dialogVisible" width="720px">
+      <el-form ref="advancedsearchForm" label-width="110px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="企业名称">
+              <el-input size="mini" v-model="searchForm.SupplierName" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="发起评价单位">
+              <el-select filterable size="mini" v-model="searchForm.SecondUnit" placeholder="请选择发起评价单位" style="width: 100%" clearable>
+                <el-option v-for="item in secondUnitOptions" :key="item.Id" :label="item.Fullname" :value="item.Id"
+                           style="width: 100%">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="合同名称">
+              <el-input size="mini" v-model="searchForm.ContractName" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="合同编号">
+              <el-input size="mini" v-model="searchForm.ContractNo" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="合同类别">
+              <el-input size="mini" v-model="searchForm.ClassName" style="width:100%" placeholder="请输入" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="履行状态">
+              <el-select size="mini" v-model="searchForm.PerformStatus" placeholder="请选择" style="width: 100%" clearable>
+                <el-option label="全部" value="" key="01"></el-option>
+                <el-option label="未履行" :value="1" key="02"></el-option>
+                <el-option label="履行中" :value="2" key="03"></el-option>
+                <el-option label="履行完毕" :value="3" key="04"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="项目负责人">
+              <el-input size="mini" v-model="searchForm.ProjectOwner" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="合同总金额(元)">
+              <el-input size="mini" v-model="searchForm.Amount" placeholder="请输入" style="width: 100%" clearable>
+                <template slot="append">(元)</template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="履行时间">
+              <el-date-picker size="mini" v-model="CreateOn1" unlink-panels type="daterange" style="width:100%" range-separator="至"
+                              start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" >
+            <el-form-item label="创建时间">
+              <el-date-picker size="mini" style="width: 100%" v-model="CreateOn" unlink-panels type="daterange" range-separator="至"
+                              start-placeholder="创建日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="handleSearch">查 询</el-button>
+      </span>
+    </el-dialog>
+    <contract-select ref="contractSelect" :contractId="ContractId" :contractClass="ContractClass1" :reviewId="ReviewId"></contract-select>
+
+
+
+  </div>
+</template>
+<script>
+import {mapGetters} from 'vuex'
+import api from '@/api/oilcontract/contract'
+import apiReview from '@/api/oilcontract/contractReview'
+import permissionApi from '@/api/oilcontract/permission'
+import submitPopup from '@/components/oilcontract/submitPopup.vue'
+import contractSelect from '@/components/oilcontract/contractSelect.vue'
+import FileSaver from 'file-saver'
+import XLSX from 'xlsx'
+import util from '../../../utils/util'
+
+export default {
+  computed: {
+    ...mapGetters({
+      authUser: 'authUser'
+    }),
+    columnFun: function () {
+      return function (item, index) {
+        if (index == 'Status') {
+          var index = Number(item)
+          switch (index) {
+            case 0:
+              return '已保存'
+              break
+            case 1:
+              return '待初审'
+              break
+            case 2:
+              return '待复审'
+              break
+            case 3:
+              return '专业科室接收'
+              break
+            case 4:
+              return '待专业处室审核'
+              break
+            case 7:
+              return '待企管法规处审批'
+              break
+            case 8:
+              return '已完成'
+              break
+            case -1:
+              return '初审未通过'
+              break
+            case -2:
+              return '复审未通过'
+              break
+            case -3:
+              return '专业处室未通过'
+              break
+            case -4:
+              return '专业处室审核未通过'
+              break
+            case -9:
+              return '企管法规处审批未通过'
+              break
+            default:
+              return '--'
+              break
+          }
+        } else if (index === 'StartDate' || index === 'EndDate' || index === 'SubmitDate') {
+          let timeString = this.jstimehandle(item)
+          return timeString
+        } else if (index === 'PerformStatus') {
+          let items = Number(item)
+          switch (items) {
+            case 1:
+              return '未履行'
+              break
+            case 2:
+              return '履行中'
+              break
+            case 3:
+              return '履行完毕'
+              break
+            default:
+              return '--'
+          }
+        } else {
+          return item
+        }
+      }
+    }
+  },
+  name: 'oilcontract',
+  components: {
+    submitPopup,
+    contractSelect
+  },
+  data () {
+    return {
+      selectedAuditBtn: '',
+      secondUnitOptions: [],
+      auditOptions: [
+        {
+          value: 0,
+          label: '已保存'
+        }, {
+          value: 1,
+          label: '待初审'
+        }, {
+          value: 2,
+          label: '待复审'
+        }, {
+          value: 3,
+          label: '待专业处室分办'
+        }, {
+          value: 4,
+          label: '待专业处室审核'
+        }, {
+          value: 7,
+          label: '待企管法规处审批'
+        }, {
+          value: 8,
+          label: '已完成'
+        }
+      ],
+      formData: {
+        Status: ''
+      },
+      dailyReviewBatchCode: '',
+      firstBatchPerm: false,
+      secondBatchPerm: false,
+      visibleContract: false,
+      busSepBatchPerm: false,
+      busAuditBatchPerm: false,
+      profRegBatchPerm: false,
+      yearList: [],
+      delAuditProf: false, // 企管法规处的权限
+      tableLoading: false,
+      userSelectBoolean: false,
+      eveIdList: 0,
+      selectAllButtonBoolean: false,
+
+      editeBoolean: false,
+      deleteBoolean: false,
+      dialogVisible: false,
+      dialogVisible1: false,
+      dialogVisible2: false,
+      dialogVisible3: false,
+      ContractClass: '',
+      ContractClass1: '',
+      ReviewId: 0,
+      ContractId: 0,
+      // 列表数据
+      entityList: [],
+      // 分页参数
+      size: 10,
+      currentPage: 1,
+      currentItemCount: 0,
+      // 列表排序
+      Column: {
+        Order: '',
+        Prop: ''
+      },
+      // 查询时间 new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()
+      CreateOn: [],
+      CreateOn1: [],
+      // 查询项
+      searchFormReset: {},
+      searchForm: {
+        Id: '',
+        SecondUnit: '',
+        PerformStatus: '',
+        SupplierId: '',
+        SupplierName: '',
+        ContractName: '',
+        ProjectName: '',
+        ContractNo: '',
+        ProjectPlace: '',
+        ProjectOwner: '',
+        Telephone: '',
+        ProjectType: '',
+        ContractMode: '',
+        Amount: '',
+        ContractPeriod: '',
+        StartDate: '',
+        EndDate: '',
+        ConstructionUnit: '',
+        ConstructionOwner: '',
+        ConstructionTelphone: '',
+        BuildUnit: '',
+        BuildOwner: '',
+        BuildTelphone: '',
+        SuperviseUnit: '',
+        SuperviseOwner: '',
+        SuperviseTelphone: '',
+        QualityUnit: '',
+        QualityOwner: '',
+        QualityTelphone: '',
+        Remark: '',
+        IsDelete: '',
+        CreateOn: '',
+        CreateUserId: '',
+        CreateBy: '',
+        ModifiedOn: '',
+        ModifiedUserId: '',
+        ModifiedBy: '',
+        Status: '',
+        Year: ''
+      },
+      tableColumns: [
+
+        {
+          prop: 'Status',
+          label: '状态',
+          width: 100,
+          sort: true
+        },
+
+        // {
+        //   prop: "SupplierId",
+        //   label: '评价单位',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        {
+          prop: 'SupplierName',
+          label: '企业名称',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'SecondUnitName',
+          label: '发起评价单位',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'CreateBy',
+          label: '创建人',
+          width: 100,
+          sort: false
+        },
+
+        {
+          prop: 'ContractName',
+          label: '合同名称',
+          width: 100,
+          sort: true
+        },
+
+        {
+          prop: 'ContractNo',
+          label: '合同编号',
+          width: 100,
+          sort: true
+        },
+
+        // {
+        //   prop: 'ProjectPlace',
+        //   label: '工程地点',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        {
+          prop: 'ProjectOwner',
+          label: '项目负责人',
+          width: 100,
+          sort: true
+        },
+
+        // {
+        //   prop: 'Telephone',
+        //   label: '联系人电话',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        // {
+        //   prop: 'ProjectType',
+        //   label: '项目类别',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        // {
+        //   prop: "ContractMode",
+        //   label: '合同模式',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        {
+          prop: 'Amount',
+          label: '合同总金额(元)',
+          width: 100,
+          sort: true
+        },
+
+        // {
+        //   prop: 'ContractPeriod',
+        //   label: '合同总工期(天)',
+        //   width: 100,
+        //   sort: true
+        // },
+
+        {
+          prop: 'StartDate',
+          label: '履行期限(始)',
+          width: 100,
+          sort: true
+        },
+
+        {
+          prop: 'EndDate',
+          label: '履行期限(止)',
+          width: 100,
+          sort: true
+        },
+
+        {
+          prop: 'PerformStatus',
+          label: '履行状态',
+          width: 70,
+          sort: true
+        }
+
+      ]
+    }
+  },
+  created () {
+    this.getYearList()
+    // 查询条件初始值备份
+    Object.assign(this.searchFormReset, this.searchForm)
+    // 查询列表
+    this.initDatas()
+    this.getAuditPermForProf()
+    // this.getDictOptions()
+    this.GetSecondUnitOptions()
+  },
+  methods: {
+    GetSecondUnitOptions () {
+      let _this = this
+      this.$axios.get('/register/orgList').then(res => {
+        _this.secondUnitOptions = res.data.items
+      }).catch(err => {
+        console.log(err)
+      })
+    },
+    changeTableLoading (val) {
+      if (val === true) {
+        this.tableLoading = true
+      }
+    },
+    getYearList () {
+      let now = new Date()
+      let nowYear = now.getFullYear()
+      this.yearList = [nowYear, nowYear - 1]
+    },
+    timeStyle (item) {
+      if (item === '0001-01-01T00:00:00Z' || item === '') {
+        return '--'
+      }
+      return util.formatDate('year', item)
+    },
+    // 一键处理
+    onSelectAll (e) {
+      var list = []
+      e.map((item, index) => {
+        list.push(item.Id)
+      })
+      this.eveIdList = String(list)
+    },
+    // 弹框
+    onNavigateEvaluate (item) {
+      console.log(this.$refs, 'this.$refs')
+      this.$refs.contractSelect.ContractId = item.ContractId
+      this.$refs.contractSelect.ReviewId = item.Id
+      this.$refs.contractSelect.activeName = '1'
+      console.log(item.Id,this.$refs.contractSelect.ReviewId, 'this.$refs.contractSelect1')
+      if (item.ContractClass === '01') {
+        this.$refs.contractSelect.dialogVisible1 = true
+      } else if (item.ContractClass === '02') {
+        this.$refs.contractSelect.dialogVisible2 = true
+      } else if (item.ContractClass === '03') {
+        this.$refs.contractSelect.dialogVisible3 = true
+      }
+      //强制刷新
+      this.$refs.contractSelect.show()
+    },
+    initDatas () {
+      this.tableLoading = true
+      // 分页及列表条件
+      let params = {
+        _currentPage: this.currentPage,
+        _size: this.size,
+        Order: this.Column.Order,
+        Prop: this.Column.Prop,
+        ContractClass: this.ContractClass,
+        IsAll: '1'
+      }
+
+      let myCreateOn = []
+      let myCreateOn1 = []
+      // 解析时间
+      if (this.CreateOn.length == 2) {
+        this.CreateOn[1].setHours(23)
+        this.CreateOn[1].setMinutes(59)
+        this.CreateOn[1].setSeconds(59)
+        myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
+        myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
+      }
+      if (this.CreateOn1.length == 2) {
+        this.CreateOn1[1].setHours(23)
+        this.CreateOn1[1].setMinutes(59)
+        this.CreateOn1[1].setSeconds(59)
+        myCreateOn1.push(this.formatDateTime(this.CreateOn1[0]))
+        myCreateOn1.push(this.formatDateTime(this.CreateOn1[1]))
+      }
+      // 查询条件
+      Object.assign(params, this.searchForm)
+      // 访问接口
+      apiReview.getReviewList(myCreateOn.join(','),myCreateOn1.join(','), params, this.$axios).then(res => {
+        this.tableLoading = false
+        this.entityList = res.data.items
+        this.currentItemCount = res.data.currentItemCount
+        this.selectAllButtonBoolean = false
+      }).catch(err => {
+        this.tableLoading = false
+        console.error(err)
+      })
+    },
+
+    searchCommand (command) {
+      if (command == 'search') {
+        this.dialogVisible = true
+      } else if (command == 'clear') {
+        this.clearSearch()
+      }
+    },
+    // 已审批完成 企管法规处有删除权限
+    getAuditPermForProf () {
+      permissionApi.getAuditPermForProf(this.$axios).then(res => {
+        this.delAuditProf = res.data
+      })
+    },
+    // 列表排序功能
+    orderby (column) {
+      if (column.order == 'ascending') {
+        this.Column.Order = 'asc'
+      } else if (column.order == 'descending') {
+        this.Column.Order = 'desc'
+      }
+      this.Column.Prop = column.prop
+      this.initDatas()
+    },
+    clearSearch () {
+      Object.assign(this.searchForm, this.searchFormReset)
+      // this.searchForm = this.searchFormReset;
+      this.CreateOn = ''
+      this.initDatas()
+    },
+    handleSearch () {
+      this.currentPage = 1
+      this.dialogVisible = false
+      this.initDatas()
+    },
+    handleCurrentChange (value) {
+      this.currentPage = value
+      this.initDatas()
+    },
+    handleSizeChange (value) {
+      this.size = value
+      this.currentPage = 1
+      this.initDatas()
+    },
+
+    jstimehandle (val) {
+      if (val === '') {
+        return '----'
+      } else if (val === '0001-01-01T08:00:00+08:00') {
+        return '----'
+      } else if (val === '5000-01-01T23:59:59+08:00') {
+        return '永久'
+      } else {
+        val = val.replace('T', ' ')
+        return val.substring(0, 10)
+      }
+    },
+    exportExcel () {
+      /* generate workbook object from table */
+      let wb = XLSX.utils.table_to_book(
+        document.querySelector('#rebateSetTable')
+      )
+      /* get binary string as output */
+      let wbout = XLSX.write(wb, {
+        bookType: 'xlsx',
+        bookSST: true,
+        type: 'array'
+      })
+      try {
+        FileSaver.saveAs(
+          new Blob([wbout], {
+            type: 'application/octet-stream'
+          }),
+          'SupplierUsedName.xlsx'
+        )
+      } catch (e) {
+        if (typeof console !== 'undefined') console.log(e, wbout)
+      }
+      return wbout
+    },
+    formatDateTime (date) {
+      var y = date.getFullYear()
+      var m = date.getMonth() + 1
+      m = m < 10 ? ('0' + m) : m
+      var d = date.getDate()
+      d = d < 10 ? ('0' + d) : d
+      var h = date.getHours()
+      var minute = date.getMinutes()
+      minute = minute < 10 ? ('0' + minute) : minute
+      return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.el-pagination {
+  margin: 1rem 0 2rem;
+  text-align: right;
+}
+</style>

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/index.vue

@@ -200,8 +200,8 @@
                               start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="12" label="创建时间">
-            <el-form-item>
+          <el-col :span="12">
+            <el-form-item label="创建时间">
               <el-date-picker size="mini" style="width: 100%" v-model="CreateOn" unlink-panels type="daterange" range-separator="至"
                               start-placeholder="创建日期" end-placeholder="结束日期"></el-date-picker>
             </el-form-item>