Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
b16e351779
|
@ -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
|
||||
|
|
|
@ -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']
|
||||
|
|
|
@ -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"
|
||||
>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue