瀏覽代碼

增项流程修改

huahaiyan 6 年之前
父節點
當前提交
36c80c038d

+ 47 - 33
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertappend.go

@@ -4,7 +4,9 @@ import (
 	"dashoo.cn/backend/api/business/audithistory"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
 	"dashoo.cn/business2/userRole"
+	"dashoo.cn/business2/items"
 	"encoding/json"
+	"fmt"
 	"strconv"
 	"strings"
 	"time"
@@ -396,7 +398,20 @@ func (this *OilSupplierCertAppendController) GetMyTaskEntityList() {
 
 	//找出待办任务
 	actisvc := workflow.GetActivitiService(utils.DBE)
-	appendIdList := actisvc.GetMyTasks(workflow.OIL_APPEND_APPLY, this.User.Id)
+	var appendIdList string
+	if actisvc.GetMyTasks(workflow.OIL_APPEND_APPLY, this.User.Id) != "" {
+		appendIdList = actisvc.GetMyTasks(workflow.OIL_APPEND_APPLY, this.User.Id)
+		appendIdList = appendIdList + ","
+	}
+	if actisvc.GetMyTasks(workflow.OIL_FIRST_APPEND_APPLY, this.User.Id) != "" {
+		appendIdList = fmt.Sprintf("%s %s", appendIdList, actisvc.GetMyTasks(workflow.OIL_FIRST_APPEND_APPLY, this.User.Id))
+		appendIdList = appendIdList + ","
+	}
+	if actisvc.GetMyTasks(workflow.OIL_SECOND_APPEND_APPLY, this.User.Id) != "" {
+		appendIdList = fmt.Sprintf("%s %s", appendIdList, actisvc.GetMyTasks(workflow.OIL_SECOND_APPEND_APPLY, this.User.Id))
+		appendIdList = appendIdList + ","
+	}
+	appendIdList = strings.Trim(appendIdList, ",")
 	appendIdarr := strings.Split(appendIdList, ",")
 	for i, item := range appendIdarr {
 		idx := strings.Index(item,"-")
@@ -430,6 +445,8 @@ func (this *OilSupplierCertAppendController) GetMyTaskEntityList() {
 func (this *OilSupplierCertAppendController) AuditEntity() {
 	certappendId := this.Ctx.Input.Param(":id")
 	firstAudit := this.GetString("FirstAuditName")
+	SecondAudit := this.GetString("SecondAudit")
+	ThirdAudit := this.GetString("ThirdAudit")
 	AuditRemark := this.GetString("AuditRemark")
 
 	//取出审批列表
@@ -526,6 +543,8 @@ func (this *OilSupplierCertAppendController) AuditEntity() {
 	model.WorkFlowId = processInstanceId
 	model.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
 	model.FirstAudit, _ = strconv.Atoi(firstAudit)
+	model.SecondAudit, _ = strconv.Atoi(SecondAudit)
+	model.ThirdAudit, _ = strconv.Atoi(ThirdAudit)
 	model.AuditIndex = supplierCertAppendEntity.AuditIndex
 	model.BusinessKey = businessKey
 	cols := []string{
@@ -533,6 +552,8 @@ func (this *OilSupplierCertAppendController) AuditEntity() {
 		"WorkFlowId",
 		"Status",
 		"FirstAudit",
+		"SecondAudit",
+		"ThirdAudit",
 		"AuditIndex",
 		"BusinessKey",
 	}
@@ -547,9 +568,10 @@ func (this *OilSupplierCertAppendController) AuditEntity() {
 func (this *OilSupplierCertAppendController) AuditEntityFir() {
 	appendId := this.Ctx.Input.Param(":id")
 	//取出审批列表
-	certSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
+	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+	svc := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
 	var supplierCertAppendEntity suppliercertappend.OilSupplierCertAppend
-	certSrv.GetEntityById(appendId, &supplierCertAppendEntity)
+	svc.GetEntityById(appendId, &supplierCertAppendEntity)
 
 	var jsonblob = this.Ctx.Input.RequestBody
 	var dataother AppShenHeModel
@@ -576,26 +598,18 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 	var userIds string
 	if supplierCertAppendEntity.InStyle == "2" {
 		if supplierCertAppendEntity.Status == suppliercert.SECOND_TRIAL_STATUS{
-			supplierCertAppendEntity.Status = "4"
+			supplierCertAppendEntity.Status = suppliercert.PROF_AUDIT_STATUS
 		}
 	}
-	if supplierCertAppendEntity.Status == "1" {
-		userIds = utils.ToStr(dataother.Auditer)
+	if supplierCertAppendEntity.Status == suppliercert.FIRST_TRIAL_STATUS {
+		userIds = utils.ToStr(supplierCertAppendEntity.SecondAudit)
 		status = suppliercert.SECOND_TRIAL_STATUS
 		step = 2
-		backstatus = "-1"
-		supplierCertAppendEntity.ThirdAudit = dataother.MajorDept
-		cols := []string{
-			"ThirdAudit",
-		}
-		certSrv.UpdateEntityByIdCols(appendId, supplierCertAppendEntity, cols)
-	} else if supplierCertAppendEntity.Status == "2" {
+		backstatus = suppliercert.NOPASS_STATUS
+	} else if supplierCertAppendEntity.Status == suppliercert.SECOND_TRIAL_STATUS {
 		status = suppliercert.THIRD_TRIAL_STATUS
 		step = 2
-		backstatus = "-2"
-		//var users []suppliercert.UserList
-		//where := "OrganizeId=" + strconv.Itoa(supplierCertAppendEntity.ThirdAudit) + " and AuditStepCode='" + workflow.PROF_RECE + "'"
-		//certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
 		supsvc := suppliercert.GetOilSupplierCertService(utils.DBE)
 		var users []userRole.Base_RoleList
 		supsvc.GetAuditUser(strconv.Itoa(supplierCertAppendEntity.ThirdAudit), workflow.PROF_RECE, &users)
@@ -603,31 +617,31 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
-	} else if supplierCertAppendEntity.Status == "3" {
+	} else if supplierCertAppendEntity.Status == suppliercert.THIRD_TRIAL_STATUS {
 		userIds = utils.ToStr(dataother.Auditer)
 		status = suppliercert.PROF_AUDIT_STATUS
 		step = 2
-		backstatus = "-3"
-	} else if supplierCertAppendEntity.Status == "4" {
+		backstatus = suppliercert.NO_THIRD_TRIAL_STATUS
+	} else if supplierCertAppendEntity.Status == suppliercert.PROF_AUDIT_STATUS {
 		status = suppliercert.CENT_AUDIT_STATUS
 		step = 2
-		backstatus = "-4"
-		//var users []suppliercert.UserList
-		//where := "OrganizeId=100000178 and AuditStepCode='" + workflow.PROF_REGULATION + "'"
-		//certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
-		supsvc := suppliercert.GetOilSupplierCertService(utils.DBE)
+		backstatus = suppliercert.NO_PROF_AUDIT_STATUS
+		dictSvc := items.GetItemsService(utils.DBE)
+		deptIds := dictSvc.GetKeyValueItems("CENT_AUDIT")
 		var users []userRole.Base_RoleList
-		supsvc.GetAuditUser("100000178", workflow.PROF_REGULATION, &users)
-
-		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+		for _, dept := range deptIds {
+			certSrv.GetAuditUser(dept.Value, workflow.PROF_REGULATION, &users)
+			for _, tmpUser := range users {
+				userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+			}
 		}
+
 		userIds = strings.Trim(userIds, ",")
-	} else if supplierCertAppendEntity.Status == "5" {
+	} else if supplierCertAppendEntity.Status == suppliercert.CENT_AUDIT_STATUS {
 		userIds = utils.ToStr(dataother.Auditer)
 		status = suppliercert.PAYING_AUDIT_STATUS
 		step = 3
-		backstatus = "-5"
+		backstatus = suppliercert.NO_CENT_AUDIT_STATUS
 	}
 
 	svcActiviti := workflow.GetActivitiService(utils.DBE)
@@ -656,7 +670,7 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 				"Status",
 				"Step",
 			}
-			certSrv.UpdateEntityByIdCols(appendId, supplierCertAppendEntity, cols)
+			svc.UpdateEntityByIdCols(appendId, supplierCertAppendEntity, cols)
 			if supplierCertAppendEntity.Status == "5" {
 				if supplierCertAppendEntity.InStyle == "1" {
 					paysvc := paymentinfo.GetPaymentService(utils.DBE)
@@ -701,7 +715,7 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 				"Step",
 				"AuditIndex",
 			}
-			_,err := certSrv.UpdateEntityByIdCols(appendId, supplierCertAppendEntity, cols)
+			_,err := svc.UpdateEntityByIdCols(appendId, supplierCertAppendEntity, cols)
 			if err == nil {
 				errinfo.Message = "提交成功!"
 				errinfo.Code = 0

+ 2 - 4
src/dashoo.cn/frontend_web/src/pages/oilsupplier/addtionaudit/_opera/basisdataopera.vue

@@ -129,7 +129,7 @@
         <el-form-item label="意见">
           <el-input type="textarea" v-model="shenheForm.AuditorRemark" placeholder="请输入审核说明"></el-input>
         </el-form-item>
-        <el-form-item :label="aduitlabel"
+        <!-- <el-form-item :label="aduitlabel"
           v-if="this.formData.Status != '2' && this.formData.Status != '4' && this.formData.Status !== '5' ">
           <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 100%" filterable allow-create
             default-first-option>
@@ -141,9 +141,7 @@
           <el-cascader :options="orgtreelist" :props="orgtreeprops" :show-all-levels="false" filterable
             style="width: 100%" v-model="majorDept" placeholder="请选择组织">
           </el-cascader>
-        </el-form-item>
-
-
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer" style="margin-top: -25px">
         <el-button size="small" @click="dialogMakeSure2 = false">取 消</el-button>

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/addtionaudit/_opera/goodsdataopera.vue

@@ -132,7 +132,7 @@
         <el-form-item label="意见">
           <el-input type="textarea" v-model="shenheForm.AuditorRemark" placeholder="请输入审核说明"></el-input>
         </el-form-item>
-        <el-form-item :label="aduitlabel"
+        <!-- <el-form-item :label="aduitlabel"
           v-if="this.formData.Status != '2' && this.formData.Status != '4' && this.formData.Status !== '5' ">
           <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 100%" filterable allow-create
             default-first-option>
@@ -144,7 +144,7 @@
           <el-cascader :options="orgtreelist" :props="orgtreeprops" :show-all-levels="false" filterable
             style="width: 100%" v-model="majorDept" placeholder="请选择组织">
           </el-cascader>
-        </el-form-item>
+        </el-form-item> -->
 
 
       </el-form>

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/addtionaudit/_opera/techdataopera.vue

@@ -129,7 +129,7 @@
         <el-form-item label="意见">
           <el-input type="textarea" v-model="shenheForm.AuditorRemark" placeholder="请输入审核说明"></el-input>
         </el-form-item>
-        <el-form-item :label="aduitlabel"
+        <!-- <el-form-item :label="aduitlabel"
           v-if="this.formData.Status != '2' && this.formData.Status != '4' && this.formData.Status !== '5' ">
           <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 100%" filterable allow-create
             default-first-option>
@@ -141,7 +141,7 @@
           <el-cascader :options="orgtreelist" :props="orgtreeprops" :show-all-levels="false" filterable
             style="width: 100%" v-model="majorDept" placeholder="请选择组织">
           </el-cascader>
-        </el-form-item>
+        </el-form-item> -->
 
       </el-form>
       <div slot="footer" class="dialog-footer" style="margin-top: -25px">

+ 79 - 38
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/basisdataopera.vue

@@ -212,26 +212,26 @@
     </el-dialog>
 
     <el-dialog title="提交初审" :visible.sync="AuditdialogShow" width="520px">
-      <el-form ref="searchForm" label-width="70px">
+      <el-form ref="searchForm" label-width="110px">
         <el-row>
-          <!--<el-col :span="24">
-            <el-form-item label="二级单位">
-              <el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false"
-                filterable style="width: 100%" @change="auditOrgChang" v-model="secOrganize" placeholder="请选择组织">
-              </el-cascader>
-            </el-form-item>
-          </el-col>-->
           <el-col :span="24">
-            <el-form-item label="审批人">
-              <!--<el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 90%" filterable
-                allow-create default-first-option>
-                <el-option v-for="item in auditerOption" :key="item.id" :label="item.realname" :value="item.id">
-                </el-option>
-              </el-select>-->
-              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择审批人">
+            <el-form-item label="初审人员">
+              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择初审人">
                 <el-button slot="append" icon="el-icon-search" @click="chooseAuditorShow"></el-button>
               </el-input>
             </el-form-item>
+            <el-form-item label="复审人员">
+              <el-select ref="selectAuditer" v-model="fushenauditer" placeholder="请选择复审人" style="width: 100%" filterable
+                allow-create default-first-option>
+                <el-option v-for="item in secauditerOptions" :key="item.id" :label="item.realname" :value="item.id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业处室">
+              <el-cascader :options="preorgtreelist" :props="orgtreeprops" :show-all-levels="false" filterable
+                style="width: 100%" v-model="majorDept" placeholder="请选择专业处室" @change="orgtreeChange">
+              </el-cascader>
+            </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="说明">
@@ -298,12 +298,14 @@
         audithistoryshow: false,
         chooseAuditorVisible: false,
         orgtreelist: [], //二级单位
+        preorgtreelist: [],
+        secauditerOptions: [],
         AuditdialogShow: false, //提交审核弹框
         organizeOption: [], // 审批部门
         auditerOption: [], // 审批人
         orgtreeprops: {
           value: 'id',
-          label: 'Fullname',
+          label: 'name',
           children: 'children'
         },
         backhistroy: {
@@ -341,10 +343,14 @@
         auditform: {
           FirstAuditName: '',
           CertId: '',
-          AuditRemark: ''
+          AuditRemark: '',
+          SecondAudit: '',
+          ThirdAudit: ''
         },
         auditer: '',
         auditerName: '',
+        fushenauditer: '', //复审人员
+        majorDept: [100000000, 100000128, 100000151],
         FirstAudit: '',
         supplierList: [], //供应方公司列表
         supplierOptions: '', //已选择的供应方公司列表
@@ -445,9 +451,20 @@
       this.getSupplierList() //获取供应方公司列表
       this.getDictOptions()
       this.getorgtreelist()
+      this.orgtreeChange(this.majorDept)
 
     },
     methods: {
+      orgtreeChange(val) {
+        this.userOptions = []
+        let deptid = val[val.length - 1]
+        let auditstepcode = 'PROF_RECE'
+        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
+          this.userOptions = res.data.item
+        }).catch(err => {
+          console.error(err)
+        })
+      },
 
       //获取推荐单位列表
       getOrgTreeList() {
@@ -471,8 +488,14 @@
           })
       },
       getDictOptions() {
-        fileapi.getDictList(this.$axios).then(res => {
-          this.yasuoname = res.data.items['YaSuoName']
+        let params = {
+          status: this.formData.Status,
+          majorAduit: this.formData.ThirdAudit
+        }
+        suppapi.getDictListByStatus(params, this.$axios).then(res => {
+          this.dictData = res.data.items
+          this.organizeOption = res.data.items['Organizes']
+          this.preorgtreelist = window.toolfun_gettreejson(res.data.items['ProOrgList'], 'id', 'pId', 'id,name')
         }).catch(err => {
           console.error(err)
         })
@@ -938,20 +961,55 @@
         this.auditer = val
         this.auditerName = name
         this.chooseAuditorVisible = false
+        this.auditOrgChang(this.auditer)
+      },
+      auditOrgChang(val) {
+        let auditstepcode = "SECOND_TRIAL";
+        suppapi
+          .getAuditerByFirst(val, auditstepcode, this.$axios)
+          .then(res => {
+            this.secauditerOptions = res.data.item
+          })
+          .catch(err => {
+            console.error(err);
+          });
       },
 
       //提交审批
       AuditEntity() {
-        if (this.auditer === '') {
+        if (this.auditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择初审人!"
+          })
+          return
+        }
+        if (this.fushenauditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择复审人!"
+          })
+          return
+        }
+        if (this.majorDept.length === 0) {
+          this.$message({
+            type: "warning",
+            message: "请选择专业处室!"
+          })
+          return
+        }
+        if (this.userOptions == null || this.userOptions.length === 0) {
           this.$message({
             type: 'warning',
-            message: '请选择审批人!'
+            message: '该专业科室未配置接收人!'
           })
           return
         }
         this.applyLoading = true
         this.auditform.FirstAuditName = this.auditer
         this.auditform.CertId = this.formData.Id
+        this.auditform.SecondAudit = this.fushenauditer
+        this.auditform.ThirdAudit = this.majorDept[this.majorDept.length - 1]
         api2.auditEntity(this.formData.Id, this.auditform, this.$axios).then(res => {
           if (res.data.code === 0) {
             // 保存成功后,初始化数据,变成修改
@@ -987,24 +1045,7 @@
             console.error(err)
           })
       },
-      auditOrgChang(val) {
-        let deptid = val[val.length - 1]
-        this.auditerOption = []
-        let auditstepcode = 'FIRST_TRIAL'
-        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
-          this.auditerOption = res.data.item
-        }).catch(err => {
-          console.error(err)
-        })
-      },
 
-      getDictOptions() {
-        suppapi.getDictList(this.$axios).then(res => {
-          this.dictData = res.data.items
-        }).catch(err => {
-          console.error(err)
-        })
-      },
       //列表排序功能
       orderby(column) {
         if (column.order == 'ascending') {

+ 96 - 31
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/goodsdataopera.vue

@@ -35,7 +35,8 @@
         <el-card class="box-card" style="margin-top: 20px">
           <div slot="header">
             <span><i class="icon icon-table2"></i> 增项信息</span>
-            <el-button style="float: right; padding: 3px 0" type="text" v-if="formData.Status <= 0 && formData.Status != -5" @click="saveEntity()">保存信息</el-button>
+            <el-button style="float: right; padding: 3px 0" type="text"
+              v-if="formData.Status <= 0 && formData.Status != -5" @click="saveEntity()">保存信息</el-button>
           </div>
           <el-form label-width="150px" ref="EntityForm" :rules="appendRules" :model="formData">
             <el-row>
@@ -49,8 +50,8 @@
               </el-col> -->
               <el-col :span="8">
                 <el-form-item label="供应方公司名称" prop="checkSelectedSupplier">
-                  <el-select ref="suppselect" :disabled="formData.Status>0" v-model="supplierOptions" filterable @change="getInfo" placeholder="请选择供应方公司"
-                    style="width: 100%">
+                  <el-select ref="suppselect" :disabled="formData.Status>0" v-model="supplierOptions" filterable
+                    @change="getInfo" placeholder="请选择供应方公司" style="width: 100%">
                     <el-option v-for="item in supplierList" :key="item.SupplierId" :label="item.SupplierName"
                       :value="item.SupplierId">
                     </el-option>
@@ -59,7 +60,8 @@
               </el-col>
               <el-col :span="16">
                 <el-form-item label="备注" prop="Remark">
-                  <el-input :disabled="formData.Status>0" type="textarea" v-model="formData.Remark" placeholder="请输入"></el-input>
+                  <el-input :disabled="formData.Status>0" type="textarea" v-model="formData.Remark" placeholder="请输入">
+                  </el-input>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -69,7 +71,8 @@
         <el-card class="box-card" style="margin-top: 10px;">
           <div slot="header">
             <span><i class="icon icon-table2"></i> 增项分类</span>
-            <el-button style="float: right; padding: 3px 0" type="text" v-if="formData.Status <= 0 && formData.Status != -5" @click="addSortData()">添加</el-button>
+            <el-button style="float: right; padding: 3px 0" type="text"
+              v-if="formData.Status <= 0 && formData.Status != -5" @click="addSortData()">添加</el-button>
           </div>
           <el-table :data="entityList" border style="width: 100%" @sort-change="orderby">
             <el-table-column label="操作" min-width="100" align="center" fixed>
@@ -141,12 +144,12 @@
           <el-col :span="12">
             <el-form-item label="资质文件">
               <!--<el-upload multiple style="margin-top: 10px;" action="" ref="refuploadattach"-->
-                <!--:http-request="uploadrequest" class="attach-uploader" :before-upload="beforeAvatarUpload">-->
-                <!--<i class="el-icon-plus attach-uploader-icon"></i>-->
-                <!--<div slot="tip" class="el-upload__tip">大小为512KB-5MB</div>-->
+              <!--:http-request="uploadrequest" class="attach-uploader" :before-upload="beforeAvatarUpload">-->
+              <!--<i class="el-icon-plus attach-uploader-icon"></i>-->
+              <!--<div slot="tip" class="el-upload__tip">大小为512KB-5MB</div>-->
               <!--</el-upload>-->
-              <el-upload multiple style="margin-top: 10px;" action="" ref="refuploadattach" :http-request="uploadrequest"
-                         class="attach-uploader" :before-upload="beforeAvatarUpload">
+              <el-upload multiple style="margin-top: 10px;" action="" ref="refuploadattach"
+                :http-request="uploadrequest" class="attach-uploader" :before-upload="beforeAvatarUpload">
                 <i class="el-icon-plus attach-uploader-icon"></i>
                 <div slot="tip" class="el-upload__tip">大小为512KB-5MB</div>
               </el-upload>
@@ -195,14 +198,26 @@
     </el-dialog>
 
     <el-dialog title="提交初审" :visible.sync="AuditdialogShow" width="520px">
-      <el-form ref="searchForm" label-width="70px">
+      <el-form ref="searchForm" label-width="110px">
         <el-row>
-          <el-col :span="24">
-            <el-form-item label="审人">
-              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择审人">
+         <el-col :span="24">
+            <el-form-item label="审人">
+              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择审人">
                 <el-button slot="append" icon="el-icon-search" @click="chooseAuditorShow"></el-button>
               </el-input>
             </el-form-item>
+            <el-form-item label="复审人员">
+              <el-select ref="selectAuditer" v-model="fushenauditer" placeholder="请选择复审人" style="width: 100%" filterable
+                allow-create default-first-option>
+                <el-option v-for="item in secauditerOptions" :key="item.id" :label="item.realname" :value="item.id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业处室">
+              <el-cascader :options="preorgtreelist" :props="preorgtreeprops" :show-all-levels="false" filterable
+                style="width: 100%" v-model="majorDept" placeholder="请选择专业处室" @change="orgtreeChange">
+              </el-cascader>
+            </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="说明">
@@ -278,6 +293,10 @@
         audithistoryshow: false,
         chooseAuditorVisible: false,
         orgtreelist: [], //二级单位
+        preorgtreelist: [],
+        secauditerOptions: [],
+        fushenauditer: '', //复审人员
+        majorDept: [100000000, 100000001, 100000071], //专业可是
         AuditdialogShow: false, //提交审核弹框
         filterText: '',
         organizeOption: [], // 审批部门
@@ -288,6 +307,11 @@
           children: 'children',
           isLeaf: 'Leaf'
         },
+        preorgtreeprops: {
+          value: 'id',
+          label: 'name',
+          children: 'children'
+        },
         backhistroy: {
           certId: '',
           classId: '01',
@@ -296,7 +320,9 @@
         auditform: {
           FirstAuditName: '',
           CertId: '',
-          AuditRemark: ''
+          AuditRemark: '',
+          SecondAudit: '',
+          ThirdAudit: ''
         },
         auditbusList: [],
         SupplierId: 0,
@@ -430,8 +456,19 @@
       this.getSupplierList() //获取供应方公司列表
       this.getDictOptions()
       this.getorgtreelist()
+      this.orgtreeChange(this.majorDept)
     },
     methods: {
+      orgtreeChange(val) {
+        this.userOptions = []
+        let deptid = val[val.length - 1]
+        let auditstepcode = 'PROF_RECE'
+        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
+          this.userOptions = res.data.item
+        }).catch(err => {
+          console.error(err)
+        })
+      },
 
       //获取推荐单位列表
       getOrgTreeList() {
@@ -1009,20 +1046,54 @@
         this.auditer = val
         this.auditerName = name
         this.chooseAuditorVisible = false
+        this.auditOrgChang(this.auditer)
+      },
+      auditOrgChang(val) {
+        let auditstepcode = "SECOND_TRIAL";
+        suppapi
+          .getAuditerByFirst(val, auditstepcode, this.$axios)
+          .then(res => {
+            this.secauditerOptions = res.data.item
+          })
+          .catch(err => {
+            console.error(err);
+          });
       },
-
       //提交审批
       AuditEntity() {
-        if (this.auditer === '') {
+        if (this.auditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择初审人!"
+          })
+          return
+        }
+        if (this.fushenauditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择复审人!"
+          })
+          return
+        }
+        if (this.majorDept.length === 0) {
+          this.$message({
+            type: "warning",
+            message: "请选择专业处室!"
+          })
+          return
+        }
+        if (this.userOptions == null || this.userOptions.length === 0) {
           this.$message({
             type: 'warning',
-            message: '请选择审批人!'
+            message: '该专业科室未配置接收人!'
           })
           return
         }
         this.applyLoading = true
         this.auditform.FirstAuditName = this.auditer
         this.auditform.CertId = this.formData.Id
+        this.auditform.SecondAudit = this.fushenauditer
+        this.auditform.ThirdAudit = this.majorDept[this.majorDept.length - 1]
         console.log("---this.auditform---", this.auditform)
         api2.auditEntity(this.formData.Id, this.auditform, this.$axios).then(res => {
           if (res.data.code === 0) {
@@ -1059,22 +1130,16 @@
             console.error(err)
           })
       },
-      auditOrgChang(val) {
-        let deptid = val[val.length - 1]
-        console.log(deptid)
-        this.auditerOption = []
-        let auditstepcode = 'FIRST_TRIAL'
-        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
-          this.auditerOption = res.data.item
-          console.log("---this.auditerOption---", this.auditerOption)
-        }).catch(err => {
-          console.error(err)
-        })
-      },
 
       getDictOptions() {
-        suppapi.getDictList(this.$axios).then(res => {
+        let params = {
+          status: this.formData.Status,
+          majorAduit: this.formData.ThirdAudit
+        }
+        suppapi.getDictListByStatus(params, this.$axios).then(res => {
           this.dictData = res.data.items
+          this.organizeOption = res.data.items['Organizes']
+          this.preorgtreelist = window.toolfun_gettreejson(res.data.items['ProOrgList'], 'id', 'pId', 'id,name')
         }).catch(err => {
           console.error(err)
         })

+ 82 - 20
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/techdataopera.vue

@@ -199,14 +199,26 @@
     </el-dialog>
 
     <el-dialog title="提交初审" :visible.sync="AuditdialogShow" width="520px">
-      <el-form ref="searchForm" label-width="70px">
+      <el-form ref="searchForm" label-width="110px">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="审人">
-              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择审人">
+            <el-form-item label="审人">
+              <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择审人">
                 <el-button slot="append" icon="el-icon-search" @click="chooseAuditorShow"></el-button>
               </el-input>
             </el-form-item>
+            <el-form-item label="复审人员">
+              <el-select ref="selectAuditer" v-model="fushenauditer" placeholder="请选择复审人" style="width: 100%" filterable
+                allow-create default-first-option>
+                <el-option v-for="item in secauditerOptions" :key="item.id" :label="item.realname" :value="item.id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业处室">
+              <el-cascader :options="preorgtreelist" :props="preorgtreeprops" :show-all-levels="false" filterable
+                style="width: 100%" v-model="majorDept" placeholder="请选择专业处室" @change="orgtreeChange">
+              </el-cascader>
+            </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="说明">
@@ -279,6 +291,10 @@
         audithistoryshow: false,
         chooseAuditorVisible: false,
         orgtreelist: [], //二级单位
+        preorgtreelist: [],
+        secauditerOptions: [],
+        fushenauditer: '', //复审人员
+        majorDept: [], //专业可是
         AuditdialogShow: false, //提交审核弹框
         organizeOption: [], // 审批部门
         auditerOption: [], // 审批人
@@ -287,6 +303,11 @@
           label: 'CodeName',
           children: 'children'
         },
+        preorgtreeprops: {
+          value: 'id',
+          label: 'name',
+          children: 'children'
+        },
         backhistroy: {
           certId: '',
           classId: '03',
@@ -295,7 +316,9 @@
         auditform: {
           FirstAuditName: '',
           CertId: '',
-          AuditRemark: ''
+          AuditRemark: '',
+          SecondAudit: '',
+          ThirdAudit: ''
         },
         auditbusList: [],
         SupplierId: 0,
@@ -429,9 +452,19 @@
       //this.getTechTreeList() //获取技术服务类层级列表
       this.getSupplierList() //获取供应方公司列表
       this.getDictOptions()
+      this.orgtreeChange(this.majorDept)
     },
     methods: {
-
+      orgtreeChange(val) {
+        this.userOptions = []
+        let deptid = val[val.length - 1]
+        let auditstepcode = 'PROF_RECE'
+        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
+          this.userOptions = res.data.item
+        }).catch(err => {
+          console.error(err)
+        })
+      },
       //获取推荐单位列表
       getOrgTreeList() {
         let _this = this
@@ -933,20 +966,55 @@
         this.auditer = val
         this.auditerName = name
         this.chooseAuditorVisible = false
+        this.auditOrgChang(this.auditer)
+      },
+      auditOrgChang(val) {
+        let auditstepcode = "SECOND_TRIAL";
+        suppapi
+          .getAuditerByFirst(val, auditstepcode, this.$axios)
+          .then(res => {
+            this.secauditerOptions = res.data.item
+          })
+          .catch(err => {
+            console.error(err);
+          });
       },
 
       //提交审批
       AuditEntity() {
-        if (this.auditer === '') {
+        if (this.auditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择初审人!"
+          })
+          return
+        }
+        if (this.fushenauditer === "") {
+          this.$message({
+            type: "warning",
+            message: "请选择复审人!"
+          })
+          return
+        }
+        if (this.majorDept.length === 0) {
+          this.$message({
+            type: "warning",
+            message: "请选择专业处室!"
+          })
+          return
+        }
+        if (this.userOptions == null || this.userOptions.length === 0) {
           this.$message({
             type: 'warning',
-            message: '请选择审批人!'
+            message: '该专业科室未配置接收人!'
           })
           return
         }
         this.applyLoading = true
         this.auditform.FirstAuditName = this.auditer
         this.auditform.CertId = this.formData.Id
+        this.auditform.SecondAudit = this.fushenauditer
+        this.auditform.ThirdAudit = this.majorDept[this.majorDept.length - 1]
         console.log("---this.auditform---", this.auditform)
         api2.auditEntity(this.formData.Id, this.auditform, this.$axios).then(res => {
           if (res.data.code === 0) {
@@ -988,22 +1056,16 @@
             console.error(err)
           })
       },
-      auditOrgChang(val) {
-        let deptid = val[val.length - 1]
-        console.log(deptid)
-        this.auditerOption = []
-        let auditstepcode = 'FIRST_TRIAL'
-        suppapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
-          this.auditerOption = res.data.item
-          console.log("---this.auditerOption---", this.auditerOption)
-        }).catch(err => {
-          console.error(err)
-        })
-      },
 
       getDictOptions() {
-        suppapi.getDictList(this.$axios).then(res => {
+        let params = {
+          status: this.formData.Status,
+          majorAduit: this.formData.ThirdAudit
+        }
+        suppapi.getDictListByStatus(params, this.$axios).then(res => {
           this.dictData = res.data.items
+          this.organizeOption = res.data.items['Organizes']
+          this.preorgtreelist = window.toolfun_gettreejson(res.data.items['ProOrgList'], 'id', 'pId', 'id,name')
         }).catch(err => {
           console.error(err)
         })