|
|
@@ -17,72 +17,72 @@
|
|
|
</div>
|
|
|
<el-form label-width="110px" ref="EntityForm" :model="formData">
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="单位名称" required>
|
|
|
- <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-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="6">
|
|
|
- <el-form-item label="审批步骤" required>
|
|
|
- <el-select ref="selectAuditStep" v-model="formData.AuditStepCode" filterable placeholder="请选择" style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="item in auditStepOptions"
|
|
|
- :key="item.Id"
|
|
|
- :label="item.Key"
|
|
|
- :value="item.Value">
|
|
|
- </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-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-col :span="6">
|
|
|
- <el-form-item label="工作流" required>
|
|
|
- <el-select ref="selectWorkFlow" v-model="formData.WorkFlowCord" filterable placeholder="请选择" style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="item in WorkFlowOptions"
|
|
|
- :key="item.Id"
|
|
|
- :label="item.Key"
|
|
|
- :value="item.Value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>-->
|
|
|
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="备注">
|
|
|
<el-input v-model="formData.Remark" type="textarea" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-tree :data="orgtreelist" :props="orgtreeprops"
|
|
|
+ @node-click="handleNodeClick" ></el-tree>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <!--<el-transfer v-model="auditers" :data="userOptions" ></el-transfer>-->
|
|
|
+ <el-table :data="userOptions" style="width: 100%" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="realname"
|
|
|
+ label="未选择"
|
|
|
+ width="180">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div style="margin-top: 7px">
|
|
|
+ <el-button type="primary" round style="margin-left: 10px;width: 80px" size="small" @click="toggleSelection">>>
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-table
|
|
|
+ :data="userselectOptions"
|
|
|
+ style="width: 100%" @selection-change="delSelectionChange">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="realname"
|
|
|
+ label="已选择"
|
|
|
+ width="180">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div style="margin-top: 7px">
|
|
|
+ <el-button type="primary" round style="margin-left: 10px;width: 80px" size="small" @click="delSelection"><<</el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
@@ -107,8 +107,11 @@
|
|
|
serviceId: '',
|
|
|
auditStepOptions: [],
|
|
|
roleList: [],
|
|
|
- auditers: [],
|
|
|
+ auditers: '',
|
|
|
userOptions: [],
|
|
|
+ userselectOptions: [],
|
|
|
+ selectedOptions: [],
|
|
|
+ selectdelOptions: [],
|
|
|
orgtreelist: [],
|
|
|
orgtreeprops: {
|
|
|
value: 'id',
|
|
|
@@ -126,6 +129,8 @@
|
|
|
AuditStepName: '',
|
|
|
RoleId: '',
|
|
|
RoleName: '',
|
|
|
+ UserId: '',
|
|
|
+ UserName: '',
|
|
|
WorkFlowCord: '',
|
|
|
WorkFlowName: '',
|
|
|
Remark: '',
|
|
|
@@ -157,10 +162,87 @@
|
|
|
this.getorgtreelist()
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleNodeClick (data) {
|
|
|
+ console.log(data)
|
|
|
+ this.userOptions = []
|
|
|
+ api.getAuditerByDept(data.id, this.$axios).then(res => {
|
|
|
+ if (res.data.code === 1) {
|
|
|
+ this.userOptions = res.data.item
|
|
|
+ }
|
|
|
+ // let userarr = res.data.item
|
|
|
+ // console.log(res.data.item, 'res.data.item')
|
|
|
+ // for (let i = 0; i < userarr.length; i++) {
|
|
|
+ // this.userOptions.push({
|
|
|
+ // key: userarr[i].Id,
|
|
|
+ // label: userarr[i].Realname,
|
|
|
+ // disabled: false
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ console.log(this.userOptions, 'userOptions')
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSelectionChange (val) {
|
|
|
+ this.selectedOptions = val
|
|
|
+ console.log(val, 'val')
|
|
|
+ },
|
|
|
+ delSelectionChange (val) {
|
|
|
+ this.selectdelOptions = val
|
|
|
+ console.log(this.selectdelOptions, 'val')
|
|
|
+ },
|
|
|
+ toggleSelection () {
|
|
|
+ if (!this.userselectOptions) {
|
|
|
+ this.userselectOptions = []
|
|
|
+ }
|
|
|
+ if (this.userselectOptions.length === 0) {
|
|
|
+ console.log('qqq')
|
|
|
+ this.userselectOptions = this.selectedOptions.concat()
|
|
|
+ } else {
|
|
|
+ for (let i = 0; i < this.selectedOptions.length; i++) {
|
|
|
+ let bool = true
|
|
|
+ for (let j = 0; j < this.userselectOptions.length; j++) {
|
|
|
+ if (this.selectedOptions[i].id === this.userselectOptions[j].id) {
|
|
|
+ bool = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (bool) {
|
|
|
+ this.userselectOptions.push(this.selectedOptions[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(this.selectedOptions, 'selectedOptions')
|
|
|
+ console.log(this.userselectOptions, 'userselectOptions')
|
|
|
+ },
|
|
|
+ delSelection () {
|
|
|
+ console.log(this.selectdelOptions.length)
|
|
|
+ if (this.selectdelOptions.length > 0) {
|
|
|
+ console.log()
|
|
|
+ for (let i = 0; i < this.selectdelOptions.length; i++) {
|
|
|
+ for (let j = 0; j < this.userselectOptions.length; j++) {
|
|
|
+ if (this.selectdelOptions[i].id === this.userselectOptions[j].id) {
|
|
|
+ this.userselectOptions.splice(j, 1)
|
|
|
+ j--
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(this.userselectOptions, 'this.userselectOptions')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getAuditUserList () {
|
|
|
+ api.getAuditUserList(this.formData.Id, this.$axios).then(res => {
|
|
|
+ this.userselectOptions = res.data
|
|
|
+ console.log(this.userselectOptions, '11111111111')
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
initDatas () {
|
|
|
if (this.formData.Id) {
|
|
|
api.getEntity(this.formData.Id, this.$axios).then(res => {
|
|
|
this.formData = res.data
|
|
|
+ this.getAuditUserList()
|
|
|
}).catch(err => {
|
|
|
console.error(err)
|
|
|
})
|
|
|
@@ -192,22 +274,23 @@
|
|
|
})
|
|
|
.then(res => {
|
|
|
_this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
|
|
|
+ console.log(_this.orgtreelist)
|
|
|
})
|
|
|
.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)
|
|
|
- })
|
|
|
+ // 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 () {
|
|
|
@@ -241,6 +324,23 @@
|
|
|
}
|
|
|
// this.formData.WorkFlowName = this.$refs.selectWorkFlow.selectedLabel + ''
|
|
|
this.formData.OrganizeId = parseInt(this.formData.OrganizeId)
|
|
|
+ if (!this.userselectOptions || this.userselectOptions.length <= 0) {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '审批人为空,不允许保存!'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.auditers = ''
|
|
|
+ let names = ''
|
|
|
+ for (let i = 0; i < this.userselectOptions.length; i++) {
|
|
|
+ this.auditers = this.auditers + this.userselectOptions[i].id + ','
|
|
|
+ names = names + this.userselectOptions[i].realname + ','
|
|
|
+ }
|
|
|
+ this.auditers = this.auditers.substring(0, this.auditers.lastIndexOf(','))
|
|
|
+ this.formData.UserId = this.auditers
|
|
|
+ this.formData.UserName = names.substring(0, names.lastIndexOf(','))
|
|
|
+ console.log(this.formData)
|
|
|
if (!this.formData.Id) {
|
|
|
this.addEntity()
|
|
|
} else {
|