稽查管理人员添加修改
continuous-integration/drone/push Build is passing Details

uat
wangxiaoshuang 2025-09-29 11:06:01 +08:00
parent 9a8bf1e637
commit d17b95a200
4 changed files with 103 additions and 23 deletions

View File

@ -4267,3 +4267,11 @@ export function setAuditRecordPermission(data) {
data data
}) })
} }
// 稽查管理-人员管理
export function addOrDeleteAuditRecordUser(data) {
return request({
url: `/AuditDocument/addOrDeleteAuditRecordUser`,
method: 'put',
data
})
}

View File

@ -23,7 +23,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 稽查人员 --> <!-- 稽查人员 -->
<el-form-item :label="$t('trials:trials-workbench:inspectionManagement:from:IdnetityUserName')" <!-- <el-form-item :label="$t('trials:trials-workbench:inspectionManagement:from:IdnetityUserName')"
prop="IdnetityUserName"> prop="IdnetityUserName">
<div style="display: flex;align-items: center;justify-content: space-around;"> <div style="display: flex;align-items: center;justify-content: space-around;">
<p :title="from.IdnetityUserName" <p :title="from.IdnetityUserName"
@ -34,7 +34,7 @@
$t('trials:trials-workbench:inspectionManagement:button:select') $t('trials:trials-workbench:inspectionManagement:button:select')
}}</el-button> }}</el-button>
</div> </div>
</el-form-item> </el-form-item> -->
<!-- 稽查日期 --> <!-- 稽查日期 -->
<el-form-item :label="$t('trials:trials-workbench:inspectionManagement:from:AuditTime')" <el-form-item :label="$t('trials:trials-workbench:inspectionManagement:from:AuditTime')"
prop="AuditTime"> prop="AuditTime">
@ -72,17 +72,11 @@
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
<base-model :config="config">
<template slot="dialog-body">
<userList @add="addUser" v-if="config.visible" />
</template>
</base-model>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { addOrUpdateAuditRecord } from '@/api/trials' import { addOrUpdateAuditRecord } from '@/api/trials'
import userList from './userList'
import baseModel from '@/components/BaseModel'
export default { export default {
props: { props: {
visible: { visible: {
@ -100,7 +94,6 @@ export default {
} }
} }
}, },
components: { userList, baseModel },
watch: { watch: {
state: { state: {
handler() { handler() {
@ -215,12 +208,6 @@ export default {
}, },
], ],
}, },
config: {
visible: false,
title: this.$t('trials:trials-workbench:inspectionManagement:dialogTitle:selectUser'),
width: '1200px',
appendToBody: true
},
} }
}, },
methods: { methods: {

View File

@ -80,11 +80,15 @@
<el-table-column prop="identityUserList" show-overflow-tooltip <el-table-column prop="identityUserList" show-overflow-tooltip
:label="$t('trials:trials-workbench:inspectionManagement:table:IdentityUserName')"> :label="$t('trials:trials-workbench:inspectionManagement:table:IdentityUserName')">
<template slot-scope="scope"> <template slot-scope="scope">
<span> <el-button v-if="Array.isArray(scope.row.IdentityUserList)" type="text"
@click="openUserList(true, scope.row)">
{{scope.row.IdentityUserList.map(item => item.FullName).join(", ")}}
</el-button>
<!-- <span>
{{Array.isArray(scope.row.IdentityUserList) ? {{Array.isArray(scope.row.IdentityUserList) ?
scope.row.IdentityUserList.map(item => item.FullName).join(", ") : scope.row.IdentityUserList.map(item => item.FullName).join(", ") :
''}} ''}}
</span> </span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="AuditTime" show-overflow-tooltip <el-table-column prop="AuditTime" show-overflow-tooltip
@ -116,11 +120,20 @@
<el-button type="text" @click="openForm('edit', scope.row)"> <el-button type="text" @click="openForm('edit', scope.row)">
{{ $t('common:button:edit') }} {{ $t('common:button:edit') }}
</el-button> </el-button>
<el-button type="text" @click="openUserList(false, scope.row)">
{{ $t('trials:trials-workbench:inspectionManagement:button:user') }}
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<dataForm v-if="fromVisible" :visible.sync="fromVisible" :rowData="rowData" :state="state" @getList="getList" /> <dataForm v-if="fromVisible" :visible.sync="fromVisible" :rowData="rowData" :state="state" @getList="getList" />
<document v-if="docVisible" :visible.sync="docVisible" :isAudit="isAudit" :AuditRecordId="AuditRecordId" /> <document v-if="docVisible" :visible.sync="docVisible" :isAudit="isAudit" :AuditRecordId="AuditRecordId" />
<base-model :config="config">
<template slot="dialog-body">
<userList v-if="config.visible" :AuditRecordId="AuditRecordId" :isView="isView" @close="close"
@getList="getList" />
</template>
</base-model>
</div> </div>
</template> </template>
<script> <script>
@ -128,6 +141,8 @@ import Pagination from '@/components/Pagination'
import { getAuditRecordList } from '@/api/trials' import { getAuditRecordList } from '@/api/trials'
import dataForm from "./dataForm.vue" import dataForm from "./dataForm.vue"
import document from "./document.vue" import document from "./document.vue"
import userList from './userList'
import baseModel from '@/components/BaseModel'
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
CompanyName: '', CompanyName: '',
@ -148,7 +163,7 @@ const searchDataDefault = () => {
} }
export default { export default {
name: "inspectionManagement", name: "inspectionManagement",
components: { Pagination, dataForm, document }, components: { Pagination, dataForm, document, userList, baseModel },
data() { data() {
return { return {
searchData: searchDataDefault(), searchData: searchDataDefault(),
@ -168,7 +183,14 @@ export default {
docVisible: false, docVisible: false,
isAudit: false, isAudit: false,
AuditRecordId: null AuditRecordId: null,
config: {
visible: false,
title: this.$t('trials:trials-workbench:inspectionManagement:dialogTitle:selectUser'),
width: '1200px',
},
isView: false,
} }
}, },
@ -176,6 +198,14 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
close() {
this.config.visible = false
},
openUserList(isView = false, row) {
this.isView = isView
this.AuditRecordId = row.Id
this.config.visible = true
},
openDoc(isAudit = false, row) { openDoc(isAudit = false, row) {
this.AuditRecordId = row.Id this.AuditRecordId = row.Id
this.isAudit = isAudit this.isAudit = isAudit

View File

@ -11,6 +11,14 @@
<!-- 单位 --> <!-- 单位 -->
<span>{{ $t('trials:staff:table:organization') }}:</span> <span>{{ $t('trials:staff:table:organization') }}:</span>
<el-input v-model="listQuery.OrganizationName" size="mini" class="mr" clearable /> <el-input v-model="listQuery.OrganizationName" size="mini" class="mr" clearable />
<!-- 是否加入 -->
<template v-if="!isView">
<span>{{ $t('trials:staff:table:Join') }}:</span>
<el-select v-model="listQuery.IsAuditRecordUserSelect" placeholder="" size="mini" class="mr" clearable>
<el-option v-for="item in $d.IsJoin" :key="item.id" :label="item.label" :value="item.value">
</el-option>
</el-select>
</template>
<!-- 用户类型 --> <!-- 用户类型 -->
<!-- <span>{{ $t('trials:staff:table:userType') }}:</span> <!-- <span>{{ $t('trials:staff:table:userType') }}:</span>
<el-select v-model="listQuery.UserTypeEnum" size="mini" clearable class="mr"> <el-select v-model="listQuery.UserTypeEnum" size="mini" clearable class="mr">
@ -28,17 +36,17 @@
{{ $t('common:button:reset') }} {{ $t('common:button:reset') }}
</el-button> </el-button>
<el-button type="primary" size="mini" style="margin-left: auto" :disabled="selectArr.length === 0" <!-- <el-button type="primary" size="mini" style="margin-left: auto" :disabled="selectArr.length === 0"
:loading="assignLoadStatus" icon="el-icon-plus" @click="handleAssign"> :loading="assignLoadStatus" icon="el-icon-plus" @click="handleAssign">
{{ $t('common:button:add') }} {{ $t('common:button:add') }}
</el-button> </el-button> -->
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
<div class="data-table"> <div class="data-table">
<el-table :data="list" stripe height="400px" class="participant-table-list" <el-table :data="list" stripe height="400px" class="participant-table-list"
@selection-change="handleSelectChange" @sort-change="handleSortByColumn"> @selection-change="handleSelectChange" @sort-change="handleSortByColumn">
<el-table-column type="selection" width="50" /> <!-- <el-table-column type="selection" width="50" /> -->
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<!-- 姓名 --> <!-- 姓名 -->
<el-table-column prop="FullName" :label="$t('trials:staff:table:name')" show-overflow-tooltip <el-table-column prop="FullName" :label="$t('trials:staff:table:name')" show-overflow-tooltip
@ -58,6 +66,23 @@
<!-- 用户类型 --> <!-- 用户类型 -->
<!-- <el-table-column prop="UserTypeShortName" :label="$t('trials:staff:table:userType')" show-overflow-tooltip <!-- <el-table-column prop="UserTypeShortName" :label="$t('trials:staff:table:userType')" show-overflow-tooltip
sortable="custom" min-width="100" /> --> sortable="custom" min-width="100" /> -->
<el-table-column prop="IsAuditRecordUserSelect" :label="$t('trials:staff:table:Join')" show-overflow-tooltip
sortable="custom">
<template slot-scope="scope">
<span>{{ $fd('IsJoin', scope.row.IsAuditRecordUserSelect) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('common:action:action')" width="120" align="left" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="changeUser(true, scope.row)" :disabled="scope.row.IsAuditRecordUserSelect">
{{ $t('trials:trials-workbench:inspectionManagement:button:join') }}
</el-button>
<el-button type="text" @click="changeUser(false, scope.row)"
:disabled="!scope.row.IsAuditRecordUserSelect">
{{ $t('trials:trials-workbench:inspectionManagement:button:Exit') }}
</el-button>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</el-main> </el-main>
@ -69,12 +94,14 @@
</template> </template>
<script> <script>
import { getUserList } from '@/api/admin' import { getUserList } from '@/api/admin'
import { addOrDeleteAuditRecordUser } from '@/api/trials'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
const getListQueryDefault = () => { const getListQueryDefault = () => {
return { return {
RealName: '', RealName: '',
UserName: '', UserName: '',
OrganizationName: '', OrganizationName: '',
IsAuditRecordUserSelect: null,
UserTypeEnum: '16', UserTypeEnum: '16',
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,
@ -82,6 +109,16 @@ const getListQueryDefault = () => {
} }
export default { export default {
components: { Pagination }, components: { Pagination },
props: {
AuditRecordId: {
type: String,
default: ''
},
isView: {
type: Boolean,
default: false
}
},
data() { data() {
return { return {
list: [], list: [],
@ -98,6 +135,22 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
async changeUser(IsAdd = true, row) {
try {
let data = {
AuditRecordId: this.AuditRecordId,
IsAdd,
identityUserIdList: [row.Id]
}
let res = await addOrDeleteAuditRecordUser(data)
if (res.IsSuccess) {
this.getList()
this.$emit("getList")
}
} catch (err) {
console.log(err)
}
},
getList() { getList() {
const loading = this.$loading({ const loading = this.$loading({
target: document.querySelector('.participant-table-list'), target: document.querySelector('.participant-table-list'),
@ -105,6 +158,8 @@ export default {
lock: true, lock: true,
}) })
this.listQuery.UserState = 1 this.listQuery.UserState = 1
this.listQuery.AuditRecordId = this.AuditRecordId
if (this.isView) this.listQuery.IsAuditRecordUserSelect = true
getUserList(this.listQuery) getUserList(this.listQuery)
.then((res) => { .then((res) => {
loading.close() loading.close()