时间选框校验
parent
bc06616115
commit
172f2d1191
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "EICS",
|
||||
"name": "HICS",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve --open",
|
||||
|
|
|
@ -236,15 +236,20 @@ export default {
|
|||
},
|
||||
// 测试连通性
|
||||
async test(item) {
|
||||
this.loading = true;
|
||||
let res = await testConnect(item.Id);
|
||||
this.loading = false;
|
||||
if (res.IsSuccess && res.Result) {
|
||||
this.$message.success(this.$t("system:dicomAE:connect:success"));
|
||||
} else {
|
||||
this.$message.error(this.$t("system:dicomAE:connect:error"));
|
||||
try {
|
||||
this.loading = true;
|
||||
let res = await testConnect(item.Id);
|
||||
this.loading = false;
|
||||
if (res.IsSuccess && res.Result) {
|
||||
this.$message.success(this.$t("system:dicomAE:connect:success"));
|
||||
} else {
|
||||
this.$message.error(this.$t("system:dicomAE:connect:error"));
|
||||
}
|
||||
this.getList();
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
this.loading = false;
|
||||
}
|
||||
this.getList();
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -120,9 +120,9 @@ export default {
|
|||
HospitalCode: [
|
||||
{ required: true, message: "请输入医院编码", trigger: "blur" },
|
||||
],
|
||||
HospitalLogoPath: [
|
||||
{ required: true, message: "请上传医院logo", trigger: "blur" },
|
||||
],
|
||||
// HospitalLogoPath: [
|
||||
// { required: true, message: "请上传医院logo", trigger: "blur" },
|
||||
// ],
|
||||
TrialKeepCount: [
|
||||
{ required: true, message: "请输入未激活项目数", trigger: "blur" },
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="upload-container">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
:class="{uploadDisabled:fileList.length > 0 ? true:false}"
|
||||
:class="{ uploadDisabled: fileList.length > 0 ? true : false }"
|
||||
action
|
||||
:http-request="uploadFile"
|
||||
:before-upload="beforeUpload"
|
||||
|
@ -20,13 +20,13 @@
|
|||
>
|
||||
<span slot="tip" class="el-upload__tip">(只能上传png/jpg/jpeg文件)</span> -->
|
||||
<i slot="default" class="el-icon-plus"></i>
|
||||
<div slot="file" slot-scope="{file}">
|
||||
<div slot="file" slot-scope="{ file }">
|
||||
<img
|
||||
class="el-upload-list__item-thumbnail"
|
||||
:src="`${OSSclientConfig.basePath}${file.url}`"
|
||||
:src="`${OSSclientConfig.basePath}${file.url}`"
|
||||
alt=""
|
||||
crossorigin="anonymous"
|
||||
>
|
||||
/>
|
||||
<span class="el-upload-list__item-actions">
|
||||
<span
|
||||
class="el-upload-list__item-preview"
|
||||
|
@ -34,10 +34,7 @@
|
|||
>
|
||||
<i class="el-icon-zoom-in"></i>
|
||||
</span>
|
||||
<span
|
||||
class="el-upload-list__item-delete"
|
||||
@click="handleRemove(file)"
|
||||
>
|
||||
<span class="el-upload-list__item-delete" @click="handleRemove(file)">
|
||||
<i class="el-icon-delete"></i>
|
||||
</span>
|
||||
</span>
|
||||
|
@ -53,7 +50,12 @@
|
|||
<span>{{ fileList.length > 0 ? fileList[0].name : "" }}</span>
|
||||
</p> -->
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<img width="70%" :src="`${OSSclientConfig.basePath}${dialogImageUrl}`" crossorigin="anonymous" alt="">
|
||||
<img
|
||||
width="70%"
|
||||
:src="`${OSSclientConfig.basePath}${dialogImageUrl}`"
|
||||
crossorigin="anonymous"
|
||||
alt=""
|
||||
/>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -76,7 +78,7 @@ export default {
|
|||
fileList: [],
|
||||
btnDisabled: false,
|
||||
dialogVisible: false,
|
||||
dialogImageUrl: ''
|
||||
dialogImageUrl: "",
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
|
@ -184,8 +186,10 @@ export default {
|
|||
this.dialogVisible = true;
|
||||
},
|
||||
handleRemove(file) {
|
||||
console.log(1111111111);
|
||||
this.fileList = [];
|
||||
}
|
||||
this.$emit("update:path", null);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -86,10 +86,22 @@
|
|||
:label="$t('system:notice:label:StartDate')"
|
||||
prop="StartDate"
|
||||
>
|
||||
<el-date-picker v-model="form.StartDate" type="datetime" />
|
||||
<el-date-picker
|
||||
v-model="form.StartDate"
|
||||
type="datetime"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
:default-time="'00:00:00'"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('system:notice:label:EndDate')" prop="EndDate">
|
||||
<el-date-picker v-model="form.EndDate" type="datetime" />
|
||||
<el-date-picker
|
||||
v-model="form.EndDate"
|
||||
type="datetime"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
:default-time="'23:59:59'"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="!form.Id"
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -388,7 +389,7 @@ export default {
|
|||
data.patientIdList = [this.Patient.PatientId];
|
||||
}
|
||||
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
|
@ -404,7 +405,6 @@ export default {
|
|||
this.loading = true;
|
||||
let res = await getVisitPatientStudyList(data);
|
||||
this.loading = false;
|
||||
console.log(res);
|
||||
if (res.IsSuccess) {
|
||||
this.list = res.Result;
|
||||
// this.total = res.Result.TotalCount;
|
||||
|
@ -426,7 +426,7 @@ export default {
|
|||
},
|
||||
// 查询
|
||||
handleSearch() {
|
||||
this.searchData.PageIndex = 1;
|
||||
// this.searchData.PageIndex = 1;
|
||||
this.getList();
|
||||
},
|
||||
// 重置
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -251,9 +252,13 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.PatientId = this.Patient.PatientId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.EarliestStudyTime = this.dateValue[0];
|
||||
data.LatestStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.EarliestStudyTime = null;
|
||||
data.LatestStudyTime = null;
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
clearable
|
||||
>
|
||||
</el-date-picker>
|
||||
|
@ -396,9 +397,13 @@ export default {
|
|||
Object.keys(this.searchData).forEach((key) => {
|
||||
data[key] = this.searchData[key];
|
||||
});
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginPushTime = this.dateValue[0];
|
||||
data.EndPushTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginPushTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.EndPushTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.BeginPushTime = null;
|
||||
data.EndPushTime = null;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
style="width: 500px; padding: 30px 0 0 30px"
|
||||
>
|
||||
<div class="base-dialog-body">
|
||||
<p>授权申请信息</p>
|
||||
<p>{{ $t("trials:trials-list:activate:message:authorizationMsg") }}</p>
|
||||
<!-- 购买时长 -->
|
||||
<el-form-item label="项目码">
|
||||
<el-input v-model="data.AuthorizationCode" />
|
||||
|
@ -44,7 +44,7 @@
|
|||
<el-form-item :label="$t('trials:trials-list:activate:purchaseDuration')">
|
||||
<span>{{ data.PurchaseDuration }}</span>
|
||||
</el-form-item>
|
||||
<p>生成激活码信息</p>
|
||||
<p>{{ $t("trials:trials-list:activate:message:activateMsg") }}</p>
|
||||
<!-- 单位名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:activate:organizationName')">
|
||||
<span>{{ data.HospitalName }}</span>
|
||||
|
@ -66,7 +66,10 @@
|
|||
</span>
|
||||
</el-form-item>
|
||||
<!-- 授权时长 -->
|
||||
<el-form-item label="授权时长" prop="Activate">
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:activateTime')"
|
||||
prop="Activate"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="form.PurchaseDuration"
|
||||
:min="0"
|
||||
|
@ -74,7 +77,7 @@
|
|||
></el-input-number>
|
||||
</el-form-item>
|
||||
<!-- 激活码 -->
|
||||
<el-form-item label="激活码">
|
||||
<el-form-item :label="$t('trials:trials-list:activate:code')">
|
||||
<el-input v-model="form.code" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
@ -86,14 +89,14 @@
|
|||
type="primary"
|
||||
@click.stop="getTrialActivationCode"
|
||||
>
|
||||
生成
|
||||
{{ $t("trials:trials-list:activate:button:create") }}
|
||||
</el-button>
|
||||
<!-- 保存 -->
|
||||
<el-button size="small" type="primary" @click.stop="copy">
|
||||
复制
|
||||
{{ $t("trials:trials-list:activate:button:copy") }}
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click.stop="downloadXmlFile">
|
||||
下载
|
||||
{{ $t("trials:trials-list:activate:button:downLoad") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
|
|
@ -144,6 +144,7 @@ import {
|
|||
setNewUserName,
|
||||
SetNewCheckCode,
|
||||
} from "@/api/system/user.js";
|
||||
import { removeToken } from "@/utils/auth";
|
||||
import password from "./password.vue";
|
||||
var timer = "";
|
||||
var countdown = 60;
|
||||
|
@ -197,15 +198,33 @@ export default {
|
|||
}
|
||||
);
|
||||
},
|
||||
setNewUserName() {
|
||||
setNewUserName(this.userForm.UserName).then(() => {
|
||||
this.userForm.UserName = "";
|
||||
this.$message.success(
|
||||
this.$t("trials:trials-myinfo:message:updateSuccessfully")
|
||||
);
|
||||
this.$emit("getUserInfo");
|
||||
this.logout();
|
||||
});
|
||||
async setNewUserName() {
|
||||
try {
|
||||
let res = await setNewUserName(this.userForm.UserName);
|
||||
if (res.IsSuccess) {
|
||||
this.userForm.UserName = "";
|
||||
this.$message.success(
|
||||
this.$t("trials:trials-myinfo:message:updateSuccessfully")
|
||||
);
|
||||
this.$emit("getUserInfo");
|
||||
removeToken();
|
||||
let confirm = await this.$confirm(
|
||||
this.$t("trials:trials-myInfo:confirmMessage:updateUserName"),
|
||||
{
|
||||
type: "warning",
|
||||
showClose: false,
|
||||
showCancelButton: false,
|
||||
distinguishCancelAndClose: true,
|
||||
confirmButtonText: this.$t("common:button:confirm"),
|
||||
cancelButtonText: this.$t("common:button:cancel"),
|
||||
}
|
||||
);
|
||||
if (confirm !== "confirm") return;
|
||||
this.logout();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
setNewPhone() {
|
||||
setNewPhone(this.userForm.Phone).then(() => {
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
import md5 from "js-md5";
|
||||
import { mapGetters, mapMutations } from "vuex";
|
||||
import { modifyPassword } from "@/api/admin.js";
|
||||
import { removeToken } from "@/utils/auth";
|
||||
export default {
|
||||
name: "password",
|
||||
data() {
|
||||
|
@ -105,31 +106,43 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
...mapMutations({ setLanguage: "lang/setLanguage" }),
|
||||
save() {
|
||||
this.$refs.passwordForm.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.password.NewPassWord !== this.password.ConfirmPassWord) {
|
||||
this.$alert(this.$t("passwordReset:formRule:passwordsDiffer"));
|
||||
return;
|
||||
}
|
||||
const param = {
|
||||
UserId: this.userId,
|
||||
NewPassWord: md5(this.password.NewPassWord),
|
||||
OldPassWord: md5(this.password.OldPassWord),
|
||||
};
|
||||
modifyPassword(param).then((res) => {
|
||||
if (res.IsSuccess) {
|
||||
// 修改成功,请重新登录账号
|
||||
this.$message.success(
|
||||
this.$t("trials:trials-myinfo:message:modifyPWSuccessfully")
|
||||
);
|
||||
setTimeout(() => {
|
||||
this.logout();
|
||||
}, 1000);
|
||||
}
|
||||
});
|
||||
async save() {
|
||||
try {
|
||||
let validate = await this.$refs.passwordForm.validate();
|
||||
if (!validate) return;
|
||||
if (this.password.NewPassWord !== this.password.ConfirmPassWord) {
|
||||
this.$alert(this.$t("passwordReset:formRule:passwordsDiffer"));
|
||||
return;
|
||||
}
|
||||
});
|
||||
const param = {
|
||||
UserId: this.userId,
|
||||
NewPassWord: md5(this.password.NewPassWord),
|
||||
OldPassWord: md5(this.password.OldPassWord),
|
||||
};
|
||||
let res = await modifyPassword(param);
|
||||
if (res.IsSuccess) {
|
||||
// 修改成功,请重新登录账号
|
||||
this.$message.success(
|
||||
this.$t("trials:trials-myinfo:message:modifyPWSuccessfully")
|
||||
);
|
||||
removeToken();
|
||||
let confirm = await this.$confirm(
|
||||
this.$t("trials:trials-myInfo:confirmMessage:updatePassWord"),
|
||||
{
|
||||
type: "warning",
|
||||
showClose: false,
|
||||
showCancelButton: false,
|
||||
distinguishCancelAndClose: true,
|
||||
confirmButtonText: this.$t("common:button:confirm"),
|
||||
cancelButtonText: this.$t("common:button:cancel"),
|
||||
}
|
||||
);
|
||||
if (confirm !== "confirm") return;
|
||||
this.logout();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
async logout() {
|
||||
/* eslint-disable */
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
<el-form-item :label="$t('trials:notice:table:notificationType')">
|
||||
<el-select v-model="searchData.NoticeTypeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoteType"
|
||||
:key="item.value"
|
||||
v-for="item of $d.NoteType"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.raw.Code * 1"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -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>
|
||||
|
@ -34,17 +34,21 @@
|
|||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||
{{ $t('common:button:search') }}
|
||||
{{ $t("common:button:search") }}
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
||||
{{ $t('common:button:reset') }}
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="handleReset"
|
||||
>
|
||||
{{ $t("common:button:reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template slot="main-container">
|
||||
<el-table
|
||||
v-adaptive="{bottomOffset:60}"
|
||||
v-adaptive="{ bottomOffset: 60 }"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
stripe
|
||||
|
@ -61,7 +65,7 @@
|
|||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ $fd('NoteType', scope.row.NoticeTypeEnum) }}
|
||||
{{ $fd("NoteType", scope.row.NoticeTypeEnum) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
@ -79,8 +83,16 @@
|
|||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'error'">
|
||||
{{ $fd('NoticeState', scope.row.ActualNoticeStateEnum) }}
|
||||
<el-tag
|
||||
:type="
|
||||
scope.row.ActualNoticeStateEnum === 0
|
||||
? 'info'
|
||||
: scope.row.ActualNoticeStateEnum === 1
|
||||
? 'success'
|
||||
: 'error'
|
||||
"
|
||||
>
|
||||
{{ $fd("NoticeState", scope.row.ActualNoticeStateEnum) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -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,22 +161,27 @@
|
|||
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>
|
||||
<script>
|
||||
import { getUserSystemNoticeList, setSystemNoticeHaveRead } from '@/api/global'
|
||||
import BaseContainer from '@/components/BaseContainer'
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { getUserSystemNoticeList, setSystemNoticeHaveRead } from "@/api/global";
|
||||
import BaseContainer from "@/components/BaseContainer";
|
||||
import Pagination from "@/components/Pagination";
|
||||
const searchDataDefault = () => {
|
||||
return {
|
||||
NoticeContent: '',
|
||||
NoticeContent: "",
|
||||
NoticeTypeEnum: null,
|
||||
NoticeLevelEnum: null,
|
||||
ApplicableProjectEnum: null,
|
||||
|
@ -159,88 +189,95 @@ const searchDataDefault = () => {
|
|||
NoticeStateEnum: null,
|
||||
Asc: true,
|
||||
PageIndex: 1,
|
||||
PageSize: 20
|
||||
}
|
||||
}
|
||||
PageSize: 20,
|
||||
};
|
||||
};
|
||||
export default {
|
||||
name: 'TrialsNotice',
|
||||
name: "TrialsNotice",
|
||||
components: { BaseContainer, Pagination },
|
||||
dicts: ['NoteType', 'NoticeState', 'NoticeMode'],
|
||||
dicts: ["NoteType", "NoticeState", "NoticeMode"],
|
||||
data() {
|
||||
return {
|
||||
searchData: searchDataDefault(),
|
||||
list: [],
|
||||
total: 0,
|
||||
loading: false
|
||||
}
|
||||
loading: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
getUserSystemNoticeList(this.searchData).then(res => {
|
||||
this.loading = false
|
||||
this.list = res.Result.CurrentPageData
|
||||
this.total = res.Result.TotalCount
|
||||
}).catch(() => { this.loading = false })
|
||||
this.loading = true;
|
||||
getUserSystemNoticeList(this.searchData)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
this.list = res.Result.CurrentPageData;
|
||||
this.total = res.Result.TotalCount;
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
showDetail(row) {
|
||||
var currentNoticeType = this.$fd('NoteType', row.NoticeTypeEnum)
|
||||
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
|
||||
const h = this.$createElement;
|
||||
this.$msgbox({
|
||||
title: currentNoticeType,
|
||||
message: h('span', null, row.NoticeContent),
|
||||
message: h("span", null, row.NoticeContent),
|
||||
beforeClose: (action, instance, done) => {
|
||||
if (action === 'confirm') {
|
||||
instance.confirmButtonLoading = true
|
||||
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 })
|
||||
if (action === "confirm") {
|
||||
instance.confirmButtonLoading = true;
|
||||
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;
|
||||
});
|
||||
} else {
|
||||
done()
|
||||
done();
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
downLoadFile(filePath) {
|
||||
if (!filePath) return
|
||||
window.open(filePath, '_blank')
|
||||
if (!filePath) return;
|
||||
window.open(filePath, "_blank");
|
||||
},
|
||||
handleSearch() {
|
||||
this.searchData.PageIndex = 1
|
||||
this.getList()
|
||||
this.searchData.PageIndex = 1;
|
||||
this.getList();
|
||||
},
|
||||
handleReset() {
|
||||
this.searchData = searchDataDefault()
|
||||
this.getList()
|
||||
this.searchData = searchDataDefault();
|
||||
this.getList();
|
||||
},
|
||||
// 排序
|
||||
handleSortChange(column) {
|
||||
if (column.order === 'ascending') {
|
||||
this.searchData.Asc = true
|
||||
if (column.order === "ascending") {
|
||||
this.searchData.Asc = true;
|
||||
} else {
|
||||
this.searchData.Asc = false
|
||||
this.searchData.Asc = false;
|
||||
}
|
||||
this.searchData.SortField = column.prop
|
||||
this.searchData.PageIndex = 1
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
this.searchData.SortField = column.prop;
|
||||
this.searchData.PageIndex = 1;
|
||||
this.getList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
|
|
|
@ -127,6 +127,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -314,9 +315,13 @@ export default {
|
|||
data.PatientIdList = this.data.PatientList.map((item) => item.PatientId);
|
||||
data.SujectVisitId = this.data.SubjectVisitId;
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.EarliestStudyTime = this.dateValue[0];
|
||||
data.LatestStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
}
|
||||
try {
|
||||
this.bottomLoading = true;
|
||||
|
|
|
@ -43,6 +43,14 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 访视名称 -->
|
||||
<el-form-item :label="$t('trials:uploadMonitor:table:visitName')">
|
||||
<el-input
|
||||
v-model="searchData.VisitName"
|
||||
clearable
|
||||
style="width: 140px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!--拍片日期-->
|
||||
<el-form-item :label="$t('trials:trials-panel:table:ScanDate')">
|
||||
<el-date-picker
|
||||
|
@ -52,6 +60,7 @@
|
|||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
clearable
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -316,6 +325,7 @@ const defaultSearchData = () => {
|
|||
PatientSex: null,
|
||||
BeginStudyTime: null,
|
||||
EndStudyTime: null,
|
||||
VisitName: null,
|
||||
};
|
||||
};
|
||||
export default {
|
||||
|
@ -378,9 +388,13 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.dateValue[0];
|
||||
data.EndStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.BeginStudyTime = null;
|
||||
data.EndStudyTime = null;
|
||||
|
|
|
@ -71,6 +71,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -277,9 +278,13 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.earliestStudyTime = this.dateValue[0];
|
||||
data.latestStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.latestStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.EarliestStudyTime = null;
|
||||
data.LatestStudyTime = null;
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
clearable
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -606,6 +607,8 @@ const searchDataDefault = () => {
|
|||
ReadingCategory: null,
|
||||
PIAuditState: null,
|
||||
TaskName: null,
|
||||
BeginSignDate: null,
|
||||
EndSignDate: null,
|
||||
};
|
||||
};
|
||||
export default {
|
||||
|
@ -693,6 +696,17 @@ export default {
|
|||
this.loading = true;
|
||||
this.searchData.TrialId = this.trialId;
|
||||
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
this.searchData.EndSignDate = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
this.searchData.BeginSignDate = null;
|
||||
this.searchData.EndSignDate = null;
|
||||
}
|
||||
getIRHaveReadTaskList(this.searchData)
|
||||
.then((res) => {
|
||||
this.list = res.Result.CurrentPageData;
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -96,6 +97,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -422,16 +424,24 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.earliestStudyTime = this.dateValue[0];
|
||||
data.latestStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.latestStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.EarliestStudyTime = null;
|
||||
data.LatestStudyTime = null;
|
||||
}
|
||||
if (this.dateValue2[0] && this.dateValue2[1]) {
|
||||
data.BeginTaskCreateTime = this.dateValue2[0];
|
||||
data.EndTaskCreateTime = this.dateValue2[1];
|
||||
if (this.dateValue2 && this.dateValue2[0] && this.dateValue2[1]) {
|
||||
data.BeginTaskCreateTime = this.$moment(this.dateValue2[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.EndTaskCreateTime = this.$moment(this.dateValue2[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.BeginTaskCreateTime = null;
|
||||
data.EndTaskCreateTime = null;
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -392,9 +393,13 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.dateValue[0];
|
||||
data.EndStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.BeginStudyTime = null;
|
||||
data.EndStudyTime = null;
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
@ -302,9 +303,13 @@ export default {
|
|||
data[key] = this.searchData[key];
|
||||
});
|
||||
data.TrialId = this.$route.query.trialId;
|
||||
if (this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.dateValue[0];
|
||||
data.EndStudyTime = this.dateValue[1];
|
||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||
data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
data.BeginStudyTime = null;
|
||||
data.EndStudyTime = null;
|
||||
|
|
|
@ -9,19 +9,11 @@
|
|||
</el-form-item> -->
|
||||
<!-- 受试者 -->
|
||||
<el-form-item :label="$t('trials:auditRecord:table:subject')">
|
||||
<el-input v-model="searchData.SubjectInfo" clearable />
|
||||
<el-input v-model="searchData.SubjectCode" clearable />
|
||||
</el-form-item>
|
||||
<!-- 访视 -->
|
||||
<el-form-item :label="$t('trials:auditRecord:table:visit')">
|
||||
<el-select v-model="searchData.VisitPlanInfo" clearable filterable>
|
||||
<el-option
|
||||
v-for="(item, index) of visitPlanOptions"
|
||||
:key="index"
|
||||
:label="item.VisitName"
|
||||
:value="item.VisitNum"
|
||||
/>
|
||||
<el-option key="Other" label="Out of Plan" value="1.11" />
|
||||
</el-select>
|
||||
<el-input v-model="searchData.VisitName" clearable />
|
||||
</el-form-item>
|
||||
<!-- 阅片标准 -->
|
||||
<el-form-item :label="$t('trials:auditRecord:table:criterion')">
|
||||
|
@ -1276,6 +1268,8 @@ export default {
|
|||
BatchId: null,
|
||||
TrialReadingCriterionId: null,
|
||||
UserTypeId: null,
|
||||
VisitName: null,
|
||||
SubjectCode: null,
|
||||
};
|
||||
};
|
||||
return {
|
||||
|
@ -1346,8 +1340,6 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.ResearchProgramNo = this.$route.query.researchProgramNo;
|
||||
this.getSite();
|
||||
this.getVisitPlanOptions();
|
||||
this.getTrialCriterionList();
|
||||
this.getList();
|
||||
this.getUserType();
|
||||
|
|
Loading…
Reference in New Issue