Browse Source

feat: 实验状态

master
xuesinan 4 years ago
parent
commit
41254a26a8
  1. 15
      src/components/tall/left/Projects.vue
  2. 44
      src/components/tall/task/ExperimentalCode.vue
  3. 44
      src/components/tall/task/ExperimentalData.vue
  4. 43
      src/components/tall/task/ExperimentalResult.vue
  5. 43
      src/components/tall/task/LabReport.vue
  6. 43
      src/components/tall/task/Procedure.vue
  7. 9
      src/store/tall/projects/index.js

15
src/components/tall/left/Projects.vue

@ -72,7 +72,7 @@
import { ref, watch, computed } from 'vue'; import { ref, watch, computed } from 'vue';
import { useStore } from 'vuex'; import { useStore } from 'vuex';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { getProjects, delProject } from 'apis'; import { getProjects, delProject, getExperimentation } from 'apis';
import { RightOutlined, DownOutlined } from '@ant-design/icons-vue'; import { RightOutlined, DownOutlined } from '@ant-design/icons-vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
@ -228,6 +228,7 @@ function toDetail(item, sec, fir) {
store.commit('layout/setFirPlanTime', { startTime: fir.startTime, endTime: fir.endTime }); store.commit('layout/setFirPlanTime', { startTime: fir.startTime, endTime: fir.endTime });
store.commit('layout/setSecPlanTime', { startTime: sec.startTime, endTime: sec.endTime }); store.commit('layout/setSecPlanTime', { startTime: sec.startTime, endTime: sec.endTime });
store.commit('layout/setThirdPlanTime', { startTime: item.startTime, endTime: item.endTime }); store.commit('layout/setThirdPlanTime', { startTime: item.startTime, endTime: item.endTime });
getSubProject(item.id);
} else if (sec) { } else if (sec) {
store.commit('layout/setFirPlanTime', { startTime: sec.startTime, endTime: sec.endTime }); store.commit('layout/setFirPlanTime', { startTime: sec.startTime, endTime: sec.endTime });
store.commit('layout/setSecPlanTime', { startTime: item.startTime, endTime: item.endTime }); store.commit('layout/setSecPlanTime', { startTime: item.startTime, endTime: item.endTime });
@ -259,6 +260,18 @@ async function deleteProject(param) {
throw new Error(error); throw new Error(error);
} }
} }
// ID
async function getSubProject(id) {
try {
const params = { param: { id } };
const data = await getExperimentation(params);
store.commit('projects/setExpreimentStatus', data.status);
} catch (error) {
message.info(error);
throw new Error(error);
}
}
</script> </script>
<style scoped> <style scoped>

44
src/components/tall/task/ExperimentalCode.vue

