时间选框校验

main
wangxiaoshuang 2024-04-29 18:06:55 +08:00
parent bc06616115
commit 172f2d1191
20 changed files with 329 additions and 176 deletions

View File

@ -1,5 +1,5 @@
{ {
"name": "EICS", "name": "HICS",
"version": "1.0.0", "version": "1.0.0",
"scripts": { "scripts": {
"dev": "vue-cli-service serve --open", "dev": "vue-cli-service serve --open",

View File

@ -236,15 +236,20 @@ export default {
}, },
// //
async test(item) { async test(item) {
this.loading = true; try {
let res = await testConnect(item.Id); this.loading = true;
this.loading = false; let res = await testConnect(item.Id);
if (res.IsSuccess && res.Result) { this.loading = false;
this.$message.success(this.$t("system:dicomAE:connect:success")); if (res.IsSuccess && res.Result) {
} else { this.$message.success(this.$t("system:dicomAE:connect:success"));
this.$message.error(this.$t("system:dicomAE:connect:error")); } else {
this.$message.error(this.$t("system:dicomAE:connect:error"));
}
this.getList();
} catch (err) {
console.log(err);
this.loading = false;
} }
this.getList();
}, },
}, },
}; };

View File

@ -120,9 +120,9 @@ export default {
HospitalCode: [ HospitalCode: [
{ required: true, message: "请输入医院编码", trigger: "blur" }, { required: true, message: "请输入医院编码", trigger: "blur" },
], ],
HospitalLogoPath: [ // HospitalLogoPath: [
{ required: true, message: "请上传医院logo", trigger: "blur" }, // { required: true, message: "logo", trigger: "blur" },
], // ],
TrialKeepCount: [ TrialKeepCount: [
{ required: true, message: "请输入未激活项目数", trigger: "blur" }, { required: true, message: "请输入未激活项目数", trigger: "blur" },
], ],

View File

@ -2,7 +2,7 @@
<div class="upload-container"> <div class="upload-container">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:class="{uploadDisabled:fileList.length > 0 ? true:false}" :class="{ uploadDisabled: fileList.length > 0 ? true : false }"
action action
:http-request="uploadFile" :http-request="uploadFile"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@ -20,13 +20,13 @@
> >
<span slot="tip" class="el-upload__tip">(只能上传png/jpg/jpeg文件)</span> --> <span slot="tip" class="el-upload__tip">(只能上传png/jpg/jpeg文件)</span> -->
<i slot="default" class="el-icon-plus"></i> <i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}"> <div slot="file" slot-scope="{ file }">
<img <img
class="el-upload-list__item-thumbnail" class="el-upload-list__item-thumbnail"
:src="`${OSSclientConfig.basePath}${file.url}`" :src="`${OSSclientConfig.basePath}${file.url}`"
alt="" alt=""
crossorigin="anonymous" crossorigin="anonymous"
> />
<span class="el-upload-list__item-actions"> <span class="el-upload-list__item-actions">
<span <span
class="el-upload-list__item-preview" class="el-upload-list__item-preview"
@ -34,10 +34,7 @@
> >
<i class="el-icon-zoom-in"></i> <i class="el-icon-zoom-in"></i>
</span> </span>
<span <span class="el-upload-list__item-delete" @click="handleRemove(file)">
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</span> </span>
</span> </span>
@ -53,7 +50,12 @@
<span>{{ fileList.length > 0 ? fileList[0].name : "" }}</span> <span>{{ fileList.length > 0 ? fileList[0].name : "" }}</span>
</p> --> </p> -->
<el-dialog :visible.sync="dialogVisible"> <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> </el-dialog>
</div> </div>
</template> </template>
@ -76,7 +78,7 @@ export default {
fileList: [], fileList: [],
btnDisabled: false, btnDisabled: false,
dialogVisible: false, dialogVisible: false,
dialogImageUrl: '' dialogImageUrl: "",
}; };
}, },
watch: { watch: {
@ -184,8 +186,10 @@ export default {
this.dialogVisible = true; this.dialogVisible = true;
}, },
handleRemove(file) { handleRemove(file) {
console.log(1111111111);
this.fileList = []; this.fileList = [];
} this.$emit("update:path", null);
},
}, },
}; };
</script> </script>

