Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2025-01-23 09:11:21 +08:00
commit b16e351779
7 changed files with 116 additions and 52 deletions

View File

@ -13,6 +13,7 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
:readonly="item.readonly"
/>
@ -22,6 +23,7 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])"
>
@ -37,6 +39,7 @@
v-model="searchData[item.prop]"
:placeholder="item.placeholder"
size="mini"
clearable
:style="{ width: item.width }"
@change="item.change && item.change(that, searchData[item.prop])"
>
@ -96,6 +99,7 @@
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
:picker-options="item.pickerOption"
clearable
/>
<!-- 时间 -->
<el-time-select
@ -104,6 +108,7 @@
:placeholder="item.placeholder"
type=""
:style="{ width: item.width }"
clearable
/>
<!-- 日期时间 -->
<el-date-picker
@ -114,6 +119,7 @@
value-format="yyyy-MM-dd HH:mm:ss"
:disabled="item.disable && item.disable(searchData[item.prop])"
:style="{ width: item.width }"
clearable
/>
<!-- 日期时间段 -->
<el-date-picker

View File

@ -3,13 +3,16 @@
ref="sysAttachmentFrom"
v-loading="loading"
:model="form"
label-width="170px"
label-width="190px"
size="small"
:rules="rules"
class="upload-temporary-file"
>
<div class="base-dialog-body">
<el-form-item label="文件类型: " prop="FileTypeId">
<el-form-item
:label="$t('dictionary:signature:form:FileTypeId')"
prop="FileTypeId"
>
<el-select
v-model="form.FileTypeId"
style="width: 100%"
@ -25,7 +28,7 @@
</el-select>
</el-form-item>
<el-form-item label="文件: ">
<el-form-item :label="$t('dictionary:signature:form:File')">
<div class="upload-container">
<el-upload
class="upload-demo"
@ -46,16 +49,16 @@
type="primary"
:disabled="form.FileTypeId === ''"
:loading="btnLoading"
>Select</el-button
>{{ $t('common:button:check') }}</el-button
>
<span slot="tip" style="margin-left: 10px" class="el-upload__tip">
(must be in pdf format)
({{ $t('trials:signature:label:mustBepdf') }})
</span>
</el-upload>
</div>
</el-form-item>
<el-form-item
label="需要签署的用户类型: "
:label="$t('dictionary:signature:form:NeedConfirmedUserTypeIdList')"
prop="NeedConfirmedUserTypeIdList"
>
<el-select
@ -71,7 +74,10 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否仅内部签署: " prop="DocUserSignType">
<el-form-item
:label="$t('dictionary:signature:form:DocUserSignType')"
prop="DocUserSignType"
>
<el-switch
v-model="form.DocUserSignType"
:active-value="1"
@ -80,7 +86,7 @@
</el-switch>
</el-form-item>
<el-form-item
label="查看最短时间(分钟): "
:label="$t('dictionary:signature:form:SignViewMinimumMinutes')"
prop="SignViewMinimumMinutes"
>
<el-input-number
@ -105,7 +111,7 @@
:disabled="form.FileTypeId === '' || form.Name === ''"
:loading="saveBtnLoading"
@click="handleSave"
>Save</el-button
>{{ $t('common:button:save') }}</el-button
>
</el-form-item>
</div>
@ -138,13 +144,25 @@ export default {
},
rules: {
FileTypeId: [
{ required: true, message: 'Please select', trigger: ['blur'] },
{
required: true,
message: this.$t('common:ruleMessage:select'),
trigger: ['blur'],
},
],
SignViewMinimumMinutes: [
{ required: true, message: 'Please specify', trigger: ['change'] },
{
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: ['change'],
},
],
NeedConfirmedUserTypeIdList: [
{ required: true, message: 'Please select', trigger: ['blur'] },
{
required: true,
message: this.$t('common:ruleMessage:select'),
trigger: ['blur'],
},
],
},
fileList: [],
@ -211,7 +229,7 @@ export default {
this.fileList = []
return true
} else {
this.$alert('must be in pdf format')
this.$alert(this.$t('trials:signature:label:mustBepdf'))
return false
}
@ -236,7 +254,7 @@ export default {
this.$refs.sysAttachmentFrom.validate((valid) => {
if (!valid) return
if (!this.form.Name) {
this.$alert('Please select file.')
this.$alert(this.$t('trials:signature:message:selectFile'))
return
}
this.saveBtnLoading = true
@ -245,7 +263,7 @@ export default {
this.saveBtnLoading = false
this.$emit('closeDialog')
this.$emit('getList')
this.$message.success('Uploaded successfully')
this.$message.success(this.$t('common:message:updatedSuccessfully'))
})
.catch(() => {
this.saveBtnLoading = false
@ -263,7 +281,7 @@ export default {
}
},
handleExceed(files, fileList) {
this.$message.warning(`Upload is currently limited to 1 file`)
this.$message.warning(this.$t('upload:rule:maxFile1'))
},
checkFileSuffix(fileName) {
var typeArr = ['pdf']

View File

@ -34,7 +34,7 @@
<el-button
type="primary"
icon="el-icon-plus"
style="margin-left: auto"
style="margin-left: auto; margin-bottom: 10px"
size="small"
@click="handleAdd"
>

View File

@ -71,6 +71,8 @@ export default {
<style lang="scss" scoped>
.notice-marquee_wrapper{
width: 100%;
display: flex;
align-items: center;
/deep/ .el-dialog__header{
padding: 10px;
}

View File

@ -17,7 +17,7 @@
<el-form-item :label="$t('trials:notice:table:notificationContent')">
<el-input
v-model="searchData.NoticeContent"
style="width:100px;"
style="width: 100px"
clearable
/>
</el-form-item>
@ -36,7 +36,11 @@
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }}
</el-button>
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
<el-button
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }}
</el-button>
</el-form-item>
@ -44,7 +48,7 @@
</template>
<template slot="main-container">
<el-table
v-adaptive="{bottomOffset:60}"
v-adaptive="{ bottomOffset: 60 }"
v-loading="loading"
:data="list"
stripe
@ -79,7 +83,15 @@
sortable="custom"
>
<template slot-scope="scope">
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'error'">
<el-tag
:type="
scope.row.ActualNoticeStateEnum === 0
? 'info'
: scope.row.ActualNoticeStateEnum === 1
? 'success'
: 'error'
"
>
{{ $fd('NoticeState', scope.row.ActualNoticeStateEnum) }}
</el-tag>
</template>
@ -113,7 +125,12 @@
sortable="custom"
>
<template slot-scope="scope">
<a :href="OSSclientConfig.basePath + scope.row.Path" target="_blank" style="color:#428bca">{{ scope.row.FileName }}</a>
<a
:href="OSSclientConfig.basePath + scope.row.Path"
target="_blank"
style="color: #428bca"
>{{ scope.row.FileName }}</a
>
</template>
</el-table-column>
<el-table-column
@ -124,11 +141,19 @@
sortable="custom"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.IsRead">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
<el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag>
<el-tag v-if="scope.row.IsRead">{{
$fd('YesOrNo', scope.row.IsRead)
}}</el-tag>
<el-tag v-else type="danger">{{
$fd('YesOrNo', scope.row.IsRead)
}}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('common:action:action')" min-width="100" fixed="right">
<el-table-column
:label="$t('common:action:action')"
min-width="100"
fixed="right"
>
<template slot-scope="scope">
<el-button
circle
@ -136,12 +161,17 @@
icon="el-icon-info"
@click="showDetail(scope.row)"
/>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
<pagination
class="page"
:total="total"
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
</template>
</BaseContainer>
</template>
@ -157,9 +187,10 @@ const searchDataDefault = () => {
ApplicableProjectEnum: null,
NoticeModeEnum: null,
NoticeStateEnum: null,
Asc: true,
Asc: false,
SortField: 'PublishedTime',
PageIndex: 1,
PageSize: 20
PageSize: 20,
}
}
export default {
@ -171,7 +202,7 @@ export default {
searchData: searchDataDefault(),
list: [],
total: 0,
loading: false
loading: false,
}
},
mounted() {
@ -180,17 +211,21 @@ export default {
methods: {
getList() {
this.loading = true
getUserSystemNoticeList(this.searchData).then(res => {
getUserSystemNoticeList(this.searchData)
.then((res) => {
this.loading = false
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
}).catch(() => { this.loading = false })
})
.catch(() => {
this.loading = false
})
},
showDetail(row) {
var currentNoticeType = this.$fd('NoteType', row.NoticeTypeEnum)
if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
this.$alert(row.NoticeContent, currentNoticeType, {
showConfirmButton: false
showConfirmButton: false,
})
} else {
const h = this.$createElement
@ -200,18 +235,22 @@ export default {
beforeClose: (action, instance, done) => {
if (action === 'confirm') {
instance.confirmButtonLoading = true
setSystemNoticeHaveRead(row.Id).then(async res => {
setSystemNoticeHaveRead(row.Id)
.then(async (res) => {
if (res.IsSuccess) {
await this.$store.dispatch('global/getNoticeList')
this.getList()
}
instance.confirmButtonLoading = false
done()
}).catch(() => { instance.confirmButtonLoading = false })
})
.catch(() => {
instance.confirmButtonLoading = false
})
} else {
done()
}
}
},
})
}
},
@ -237,10 +276,9 @@ export default {
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
}
}
},
},
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -59,7 +59,7 @@
/>
<el-table-column
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
prop="UpdateTime"
prop="CreateTime"
show-overflow-tooltip
sortable="custom"
/>
@ -168,7 +168,7 @@ const searchDataDefault = () => {
pageIndex: 1,
pageSize: 20,
asc: false,
sortField: 'UpdateTime',
sortField: 'CreateTime',
}
}
export default {

View File

@ -38,7 +38,7 @@
/>
<el-table-column
:label="$t('trials:sysDocBeSigned:table:uploadTime')"
prop="UpdateTime"
prop="CreateTime"
show-overflow-tooltip
sortable="custom"
/>
@ -130,7 +130,7 @@ const searchDataDefault = () => {
pageIndex: 1,
pageSize: 20,
asc: false,
sortField: 'UpdateTime'
sortField: 'CreateTime'
}
}
export default {