@ -53,9 +53,14 @@
</div> </div>
<a-form-item class="text-right"> <a-form-item class="text-right">
<a-button type="primary" html-type="submit" @click="onSubmit">确定</a-button> <a-button type="primary" html-type="submit" @click="onSubmit" :disabled="expreStatus == 0 || expreStatus == 2 ? false : true">
确定
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-alert v-if="isShowSuccess" :message="tipsMessage" type="success" />
<a-alert v-if="isShowWarning" :message="tipsMessage" type="warning" />
</div> </div>
</template> </template>
@ -79,10 +84,38 @@ const code = computed(() => store.state.task.label); // code
const questionList = ref([]); const questionList = ref([]);
// //
const currIndex = ref(null); const currIndex = ref(null);
const isShowSuccess = ref(false);
const isShowWarning = ref(false);
const tipsMessage = ref('');
// //
const expreStartTime = computed(() => store.state.layout.expreStartTime); const expreStartTime = computed(() => store.state.layout.expreStartTime);
const expreEndTime = computed(() => store.state.layout.expreEndTime); const expreEndTime = computed(() => store.state.layout.expreEndTime);
//
const expreStatus = computed(() => store.state.projects.expreStatus);
const sessionStatus = sessionStorage.getItem('expreStatus');
if (!expreStatus.value && sessionStatus) {
store.commit('projects/setExpreimentStatus', sessionStatus);
}
if (expreStatus.value) {
if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) {
isShowWarning.value = true;
tipsMessage.value = '数据已锁定,不可操作';
} else {
isShowSuccess.value = true;
tipsMessage.value = '数据未锁定,可操作';
}
setTimeout(() => {
isShowWarning.value = false;
isShowSuccess.value = false;
}, 3000);
}
getDataByCode(); getDataByCode();
const beforeUpload = index => { const beforeUpload = index => {
@ -215,6 +248,15 @@ async function getDataByCode() {
</script> </script>
<style scoped> <style scoped>
.task-form {
position: relative;
}
.task-form :deep(.ant-alert) {
position: absolute;
right: 30px;
}
.task-detail { .task-detail {
background-color: #fff; background-color: #fff;
} }

44
src/components/tall/task/ExperimentalData.vue

@ -53,9 +53,14 @@
</div> </div>
<a-form-item class="text-right"> <a-form-item class="text-right">
<a-button type="primary" html-type="submit" @click="onSubmit">确定</a-button> <a-button type="primary" html-type="submit" @click="onSubmit" :disabled="expreStatus == 0 || expreStatus == 2 ? false : true">
确定
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-alert v-if="isShowSuccess" :message="tipsMessage" type="success" />
<a-alert v-if="isShowWarning" :message="tipsMessage" type="warning" />
</div> </div>
</template> </template>
@ -79,10 +84,38 @@ const code = computed(() => store.state.task.label); // code
const questionList = ref([]); const questionList = ref([]);
// //
const currIndex = ref(null); const currIndex = ref(null);
const isShowSuccess = ref(false);
const isShowWarning = ref(false);
const tipsMessage = ref('');
// //
const expreStartTime = computed(() => store.state.layout.expreStartTime); const expreStartTime = computed(() => store.state.layout.expreStartTime);
const expreEndTime = computed(() => store.state.layout.expreEndTime); const expreEndTime = computed(() => store.state.layout.expreEndTime);
//
const expreStatus = computed(() => store.state.projects.expreStatus);
const sessionStatus = sessionStorage.getItem('expreStatus');
if (!expreStatus.value && sessionStatus) {
store.commit('projects/setExpreimentStatus', sessionStatus);
}
if (expreStatus.value) {
if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) {
isShowWarning.value = true;
tipsMessage.value = '数据已锁定,不可操作';
} else {
isShowSuccess.value = true;
tipsMessage.value = '数据未锁定,可操作';
}
setTimeout(() => {
isShowWarning.value = false;
isShowSuccess.value = false;
}, 3000);
}
getDataByCode(); getDataByCode();
const beforeUpload = index => { const beforeUpload = index => {
@ -215,6 +248,15 @@ async function getDataByCode() {
</script> </script>
<style scoped> <style scoped>
.task-form {
position: relative;
}
.task-form :deep(.ant-alert) {
position: absolute;
right: 30px;
}
.task-detail { .task-detail {
background-color: #fff; background-color: #fff;
} }

43
src/components/tall/task/ExperimentalResult.vue

@ -53,9 +53,14 @@
</div> </div>
<a-form-item class="text-right"> <a-form-item class="text-right">
<a-button type="primary" html-type="submit" @click="onSubmit">确定</a-button> <a-button type="primary" html-type="submit" @click="onSubmit" :disabled="expreStatus == 0 || expreStatus == 2 ? false : true">
确定
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-alert v-if="isShowSuccess" :message="tipsMessage" type="success" />
<a-alert v-if="isShowWarning" :message="tipsMessage" type="warning" />
</div> </div>
</template> </template>
@ -79,6 +84,33 @@ const questionList = ref([]);
// //
const currIndex = ref(null); const currIndex = ref(null);
const isShowSuccess = ref(false);
const isShowWarning = ref(false);
const tipsMessage = ref('');
//
const expreStatus = computed(() => store.state.projects.expreStatus);
const sessionStatus = sessionStorage.getItem('expreStatus');
if (!expreStatus.value && sessionStatus) {
store.commit('projects/setExpreimentStatus', sessionStatus);
}
if (expreStatus.value) {
if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) {
isShowWarning.value = true;
tipsMessage.value = '数据已锁定,不可操作';
} else {
isShowSuccess.value = true;
tipsMessage.value = '数据未锁定,可操作';
}
setTimeout(() => {
isShowWarning.value = false;
isShowSuccess.value = false;
}, 3000);
}
getDataByCode(); getDataByCode();
const beforeUpload = index => { const beforeUpload = index => {
@ -206,6 +238,15 @@ async function getDataByCode() {
</script> </script>
<style scoped> <style scoped>
.task-form {
position: relative;
}
.task-form :deep(.ant-alert) {
position: absolute;
right: 30px;
}
.task-detail { .task-detail {
background-color: #fff; background-color: #fff;
} }

43
src/components/tall/task/LabReport.vue

@ -53,9 +53,14 @@
</div> </div>
<a-form-item class="text-right"> <a-form-item class="text-right">
<a-button type="primary" html-type="submit" @click="onSubmit">确定</a-button> <a-button type="primary" html-type="submit" @click="onSubmit" :disabled="expreStatus == 0 || expreStatus == 2 ? false : true">
确定
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-alert v-if="isShowSuccess" :message="tipsMessage" type="success" />
<a-alert v-if="isShowWarning" :message="tipsMessage" type="warning" />
</div> </div>
</template> </template>
@ -80,10 +85,37 @@ const questionList = ref([]);
// //
const currIndex = ref(null); const currIndex = ref(null);
const isShowSuccess = ref(false);
const isShowWarning = ref(false);
const tipsMessage = ref('');
// //
const expreStartTime = computed(() => store.state.layout.expreStartTime); const expreStartTime = computed(() => store.state.layout.expreStartTime);
const expreEndTime = computed(() => store.state.layout.expreEndTime); const expreEndTime = computed(() => store.state.layout.expreEndTime);
//
const expreStatus = computed(() => store.state.projects.expreStatus);
const sessionStatus = sessionStorage.getItem('expreStatus');
if (!expreStatus.value && sessionStatus) {
store.commit('projects/setExpreimentStatus', sessionStatus);
}
if (expreStatus.value) {
if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) {
isShowWarning.value = true;
tipsMessage.value = '数据已锁定,不可操作';
} else {
isShowSuccess.value = true;
tipsMessage.value = '数据未锁定,可操作';
}
setTimeout(() => {
isShowWarning.value = false;
isShowSuccess.value = false;
}, 3000);
}
getDataByCode(); getDataByCode();
const beforeUpload = index => { const beforeUpload = index => {
@ -216,6 +248,15 @@ async function getDataByCode() {
</script> </script>
<style scoped> <style scoped>
.task-form {
position: relative;
}
.task-form :deep(.ant-alert) {
position: absolute;
right: 30px;
}
.task-detail { .task-detail {
background-color: #fff; background-color: #fff;
} }

43
src/components/tall/task/Procedure.vue

@ -53,9 +53,14 @@
</div> </div>
<a-form-item class="text-right"> <a-form-item class="text-right">
<a-button type="primary" html-type="submit" @click="onSubmit">确定</a-button> <a-button type="primary" html-type="submit" @click="onSubmit" :disabled="expreStatus == 0 || expreStatus == 2 ? false : true">
确定
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-alert v-if="isShowSuccess" :message="tipsMessage" type="success" />
<a-alert v-if="isShowWarning" :message="tipsMessage" type="warning" />
</div> </div>
</template> </template>
@ -80,10 +85,37 @@ const questionList = ref([]);
// //
const currIndex = ref(null); const currIndex = ref(null);
const isShowSuccess = ref(false);
const isShowWarning = ref(false);
const tipsMessage = ref('');
// //
const expreStartTime = computed(() => store.state.layout.expreStartTime); const expreStartTime = computed(() => store.state.layout.expreStartTime);
const expreEndTime = computed(() => store.state.layout.expreEndTime); const expreEndTime = computed(() => store.state.layout.expreEndTime);
//
const expreStatus = computed(() => store.state.projects.expreStatus);
const sessionStatus = sessionStorage.getItem('expreStatus');
if (!expreStatus.value && sessionStatus) {
store.commit('projects/setExpreimentStatus', sessionStatus);
}
if (expreStatus.value) {
if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) {
isShowWarning.value = true;
tipsMessage.value = '数据已锁定,不可操作';
} else {
isShowSuccess.value = true;
tipsMessage.value = '数据未锁定,可操作';
}
setTimeout(() => {
isShowWarning.value = false;
isShowSuccess.value = false;
}, 3000);
}
getDataByCode(); getDataByCode();
const beforeUpload = index => { const beforeUpload = index => {
@ -216,6 +248,15 @@ async function getDataByCode() {
</script> </script>
<style scoped> <style scoped>
.task-form {
position: relative;
}
.task-form :deep(.ant-alert) {
position: absolute;
right: 30px;
}
.task-detail { .task-detail {
background-color: #fff; background-color: #fff;
} }

9
src/store/tall/projects/index.js

@ -6,6 +6,7 @@ export default {
projects: [], // 项目列表 projects: [], // 项目列表
dotList: [], // 小红点 dotList: [], // 小红点
newProject: {}, // 新建项目信息 newProject: {}, // 新建项目信息
expreStatus: 0, // 实验状态
}, },
getters: { getters: {
@ -93,6 +94,14 @@ export default {
setDotList(state, data) { setDotList(state, data) {
state.dotList = data; state.dotList = data;
}, },
/**
* 设置实验状态
*/
setExpreimentStatus(state, data) {
state.expreStatus = data || 0;
sessionStorage.setItem('expreStatus', state.expreStatus);
},
}, },
actions: {}, actions: {},

Loading…
Cancel
Save