Browse Source

年审修改

huahaiyan 6 years ago
parent
commit
8150438641

+ 10 - 4
src/dashoo.cn/backend/api/controllers/oilsupplier/annualaudit.go

@@ -2,6 +2,7 @@ package oilsupplier
 
 import (
 	"dashoo.cn/backend/api/business/baseUser"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/organize"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	"dashoo.cn/business2/areajson"
@@ -432,13 +433,18 @@ func (this *AnnualAuditController) AnnualAudit() {
 	//审核状态判断进行的操作
 	if dataother.SuccessStatus == 1 {
 		var errinfo ErrorInfo
-		//提交审核工作流
-		//processInstanceId, res := svc.SubmitOrgAudit(utils.ToStr(dataother.SuccessStatus), list.WorkflowId, utils.ToStr(list.CerId), utils.ToStr(list.Id), workflow.OIL_AUDIT_APPLY, workflow.PROF_AUDIT, this.User.Id, "1", "提交给业务处室专业审核", OilSupplierCertSubName, OilClassOrgSettingName)
-		//fmt.Println(processInstanceId)
+		var users []suppliercert.UserList
+		where := "OrganizeId=" + ProfAudit + " and AuditStepCode='" + workflow.PROF_RECE + "'"
+		svc.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		var userIds string
+		for _, tmpUser := range users {
+			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+		}
+		userIds = strings.Trim(userIds, ",")
 		var ActiComplete workflow.ActiCompleteVM
 		ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
 		ActiComplete.BusinessKey = strconv.Itoa(dataother.AnnualId)
-		ActiComplete.UserNames = ProfAudit
+		ActiComplete.UserNames = userIds
 		ActiComplete.UserId = this.User.Id
 		ActiComplete.Result = "1"
 		ActiComplete.Remarks = "提交给业务处接收人"

+ 93 - 57
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/_opera/auditoperation.vue

@@ -175,6 +175,11 @@
     </el-card>
     <el-dialog title="审核" :visible.sync="dialogMakeSure">
       <el-form :model="shenheForm" label-width="100px" ref="shenheForm">
+        <el-form-item label="专业科室" v-if="this.AnnualStatus == '0'">
+          <el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false" filterable
+            style="width: 100%" v-model="majorDept" placeholder="请选择组织">
+          </el-cascader>
+        </el-form-item>
         <el-form-item label="审核状态">
           <template>
             <el-radio class="radio" v-model="shenheForm.SuccessStatus" :label="1">通过</el-radio>
@@ -190,39 +195,21 @@
         <el-button type="primary" size="small" @click="makeSure()">确 定</el-button>
       </div>
     </el-dialog>
-    <el-dialog title="确认审核通过请选择专业审核接收人" :visible.sync="selectAuditShow" width="420px">
-      <el-form ref="searchForm" label-width="110px">
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="接收人">
-              <el-select ref="selectProfAudit" v-model="ProfAudit" placeholder="请选择" style="width: 90%" filterable
-                allow-create default-first-option>
-                <el-option v-for="item in profAuditOption" :key="item.id" :label="item.realname" :value="item.id">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" @click="selectAuditShow = false">取 消</el-button>
-        <el-button size="mini" type="primary" @click="checkstatus()">确定</el-button>
-      </span>
-    </el-dialog>
 
-    <el-dialog title="选择业务处专业审核人" :visible.sync="dialogProfAudit" width="420px">
+    <el-dialog title="提交专业审批" :visible.sync="dialogProfAudit" width="420px">
       <el-form ref="searchForm" label-width="110px">
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="审核人">
-              <el-select ref="selectProfAuditThen" v-model="ProfAuditThen" placeholder="请选择" style="width: 90%"
-                filterable allow-create default-first-option>
-                <el-option v-for="item in profAuditThenOption" :key="item.id" :label="item.realname" :value="item.id">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <el-form-item label="审批人部门">
+          <el-cascader :options="secorgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false"
+            filterable style="width: 100%" @change="auditOrgChange" placeholder="请选择组织">
+          </el-cascader>
+        </el-form-item>
+        <el-form-item label="审批人">
+          <el-select ref="selectAuditer" v-model="ProfAuditThen" placeholder="请选择" style="width: 100%" filterable
+            allow-create default-first-option>
+            <el-option v-for="item in secauditerOptions" :key="item.userid" :label="item.username" :value="item.userid">
+            </el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button size="mini" @click="dialogProfAudit = false">取 消</el-button>
@@ -274,23 +261,23 @@
     data() {
       return {
         dialogProfAudit: false,
-        selectAuditShow: false,
         canUpdateSupplier: true,
         dictData: null,
         applyLoading: false,
+        majorDept: [],
+        secauditerOptions: [], //专业审批人
+        secorgtreelist: [], //专业审核人部门
+        orgtreelist: [], //专业审核部门
         equipmentList: [], //企业主要装备情况
         performanceList: [], //近三年主要工程业绩
         patentList: [], //拥有专利、专有技术及工法
         winningList: [], //近三年获得省部级及以上主要技术、管理成果、获奖项目
         businessList: [], //准入业务
-        profAuditOption: [], //专业审核接收人
-        profAuditThenOption: [], //专业审核人
         serviceId: '',
         certId: '',
         classId: '',
         annualId: '',
         WorkflowId: '',
-        ProfAudit: '',
         ProfAuditThen: '',
         formData: {
           Id: '',
@@ -379,6 +366,11 @@
           AuditorRemark: '',
           AnnualId: 0
         },
+        orgtreeprops: {
+          value: 'id',
+          label: 'Fullname',
+          children: 'children'
+        },
         formDataCert: {
           WorkerTotal: 0,
           ContractNum: 0,
@@ -396,7 +388,9 @@
         entrydetail: {
           process: 'oil_audit_apply',
           business: '',
-          instance: ''
+          instance: '',
+          AnnualStatus:''
+
         },
       }
     },
@@ -410,7 +404,9 @@
       this.annualId = this.$route.query.annualId
       this.getDictOptions()
       this.formData.Id = this.serviceId
-      this.initDatas();
+      this.initDatas()
+      this.getorgtreelist()
+      this.getorgtreelistbydeptid()
       console.log("---this.AnnualStatusa---", this.AnnualStatus)
     },
     methods: {
@@ -559,9 +555,55 @@
       getDictOptions() {
         annualapi.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.profAuditOption = res.data.items['Receive']
-          this.profAuditThenOption = res.data.items['ProfAudit']
-          console.log("--- this.selectProfAudit--", this.profAuditOption)
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+
+      getorgtreelist() {
+        let _this = this
+        let params = {
+          IsInnerOrganize: 1
+        }
+        _this.$axios.get('organizes/orgalllist', {
+            params
+          })
+          .then(res => {
+            _this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
+          })
+          .catch(err => {
+            console.error(err)
+          })
+      },
+
+      getorgtreelistbydeptid() {
+        let _this = this
+        let params = {
+          IsInnerOrganize: 1
+        }
+        _this.$axios.get('organizes/listbydeptid', {
+            params
+          })
+          .then(res => {
+            _this.secorgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
+          })
+          .catch(err => {
+            console.error(err)
+          })
+      },
+      auditOrgChange(val) {
+        console.log(this.formData.Status, 'status')
+        let auditstepcode = ''
+        if (this.AnnualStatus === '1') {
+          auditstepcode = 'PROF_AUDIT'
+        } else {
+          return
+        }
+        let deptid = val[val.length - 1]
+        console.log(deptid)
+        this.auditerOptions = []
+        api.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
+          this.secauditerOptions = res.data.item
         }).catch(err => {
           console.error(err)
         })
@@ -579,20 +621,15 @@
       makeSure() {
         //审核通过的具体操作(未编写)
         console.log("----this.shenheForm---", this.shenheForm)
-        if (this.shenheForm.SuccessStatus === 1) {
-          this.selectAuditShow = true
-        } else {
-          this.$confirm("确认审核结果!", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning"
-            })
-            .then(() => {
-              this.dialogMakeSure = false
-              this.checkstatus()
-            })
-            .catch(() => {})
-        }
+        this.$confirm("确认审核结果!", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          })
+          .then(() => {
+            this.checkstatus()
+          })
+          .catch(() => {})
       },
       checkstatus() {
         var ProfAuditUserId = ""
@@ -601,9 +638,9 @@
           ProfAuditUserId = this.ProfAuditThen
         } else if (this.AnnualStatus === '3') {
           this.shenheForm.SuccessStatus = parseInt(this.shenheForm.SuccessStatus) + 3
-          this.ProfAudit = ""
+          ProfAuditUserId = ""
         } else if (this.AnnualStatus === '0') {
-          ProfAuditUserId = this.ProfAudit
+          ProfAuditUserId = this.majorDept[this.majorDept.length - 1]
         }
         let params = this.shenheForm
         console.log("---this.shenheForm----", this.shenheForm)
@@ -615,7 +652,6 @@
                 type: 'success',
                 message: res.data.message,
               })