View File

@ -86,10 +86,22 @@
:label="$t('system:notice:label:StartDate')" :label="$t('system:notice:label:StartDate')"
prop="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>
<el-form-item :label="$t('system:notice:label:EndDate')" prop="EndDate"> <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>
<el-form-item <el-form-item
v-if="!form.Id" v-if="!form.Id"

View File

@ -12,6 +12,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -388,7 +389,7 @@ export default {
data.patientIdList = [this.Patient.PatientId]; 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( data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
"YYYY-MM-DD HH:mm:ss" "YYYY-MM-DD HH:mm:ss"
); );
@ -404,7 +405,6 @@ export default {
this.loading = true; this.loading = true;
let res = await getVisitPatientStudyList(data); let res = await getVisitPatientStudyList(data);
this.loading = false; this.loading = false;
console.log(res);
if (res.IsSuccess) { if (res.IsSuccess) {
this.list = res.Result; this.list = res.Result;
// this.total = res.Result.TotalCount; // this.total = res.Result.TotalCount;
@ -426,7 +426,7 @@ export default {
}, },
// //
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1; // this.searchData.PageIndex = 1;
this.getList(); this.getList();
}, },
// //

View File

@ -37,6 +37,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -251,9 +252,13 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.PatientId = this.Patient.PatientId; data.PatientId = this.Patient.PatientId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.EarliestStudyTime = this.dateValue[0]; data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
data.LatestStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.EarliestStudyTime = null; data.EarliestStudyTime = null;
data.LatestStudyTime = null; data.LatestStudyTime = null;

View File

