소스 검색

审批人设置

lining 6 년 전
부모
커밋
1413469b30

+ 2 - 0
src/dashoo.cn/backend/api/business/auditsetting/oilauditsetting.go

@@ -12,6 +12,8 @@ type Base_OilAuditSetting struct {
 	AuditStepName  string    `xorm:"comment('审批步骤名称') VARCHAR(50)"`
 	RoleId         int       `xorm:"not null default 0 comment('角色ID') INT(10)"`
 	RoleName       string    `xorm:"comment('角色名称') VARCHAR(50)"`
+	UserId         int       `xorm:"not null default 0 comment('审批人ID') INT(11)"`
+	UserName       string    `xorm:"comment('审批人') VARCHAR(50)"`
 	WorkFlowCord   string    `xorm:"comment('工作流编码') VARCHAR(50)"`
 	WorkFlowName   string    `xorm:"comment('工作流名称') VARCHAR(50)"`
 	Remark         string    `xorm:"comment('备注') VARCHAR(500)"`

+ 7 - 0
src/dashoo.cn/backend/api/business/organize/organizeService.go

@@ -110,3 +110,10 @@ func (s *OrganizeService) QueryEntity(where string) (entity Base_Organize) {
 	s.DBE.Sql(sql).Get(&entity)
 	return
 }
+
+//根据
+func (s *OrganizeService) GetAllChildById(topid string) string {
+	mod := new(Id_Str)
+	s.DBE.Sql(`select fun_getOrganizechildlist ('` + topid +  `') as Id`).Get(mod)
+	return mod.Id
+}

+ 23 - 0
src/dashoo.cn/backend/api/controllers/casbin/organize.go

@@ -1,8 +1,11 @@
 package casbin
 
 import (
+	"dashoo.cn/business2/userRole"
 	"dashoo.cn/backend/api/business/oilsupplier/technologyservice"
 	"encoding/json"
+	"strconv"
+
 	//	"fmt"
 
 	"strings"
@@ -363,3 +366,23 @@ func (this *OrganizesController) OrganizeParentList() {
 	this.ServeJSON()
 
 }
+
+// @Title 报警器列表
+// @Description 设备列表
+// @Success 200 {object} business.device.DeviceChannels
+// @router /listbydeptid [get]
+func (this *OrganizesController) ListByDeptId() {
+	svc := organize.GetOrganizeService(utils.DBE)
+
+	var user userRole.Base_User
+	svc.GetEntityById(this.User.Id, &user)
+	ids := svc.GetAllChildById(strconv.Itoa(user.Companyid))
+	where := " Id in ( " + ids + " ) and AccCode='" + this.User.AccCode + "'"
+
+	list := make([]organize.Base_Organize, 0)
+	svc.GetEntities(&list, where)
+	var datainfo DataInfo
+	datainfo.Items = list
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+}

+ 40 - 1
src/dashoo.cn/backend/api/controllers/system/auditsetting.go

@@ -2,6 +2,7 @@ package system
 
 import (
 	"encoding/json"
+	"fmt"
 	"strconv"
 	"strings"
 	"time"
@@ -139,6 +140,10 @@ func (this *OilAuditSettingController) GetDictList() {
 	dictList["OrganizeId"] = this.User.DepartmentId
 	dictList["OrganizeName"] = svcOrgan.GetNameById(this.User.DepartmentId)
 
+	var users []userRole.Base_User
+	where = "DepartmentId=" + this.User.DepartmentId
+	svcRole.GetEntities(&users, where)
+	dictList["users"] = users
 	//var dictCustomer []svccustomer.Customer
 	//customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
 	//dictList["EntrustCorp"] = &dictCustomer
@@ -170,6 +175,9 @@ func (this *OilAuditSettingController) GetEntity() {
 // @Success	200	{object} controllers.Request
 // @router /add [post]
 func (this *OilAuditSettingController) AddEntity() {
+	audits := this.GetString("aduitres")
+	auditIds := strings.Split(audits, ",")
+	fmt.Println(audits)
 	var model auditsetting.Base_OilAuditSetting
 	var jsonBlob = this.Ctx.Input.RequestBody
 	svc := auditsetting.GetOilAuditSettingService(utils.DBE)
@@ -180,7 +188,15 @@ func (this *OilAuditSettingController) AddEntity() {
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
 	model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
 
-	_, err := svc.InsertEntityBytbl(OilAuditSettingName, &model)
+	var err error
+	for _, Id := range auditIds {
+		var user userRole.Base_User
+		svc.GetEntityById(Id, &user)
+		model.Id = 0
+		model.UserId,_ = strconv.Atoi(Id)
+		model.UserName = user.Realname
+		_, err = svc.InsertEntityBytbl(OilAuditSettingName, &model)
+	}
 
 	var errinfo ErrorDataInfo
 	if err == nil {
@@ -313,4 +329,27 @@ func (this *OilAuditSettingController) IsAccess() {
 
 	this.Data["json"] = res
 	this.ServeJSON()
+}
+
+// @Title 根据部门获取人员
+// @Description 根据部门获取人员
+// @router /getauditerbydept/:deptId [get]
+func (this *OilAuditSettingController) GetAuditerByDept() {
+	Id := this.Ctx.Input.Param(":deptId")
+
+	var users []userRole.Base_User
+	svcRole := userRole.GetRoleService(utils.DBE)
+	where := "DepartmentId=" + Id
+	svcRole.GetEntities(&users, where)
+
+	var datainfo ErrorDataInfo
+	if users == nil {
+		datainfo.Code = 0
+	} else {
+		datainfo.Code = 1
+	}
+
+	datainfo.Item = users
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
 }

+ 8 - 2
src/dashoo.cn/frontend_web/src/api/system/auditsetting.js

@@ -18,9 +18,9 @@ export default {
       method: 'GET'
     })
   },
-  addEntity (formData, myAxios) {
+  addEntity (formData, params, myAxios) {
     return myAxios({
-      url: '/auditsetting/add',
+      url: '/auditsetting/add?aduitres=' + params,
       method: 'post',
       data: formData
     })
@@ -37,5 +37,11 @@ export default {
       url: '/auditsetting/delete/' + entityId,
       method: 'delete'
     })
+  },
+  getAuditerByDept (deptId, myAxios) {
+    return myAxios({
+      url: '/auditsetting/getauditerbydept/' + deptId,
+      method: 'GET'
+    })
   }
 }

+ 107 - 51
src/dashoo.cn/frontend_web/src/pages/system/auditsetting/_opera/operation.vue

@@ -21,9 +21,30 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="单位名称" required>
-              <el-input v-model="formData.OrganizeName" placeholder="请输入" Readonly style="width: 100%"></el-input>
+              <el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false"
+                           v-model="selectedorg" filterable style="width: 100%" @change="auditOrgChang"
+                           placeholder="请选择组织"></el-cascader>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="审批人" required>
+              <el-select v-model="auditers" multiple placeholder="请选择" style="width: 100%">
+                <el-option
+                  v-for="item in userOptions"
+                  :key="item.Id"
+                  :label="item.Realname"
+                  :value="item.Id">
+                </el-option>
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+        <!--<el-row>-->
+          <!--<el-col :span="12">-->
+            <!--<el-form-item label="单位名称" required>-->
+              <!--<el-input v-model="formData.OrganizeName" placeholder="请输入" Readonly style="width: 100%"></el-input>-->
+            <!--</el-form-item>-->
+          <!--</el-col>-->
 
           <!-- <el-col :span="6">
             <el-form-item label="审批步骤" required>
@@ -38,14 +59,14 @@
             </el-form-item>
           </el-col> -->
 
-          <el-col :span="12">
-            <el-form-item label="角色" required>
-              <el-select ref="selectRole" v-model="formData.RoleId" filterable placeholder="请选择" style="width: 100%">
-                <el-option v-for="item in roleList" :key="item.Id" :label="item.Realname" :value="item.Id">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
+          <!--<el-col :span="12">-->
+            <!--<el-form-item label="角色" required>-->
+              <!--<el-select ref="selectRole" v-model="formData.RoleId" filterable placeholder="请选择" style="width: 100%">-->
+                <!--<el-option v-for="item in userOptions" :key="item.Id" :label="item.Realname" :value="item.Id">-->
+                <!--</el-option>-->
+              <!--</el-select>-->
+            <!--</el-form-item>-->
+          <!--</el-col>-->
           <!--<el-col :span="6">
             <el-form-item label="工作流" required>
               <el-select ref="selectWorkFlow" v-model="formData.WorkFlowCord" filterable placeholder="请选择" style="width: 100%">
@@ -83,11 +104,20 @@
     },
     name: 'oilauditsettingEdit',
 
-    data() {
+    data () {
       return {
         serviceId: '',
         auditStepOptions: [],
         roleList: [],
+        auditers: [],
+        userOptions: [],
+        orgtreelist: [],
+        orgtreeprops: {
+          value: 'id',
+          label: 'Fullname',
+          children: 'children'
+        },
+        selectedorg: [],
         step: 1,
         WorkFlowOptions: [],
         formData: {
@@ -116,19 +146,20 @@
 
       }
     },
-    created() {
+    created () {
       this.serviceId = this.$route.params.opera
       this.step = this.$route.query.step
       if (this.serviceId !== 'add' && this.serviceId > 0) {
         this.formData.Id = this.serviceId
         this.initDatas()
       } else {
-          this.formData.Id = 0
+        this.formData.Id = 0
       }
       this.getDictOptions()
+      this.getorgtreelist()
     },
     methods: {
-      initDatas() {
+      initDatas () {
         if (this.formData.Id) {
           api.getEntity(this.formData.Id, this.$axios).then(res => {
             this.formData = res.data
@@ -138,52 +169,78 @@
         }
       },
 
-      getDictOptions() {
+      getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.auditStepOptions = res.data.items['AuditStep']
           this.roleList = res.data.items['RoleList']
           this.formData.OrganizeId = res.data.items['OrganizeId']
-          if ( this.formData.Id == 0) {
-          this.formData.OrganizeName = res.data.items['OrganizeName']
+          if (this.formData.Id === 0) {
+            this.formData.OrganizeName = res.data.items['OrganizeName']
           }
           this.WorkFlowOptions = res.data.items['WorkFlow']
+          // this.userOptions = res.data.items['users']
           // this.supervisersOptions = res.data.items['Supervisers']
         }).catch(err => {
           console.error(err)
         })
       },
-
+      getorgtreelist () {
+        let _this = this
+        let params = {
+          IsInnerOrganize: 1
+        }
+        _this.$axios.get('organizes/listbydeptid', {
+          params
+        })
+          .then(res => {
+            _this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
+          })
+          .catch(err => {
+            console.error(err)
+          })
+      },
+      auditOrgChang (val) {
+        let deptId = val[val.length - 1]
+        this.userOptions = []
+        this.auditers = []
+        api.getAuditerByDept(deptId, this.$axios).then(res => {
+          if (res.data.code === 1) {
+            this.userOptions = res.data.item
+          }
+        }).catch(err => {
+          console.error(err)
+        })
+      },
       // 保存信息
-      saveEntity() {
+      saveEntity () {
         this.$refs['EntityForm'].validate((valid) => {
           if (valid) {
-            this.formData.RoleName = this.$refs.selectRole.selectedLabel + ''
+            console.log(this.step)
             if (this.step == 1) {
-              //二级单位初审
-               this.formData.AuditStepCode = "FIRST_TRIAL"
-            this.formData.AuditStepName = "二级单位初审"
+              // 二级单位初审
+              this.formData.AuditStepCode = 'FIRST_TRIAL'
+              this.formData.AuditStepName = '二级单位初审'
             } else if (this.step == 2) {
-              //二级单位复审
-              this.formData.AuditStepCode = "SECOND_TRIAL"
-            this.formData.AuditStepName = "二级单位复审"
+              // 二级单位复审
+              this.formData.AuditStepCode = 'SECOND_TRIAL'
+              this.formData.AuditStepName = '二级单位复审'
             } else if (this.step == 3) {
-              //业务处室接收
-                this.formData.AuditStepCode = "PROF_RECE"
-            this.formData.AuditStepName = "业务处室接收"
+              // 业务处室接收
+              this.formData.AuditStepCode = 'PROF_RECE'
+              this.formData.AuditStepName = '业务处室接收'
             } else if (this.step == 4) {
-              //业务处室专业审核
-                this.formData.AuditStepCode = "PROF_AUDIT"
-            this.formData.AuditStepName = "业务处室专业审核"
+              // 业务处室专业审核
+              this.formData.AuditStepCode = 'PROF_AUDIT'
+              this.formData.AuditStepName = '业务处室专业审核'
             } else if (this.step == 5) {
-              //集中评审
-                this.formData.AuditStepCode = "PROF_CONCENT"
-            this.formData.AuditStepName = "集中评审"
+              // 集中评审
+              this.formData.AuditStepCode = 'PROF_CONCENT'
+              this.formData.AuditStepName = '集中评审'
             } else if (this.step == 6) {
-              //企业法规处审核
-                this.formData.AuditStepCode = "PROF_REGULATION"
-            this.formData.AuditStepName = "企业法规处审核"
+              // 企业法规处审核
+              this.formData.AuditStepCode = 'PROF_REGULATION'
+              this.formData.AuditStepName = '企业法规处审核'
             }
-           
             // this.formData.WorkFlowName = this.$refs.selectWorkFlow.selectedLabel + ''
             this.formData.OrganizeId = parseInt(this.formData.OrganizeId)
             if (!this.formData.Id) {
@@ -197,7 +254,7 @@
         })
       },
 
-      addEntity() {
+      addEntity () {
         if (!this.formData.OrganizeId) {
           this.$message({
             type: 'error',
@@ -214,15 +271,15 @@
           return false
         }
 
-        if (!this.formData.RoleId) {
-          this.$message({
-            type: 'error',
-            message: '角色信息缺失,不允许保存!'
-          })
-          return false
-        }
+        // if (!this.formData.RoleId) {
+        //   this.$message({
+        //     type: 'error',
+        //     message: '角色信息缺失,不允许保存!'
+        //   })
+        //   return false
+        // }
 
-        api.addEntity(this.formData, this.$axios).then(res => {
+        api.addEntity(this.formData, this.auditers, this.$axios).then(res => {
           if (res.data.code === 0) {
             // 保存成功后,初始化数据,变成修改
             this.formData.Id = res.data.item
@@ -242,7 +299,7 @@
         })
       },
 
-      updateEntity() {
+      updateEntity () {
         api.updateEntity(this.formData.Id, this.formData, this.$axios).then(res => {
           if (res.data.code === 0) {
             // 保存成功后,初始化数据,变成修改
@@ -262,7 +319,7 @@
         })
       },
 
-      jstimehandle(val) {
+      jstimehandle (val) {
         if (val === '') {
           return '----'
         } else if (val === '0001-01-01T08:00:00+08:00') {
@@ -275,7 +332,7 @@
         }
       },
 
-      formatDateTime(date) {
+      formatDateTime (date) {
         var y = date.getFullYear()
         var m = date.getMonth() + 1
         m = m < 10 ? ('0' + m) : m
@@ -288,7 +345,6 @@
       }
     }
   }
-
 </script>
 
 <style lang="scss">

+ 49 - 44
src/dashoo.cn/frontend_web/src/pages/system/auditsetting/index.vue

@@ -174,6 +174,8 @@
           AuditStepName: '',
           RoleId: '',
           RoleName: '',
+          UesrId: '',
+          UserName: '',
           Remark: '',
           IsDelete: '',
           CreateOn: '',
@@ -184,50 +186,53 @@
           ModifiedBy: ''
         },
         tableColumns: [{
-            prop: 'OrganizeName',
-            label: '单位名称',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: 'AuditStepCode',
-            label: '审批步骤编码',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: 'AuditStepName',
-            label: '审批步骤名称',
-            width: 100,
-            sort: true
-          },
-          {
-            prop: 'RoleName',
-            label: '角色名称',
-            width: 100,
-            sort: true
-          },
-          {
-            prop: 'WorkFlowName',
-            label: '工作流名称',
-            width: 100,
-            sort: true
-          },
-          {
-            prop: 'Remark',
-            label: '备注',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: 'CreateOn',
-            label: '创建时间',
-            width: 100,
-            sort: true
-          }
+          prop: 'OrganizeName',
+          label: '单位名称',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'AuditStepCode',
+          label: '审批步骤编码',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'AuditStepName',
+          label: '审批步骤名称',
+          width: 100,
+          sort: true
+        },
+        // {
+        //   prop: 'RoleName',
+        //   label: '角色名称',
+        //   width: 100,
+        //   sort: true
+        // },
+        {
+          prop: 'UserName',
+          label: '审批人',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'WorkFlowName',
+          label: '工作流名称',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'Remark',
+          label: '备注',
+          width: 100,
+          sort: true
+        },
+        {
+          prop: 'CreateOn',
+          label: '创建时间',
+          width: 100,
+          sort: true
+        }
         ]
       }
     },