-              this.selectAuditShow = false
               this.dialogMakeSure = false
               this.dialogProfAudit = false
               this.AnnualStatus = -1

+ 12 - 19
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/_opera/operation.vue

@@ -167,11 +167,11 @@
           <el-card class="box-card" style="height: 800px">
             <div slot="header" class="clearfix">
               <span>审批流程</span>
-              <span style="float: right;">
+              <!-- <span style="float: right;">
                 <el-button type="primary" size="mini" :disabled="formDataCert.Status > 0" :loading="applyLoading"
                   @click="AuditEntity">提交审批
                 </el-button>
-              </span>
+              </span> -->
             </div>
             <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
           </el-card>
@@ -566,38 +566,31 @@
       },
 
       auditOrgChang(val) {
-        console.log("------val----", val)
+        let deptid = val[val.length - 1]
+        console.log(deptid)
         this.auditerOption = []
-        this.entityForm.auditer = ''
-        api.getAuditerByDept(val[val.length - 1], this.$axios).then(res => {
-          if (res.data.item.length === 0) {
-            this.$message({
-              type: 'warning',
-              message: '该单位未设置审批人员!'
-            })
-            return
-          }
+        this.auditer = ''
+        let auditstepcode = 'FIRST_TRIAL'
+        api.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
           this.auditerOption = res.data.item
-          console.log("---this.auditerOption--", this.auditerOption)
+          console.log("------this.auditerOption----",this.auditerOption)
         }).catch(err => {
           console.error(err)
         })
       },
 