@ -73,6 +73,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
clearable clearable
> >
</el-date-picker> </el-date-picker>
@ -396,9 +397,13 @@ export default {
Object.keys(this.searchData).forEach((key) => { Object.keys(this.searchData).forEach((key) => {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.BeginPushTime = this.dateValue[0]; data.BeginPushTime = this.$moment(this.dateValue[0]).format(
data.EndPushTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.EndPushTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.BeginPushTime = null; data.BeginPushTime = null;
data.EndPushTime = null; data.EndPushTime = null;

View File

@ -7,7 +7,7 @@
style="width: 500px; padding: 30px 0 0 30px" style="width: 500px; padding: 30px 0 0 30px"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<p>授权申请信息</p> <p>{{ $t("trials:trials-list:activate:message:authorizationMsg") }}</p>
<!-- 购买时长 --> <!-- 购买时长 -->
<el-form-item label="项目码"> <el-form-item label="项目码">
<el-input v-model="data.AuthorizationCode" /> <el-input v-model="data.AuthorizationCode" />
@ -44,7 +44,7 @@
<el-form-item :label="$t('trials:trials-list:activate:purchaseDuration')"> <el-form-item :label="$t('trials:trials-list:activate:purchaseDuration')">
<span>{{ data.PurchaseDuration }}</span> <span>{{ data.PurchaseDuration }}</span>
</el-form-item> </el-form-item>
<p>生成激活码信息</p> <p>{{ $t("trials:trials-list:activate:message:activateMsg") }}</p>
<!-- 单位名称 --> <!-- 单位名称 -->
<el-form-item :label="$t('trials:trials-list:activate:organizationName')"> <el-form-item :label="$t('trials:trials-list:activate:organizationName')">
<span>{{ data.HospitalName }}</span> <span>{{ data.HospitalName }}</span>
@ -66,7 +66,10 @@
</span> </span>
</el-form-item> </el-form-item>
<!-- 授权时长 --> <!-- 授权时长 -->
<el-form-item label="授权时长" prop="Activate"> <el-form-item
:label="$t('trials:trials-list:activate:activateTime')"
prop="Activate"
>
<el-input-number <el-input-number
v-model="form.PurchaseDuration" v-model="form.PurchaseDuration"
:min="0" :min="0"
@ -74,7 +77,7 @@
></el-input-number> ></el-input-number>
</el-form-item> </el-form-item>
<!-- 激活码 --> <!-- 激活码 -->
<el-form-item label="激活码"> <el-form-item :label="$t('trials:trials-list:activate:code')">
<el-input v-model="form.code" /> <el-input v-model="form.code" />
</el-form-item> </el-form-item>
</div> </div>
@ -86,14 +89,14 @@
type="primary" type="primary"
@click.stop="getTrialActivationCode" @click.stop="getTrialActivationCode"
> >
生成 {{ $t("trials:trials-list:activate:button:create") }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->
<el-button size="small" type="primary" @click.stop="copy"> <el-button size="small" type="primary" @click.stop="copy">
复制 {{ $t("trials:trials-list:activate:button:copy") }}
</el-button> </el-button>
<el-button size="small" type="primary" @click.stop="downloadXmlFile"> <el-button size="small" type="primary" @click.stop="downloadXmlFile">
下载 {{ $t("trials:trials-list:activate:button:downLoad") }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</div> </div>

View File

@ -144,6 +144,7 @@ import {
setNewUserName, setNewUserName,
SetNewCheckCode, SetNewCheckCode,
} from "@/api/system/user.js"; } from "@/api/system/user.js";
import { removeToken } from "@/utils/auth";
import password from "./password.vue"; import password from "./password.vue";
var timer = ""; var timer = "";
var countdown = 60; var countdown = 60;
@ -197,15 +198,33 @@ export default {
} }
); );
}, },
setNewUserName() { async setNewUserName() {
setNewUserName(this.userForm.UserName).then(() => { try {
this.userForm.UserName = ""; let res = await setNewUserName(this.userForm.UserName);
this.$message.success( if (res.IsSuccess) {
this.$t("trials:trials-myinfo:message:updateSuccessfully") this.userForm.UserName = "";
); this.$message.success(
this.$emit("getUserInfo"); this.$t("trials:trials-myinfo:message:updateSuccessfully")
this.logout(); );
}); 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() {
setNewPhone(this.userForm.Phone).then(() => { setNewPhone(this.userForm.Phone).then(() => {

View File

@ -60,6 +60,7 @@
import md5 from "js-md5"; import md5 from "js-md5";
import { mapGetters, mapMutations } from "vuex"; import { mapGetters, mapMutations } from "vuex";
import { modifyPassword } from "@/api/admin.js"; import { modifyPassword } from "@/api/admin.js";
import { removeToken } from "@/utils/auth";
export default { export default {
name: "password", name: "password",
data() { data() {
@ -105,31 +106,43 @@ export default {
}, },
methods: { methods: {
...mapMutations({ setLanguage: "lang/setLanguage" }), ...mapMutations({ setLanguage: "lang/setLanguage" }),
save() { async save() {
this.$refs.passwordForm.validate((valid) => { try {
if (valid) { let validate = await this.$refs.passwordForm.validate();
if (this.password.NewPassWord !== this.password.ConfirmPassWord) { if (!validate) return;
this.$alert(this.$t("passwordReset:formRule:passwordsDiffer")); if (this.password.NewPassWord !== this.password.ConfirmPassWord) {
return; 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);
}
});
} }
}); 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() { async logout() {
/* eslint-disable */ /* eslint-disable */

View File

@ -6,10 +6,10 @@
<el-form-item :label="$t('trials:notice:table:notificationType')"> <el-form-item :label="$t('trials:notice:table:notificationType')">
<el-select v-model="searchData.NoticeTypeEnum" clearable size="small"> <el-select v-model="searchData.NoticeTypeEnum" clearable size="small">
<el-option <el-option
v-for="item of dict.type.NoteType" v-for="item of $d.NoteType"
:key="item.value" :key="item.id"
:label="item.label" :label="item.label"
:value="item.raw.Code * 1" :value="item.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -17,7 +17,7 @@
<el-form-item :label="$t('trials:notice:table:notificationContent')"> <el-form-item :label="$t('trials:notice:table:notificationContent')">
<el-input <el-input
v-model="searchData.NoticeContent" v-model="searchData.NoticeContent"
style="width:100px;" style="width: 100px"
clearable clearable
/> />
</el-form-item> </el-form-item>
@ -34,17 +34,21 @@
</el-form-item> --> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleSearch"> <el-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }} {{ $t("common:button:search") }}
</el-button> </el-button>
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset"> <el-button
{{ $t('common:button:reset') }} type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t("common:button:reset") }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
<template slot="main-container"> <template slot="main-container">
<el-table <el-table
v-adaptive="{bottomOffset:60}" v-adaptive="{ bottomOffset: 60 }"
v-loading="loading" v-loading="loading"
:data="list" :data="list"
stripe stripe
@ -61,7 +65,7 @@
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('NoteType', scope.row.NoticeTypeEnum) }} {{ $fd("NoteType", scope.row.NoticeTypeEnum) }}
</template> </template>
</el-table-column> </el-table-column>
@ -79,8 +83,16 @@
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'error'"> <el-tag
{{ $fd('NoticeState', scope.row.ActualNoticeStateEnum) }} :type="
scope.row.ActualNoticeStateEnum === 0
? 'info'
: scope.row.ActualNoticeStateEnum === 1
? 'success'
: 'error'
"
>
{{ $fd("NoticeState", scope.row.ActualNoticeStateEnum) }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -113,7 +125,12 @@
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -124,11 +141,19 @@
sortable="custom" sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsRead">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag> <el-tag v-if="scope.row.IsRead">{{
<el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsRead) }}</el-tag> $fd("YesOrNo", scope.row.IsRead)
}}</el-tag>
<el-tag v-else type="danger">{{
$fd("YesOrNo", scope.row.IsRead)
}}</el-tag>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<el-button <el-button
circle circle
@ -136,22 +161,27 @@
icon="el-icon-info" icon="el-icon-info"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </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> </template>
</BaseContainer> </BaseContainer>
</template> </template>
<script> <script>
import { getUserSystemNoticeList, setSystemNoticeHaveRead } from '@/api/global' import { getUserSystemNoticeList, setSystemNoticeHaveRead } from "@/api/global";
import BaseContainer from '@/components/BaseContainer' import BaseContainer from "@/components/BaseContainer";
import Pagination from '@/components/Pagination' import Pagination from "@/components/Pagination";
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
NoticeContent: '', NoticeContent: "",
NoticeTypeEnum: null, NoticeTypeEnum: null,
NoticeLevelEnum: null, NoticeLevelEnum: null,
ApplicableProjectEnum: null, ApplicableProjectEnum: null,
@ -159,88 +189,95 @@ const searchDataDefault = () => {
NoticeStateEnum: null, NoticeStateEnum: null,
Asc: true, Asc: true,
PageIndex: 1, PageIndex: 1,
PageSize: 20 PageSize: 20,
} };
} };
export default { export default {
name: 'TrialsNotice', name: "TrialsNotice",
components: { BaseContainer, Pagination }, components: { BaseContainer, Pagination },
dicts: ['NoteType', 'NoticeState', 'NoticeMode'], dicts: ["NoteType", "NoticeState", "NoticeMode"],
data() { data() {
return { return {
searchData: searchDataDefault(), searchData: searchDataDefault(),
list: [], list: [],
total: 0, total: 0,
loading: false loading: false,
} };
}, },
mounted() { mounted() {
this.getList() this.getList();
}, },
methods: { methods: {
getList() { getList() {
this.loading = true this.loading = true;
getUserSystemNoticeList(this.searchData).then(res => { getUserSystemNoticeList(this.searchData)
this.loading = false .then((res) => {
this.list = res.Result.CurrentPageData this.loading = false;
this.total = res.Result.TotalCount this.list = res.Result.CurrentPageData;
}).catch(() => { this.loading = false }) this.total = res.Result.TotalCount;
})
.catch(() => {
this.loading = false;
});
}, },
showDetail(row) { showDetail(row) {
var currentNoticeType = this.$fd('NoteType', row.NoticeTypeEnum) var currentNoticeType = this.$fd("NoteType", row.NoticeTypeEnum);
if (row.IsRead || row.ActualNoticeStateEnum !== 1) { if (row.IsRead || row.ActualNoticeStateEnum !== 1) {
this.$alert(row.NoticeContent, currentNoticeType, { this.$alert(row.NoticeContent, currentNoticeType, {
showConfirmButton: false showConfirmButton: false,
}) });
} else { } else {
const h = this.$createElement const h = this.$createElement;
this.$msgbox({ this.$msgbox({
title: currentNoticeType, title: currentNoticeType,
message: h('span', null, row.NoticeContent), message: h("span", null, row.NoticeContent),
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
if (action === 'confirm') { if (action === "confirm") {
instance.confirmButtonLoading = true instance.confirmButtonLoading = true;
setSystemNoticeHaveRead(row.Id).then(async res => { setSystemNoticeHaveRead(row.Id)
if (res.IsSuccess) { .then(async (res) => {
await this.$store.dispatch('global/getNoticeList') if (res.IsSuccess) {
this.getList() await this.$store.dispatch("global/getNoticeList");
} this.getList();
instance.confirmButtonLoading = false }
done() instance.confirmButtonLoading = false;
}).catch(() => { instance.confirmButtonLoading = false }) done();
})
.catch(() => {
instance.confirmButtonLoading = false;
});
} else { } else {
done() done();
} }
} },
}) });
} }
}, },
downLoadFile(filePath) { downLoadFile(filePath) {
if (!filePath) return if (!filePath) return;
window.open(filePath, '_blank') window.open(filePath, "_blank");
}, },
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1;
this.getList() this.getList();
}, },
handleReset() { handleReset() {
this.searchData = searchDataDefault() this.searchData = searchDataDefault();
this.getList() this.getList();
}, },
// //
handleSortChange(column) { handleSortChange(column) {
if (column.order === 'ascending') { if (column.order === "ascending") {
this.searchData.Asc = true this.searchData.Asc = true;
} else { } else {
this.searchData.Asc = false this.searchData.Asc = false;
} }
this.searchData.SortField = column.prop this.searchData.SortField = column.prop;
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1;
this.getList() this.getList();
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

View File

@ -127,6 +127,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -314,9 +315,13 @@ export default {
data.PatientIdList = this.data.PatientList.map((item) => item.PatientId); data.PatientIdList = this.data.PatientList.map((item) => item.PatientId);
data.SujectVisitId = this.data.SubjectVisitId; data.SujectVisitId = this.data.SubjectVisitId;
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.EarliestStudyTime = this.dateValue[0]; data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
data.LatestStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} }
try { try {
this.bottomLoading = true; this.bottomLoading = true;

View File

@ -43,6 +43,14 @@
/> />
</el-select> </el-select>
</el-form-item> </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-form-item :label="$t('trials:trials-panel:table:ScanDate')">
<el-date-picker <el-date-picker
@ -52,6 +60,7 @@
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
clearable clearable
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -316,6 +325,7 @@ const defaultSearchData = () => {
PatientSex: null, PatientSex: null,
BeginStudyTime: null, BeginStudyTime: null,
EndStudyTime: null, EndStudyTime: null,
VisitName: null,
}; };
}; };
export default { export default {
@ -378,9 +388,13 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.BeginStudyTime = this.dateValue[0]; data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
data.EndStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.BeginStudyTime = null; data.BeginStudyTime = null;
data.EndStudyTime = null; data.EndStudyTime = null;

View File

@ -71,6 +71,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -277,9 +278,13 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.earliestStudyTime = this.dateValue[0]; data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
data.latestStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.latestStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.EarliestStudyTime = null; data.EarliestStudyTime = null;
data.LatestStudyTime = null; data.LatestStudyTime = null;

View File

@ -85,6 +85,7 @@
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
clearable clearable
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -606,6 +607,8 @@ const searchDataDefault = () => {
ReadingCategory: null, ReadingCategory: null,
PIAuditState: null, PIAuditState: null,
TaskName: null, TaskName: null,
BeginSignDate: null,
EndSignDate: null,
}; };
}; };
export default { export default {
@ -693,6 +696,17 @@ export default {
this.loading = true; this.loading = true;
this.searchData.TrialId = this.trialId; this.searchData.TrialId = this.trialId;
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId; 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) getIRHaveReadTaskList(this.searchData)
.then((res) => { .then((res) => {
this.list = res.Result.CurrentPageData; this.list = res.Result.CurrentPageData;

View File

@ -52,6 +52,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -96,6 +97,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -422,16 +424,24 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.earliestStudyTime = this.dateValue[0]; data.earliestStudyTime = this.$moment(this.dateValue[0]).format(
data.latestStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.latestStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.EarliestStudyTime = null; data.EarliestStudyTime = null;
data.LatestStudyTime = null; data.LatestStudyTime = null;
} }
if (this.dateValue2[0] && this.dateValue2[1]) { if (this.dateValue2 && this.dateValue2[0] && this.dateValue2[1]) {
data.BeginTaskCreateTime = this.dateValue2[0]; data.BeginTaskCreateTime = this.$moment(this.dateValue2[0]).format(
data.EndTaskCreateTime = this.dateValue2[1]; "YYYY-MM-DD HH:mm:ss"
);
data.EndTaskCreateTime = this.$moment(this.dateValue2[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.BeginTaskCreateTime = null; data.BeginTaskCreateTime = null;
data.EndTaskCreateTime = null; data.EndTaskCreateTime = null;

View File

@ -54,6 +54,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -392,9 +393,13 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.BeginStudyTime = this.dateValue[0]; data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
data.EndStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.BeginStudyTime = null; data.BeginStudyTime = null;
data.EndStudyTime = null; data.EndStudyTime = null;

View File

@ -59,6 +59,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -302,9 +303,13 @@ export default {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.TrialId = this.$route.query.trialId; data.TrialId = this.$route.query.trialId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.BeginStudyTime = this.dateValue[0]; data.BeginStudyTime = this.$moment(this.dateValue[0]).format(
data.EndStudyTime = this.dateValue[1]; "YYYY-MM-DD HH:mm:ss"
);
data.EndStudyTime = this.$moment(this.dateValue[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else { } else {
data.BeginStudyTime = null; data.BeginStudyTime = null;
data.EndStudyTime = null; data.EndStudyTime = null;

View File

@ -9,19 +9,11 @@
</el-form-item> --> </el-form-item> -->
<!-- 受试者 --> <!-- 受试者 -->
<el-form-item :label="$t('trials:auditRecord:table:subject')"> <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>
<!-- 访视 --> <!-- 访视 -->
<el-form-item :label="$t('trials:auditRecord:table:visit')"> <el-form-item :label="$t('trials:auditRecord:table:visit')">
<el-select v-model="searchData.VisitPlanInfo" clearable filterable> <el-input v-model="searchData.VisitName" clearable />
<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-form-item> </el-form-item>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-form-item :label="$t('trials:auditRecord:table:criterion')"> <el-form-item :label="$t('trials:auditRecord:table:criterion')">
@ -1276,6 +1268,8 @@ export default {
BatchId: null, BatchId: null,
TrialReadingCriterionId: null, TrialReadingCriterionId: null,
UserTypeId: null, UserTypeId: null,
VisitName: null,
SubjectCode: null,
}; };
}; };
return { return {
@ -1346,8 +1340,6 @@ export default {
}, },
mounted() { mounted() {
this.ResearchProgramNo = this.$route.query.researchProgramNo; this.ResearchProgramNo = this.$route.query.researchProgramNo;
this.getSite();
this.getVisitPlanOptions();
this.getTrialCriterionList(); this.getTrialCriterionList();
this.getList(); this.getList();
this.getUserType(); this.getUserType();