-      getorgtreelist() {
+      getorgtreelist () {
         let _this = this
-        // request
         let params = {
           IsInnerOrganize: 1
         }
-        _this.$axios.get('organizes/list', {
-            params
-          })
+        _this.$axios.get('organizes/orgalllist', {
+          params
+        })
           .then(res => {
             _this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
           })
           .catch(err => {
-            // handle error
             console.error(err)
           })
       },

+ 17 - 20
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/index.vue

@@ -186,10 +186,14 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="审批人" prop="auditer" required>
-              <el-select ref="selectAuditer" v-model="entityForm.auditer" placeholder="请选择" style="width: 100%"
-                filterable allow-create default-first-option>
-                <el-option v-for="item in auditerOption" :key="item.id" :label="item.realname" :value="item.id">
+            <el-form-item label="审批人" required>
+              <el-select ref="selectAuditer" v-model="entityForm.auditer" placeholder="请选择"
+                         style="width: 100%" filterable allow-create default-first-option>
+                <el-option
+                  v-for="item in auditerOption"
+                  :key="item.userid"
+                  :label="item.username"
+                  :value="item.userid">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -421,19 +425,14 @@
       },
 
       auditOrgChang(val) {
-        console.log("------val----", val)
+        let deptid = val[val.length - 1]
+        console.log(deptid)
         this.auditerOption = []
-        this.entityForm.auditer = ''
-        supplierapi.getAuditerByDept(val[val.length - 1], this.$axios).then(res => {
-          if (res.data.item.length === 0) {
-            this.$message({
-              type: 'warning',
-              message: '该单位未设置审批人员!'
-            })
-            return
-          }
+        this.auditer = ''
+        let auditstepcode = 'FIRST_TRIAL'
+        supplierapi.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
           this.auditerOption = res.data.item
-          console.log("---this.auditerOption--", this.auditerOption)
+          console.log("----this.auditerOption--",this.auditerOption )
         }).catch(err => {
           console.error(err)
         })
@@ -441,18 +440,16 @@
 
       getorgtreelist() {
         let _this = this
-        // request
         let params = {
           IsInnerOrganize: 1
         }
-        _this.$axios.get('organizes/list', {
-            params
-          })
+        _this.$axios.get('organizes/orgalllist', {
+          params
+        })
           .then(res => {
             _this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
           })
           .catch(err => {
-            // handle error
             console.error(err)
           })
       },