FEAT:创建测评对接(差第二个value),评估改版 创建评估对接

This commit is contained in:
dongwug
2022-11-01 14:23:18 +08:00
parent 49fa13bd9f
commit 5dd02e6448
2 changed files with 352 additions and 225 deletions

View File

@@ -64,7 +64,6 @@
style="width: 424px"
v-model:value="time"
format="YYYY-MM-DD HH:mm:ss"
@change="onChange"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
@@ -76,7 +75,7 @@
<div class="textarea">
<a-upload
v-model:file-list="fileList"
name="avatar"
name="file"
list-type="picture-card"
class="avatar-uploader"
:show-upload-list="false"
@@ -103,33 +102,12 @@
</a-drawer>
</template>
<script>
import { reactive, toRefs, ref } from "vue";
import { reactive, toRefs, ref, onMounted } from "vue";
import { useRouter } from "vue-router";
import * as api from "../../api/indexEval";
import { message } from "ant-design-vue";
// import { toDate } from "../../api/method";
import { toDate } from "../../api/method";
const router = useRouter();
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
},
});
function getBase64(img, callback) {
const reader = new FileReader();
reader.addEventListener('load', () => callback(reader.result));
reader.readAsDataURL(img);
}
export default {
name: "AddEval",
// components: {
@@ -145,82 +123,116 @@ export default {
inputV1: "",
inputV2: "",
time: undefined,
endTime: undefined,
startTime: undefined,
endTimes : "",
startTimes: "",
picUrl: "",
tableData: [],
deletePathId: null, //删除路径id
editPathId: null, //修改路径id
currentPage: 1, //当前页
tableDataTotal: -1, //学习路径列表总数
pageSize: 10, //每页10条数据
});
const closeDrawer = () => {
ctx.emit("update:addevalVisible", false);
state.inputV1 = "";
state.inputV2 = "";
state.time = undefined;
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const onChange = () => {
state.endTime = state.time[0].$d.toString;
state.startTime = state.time[1].$d.toString;
}
//上传组件
function getBase64(img, callback) {
const reader = new FileReader();
reader.addEventListener('load', () => callback(reader.result));
reader.readAsDataURL(img);
}
const fileList = ref([]);
const loading = ref(false);
const imageUrl = ref('');
const handleChange = info => {
if (info.file.status === 'uploading') {
loading.value = true;
return;
}
if (info.file.status === 'done') {
// Get this url from response in real world.
getBase64(info.file.originFileObj, base64Url => {
imageUrl.value = base64Url;
const handleChange = (info) => {
if (info.file.status === 'uploading') {
loading.value = true;
return;
}
if (info.file.status === 'done') {
console.log('上传图片返回的信息 %o', info)
state.picUrl = info.file.response.data;
// Get this url from response in real world.
getBase64(info.file.originFileObj, (base64Url) => {
imageUrl.value = base64Url;
loading.value = false;
});
}
}
if (info.file.status === 'error') {
loading.value = false;
message.error('upload error');
}
};
if (info.file.status === 'error') {
loading.value = false;
message.error('upload error');
}
}
const beforeUpload = file => {
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
const beforeUpload = (file) => {
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
if (!isJpgOrPng) {
message.error('You can only upload JPG file!');
}
const isLt2M = file.size / 1024 / 1024 < 1;
if (!isLt2M) {
message.error('Image must smaller than 1MB!');
}
return isJpgOrPng && isLt2M;
};
if (!isJpgOrPng) {
message.error('You can only upload JPG file!');
}
const getTableDate = (tableData) => {
let data = tableData;
let array = [];
data.map((value, index) => {
let obj = {
id: value.routerId,
number: (state.currentPage - 1) * state.pageSize + index + 1,
manager: value.name ? value.name : "-",
state:
value.status === 0
? "草稿"
: value.status === 1
? "已发布"
: value.status === -1
? "已停用"
: "-",
creater: value.createName ? value.createName : "-",
pubtime: value.publishTime
? toDate(value.publishTime, "Y-M-D h:m:s")
: "-",
cretime: value.createTime
? toDate(value.createTime, "Y-M-D h:m:s")
: "-",
remark: value.remark ? value.remark : "-",
};
array.push(obj);
});
state.tableData = array;
};
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
message.error('Image must smaller than 2MB!');
}
return isJpgOrPng && isLt2M;
}
// const fileUp = () => {
// let obj = {
// file
// }
// }
//创建测评信息
const createEvalText = () => {
if (!state.inputV1) return message.info("请输入测评名称");
console.log(state.time);
console.log(state.time[0]);
console.log(state.time[0].$d.toString);
console.log(state.time[1].$d.toString);
if ( state.time != undefined) {
state.endTimes = toDate(new Date(state.time[0].$d).getTime() / 1000, "Y-M-D")
state.startTimes = toDate(new Date(state.time[1].$d).getTime() / 1000, "Y-M-D")
}
let obj = {
evaluationName: state.inputV1,
createTime: "",
createUser: 0,
evaluationEndTime: state.endTime,
evaluationEndTime: state.endTimes,
evaluationFlag: "",
evaluationId: "",
evaluationPictureAddress: "",
evaluationStartTime: state.startTime,
evaluationPictureAddress: state.picUrl,
evaluationStartTime: state.startTimes,
evaluationTag: "",
evaluationTypeId: 0,
evaluationTypeName: "",
@@ -233,7 +245,6 @@ export default {
setTimeout(() => {
console.log("创建成功", res);
message.success("创建成功");
console.log(obj);
// state.createLoading = false;
router.push("/leveladd");
// getLearnPath();
@@ -245,13 +256,103 @@ export default {
});
};
//获取学习路径列表
const getEvalPath = () => {
let obj = {
pageNo: state.currentPage,
pageSize: state.pageSize,
};
api
.queryEvaluationDetailById(obj)
.then((res) => {
if (res.status === 200) {
console.log("获取任务列表数据", res.data.data);
let arr = res.data.data.rows;
if (
arr.length === 0 &&
res.data.data.total > 0 &&
state.currentPage > 1
) {
state.currentPage = state.currentPage - 1;
getEvalPath();
}
getTableDate(arr);
state.tableDataTotal = Number(res.data.data.total);
}
})
.catch((err) => {
console.log("获取学习路径失败", err);
});
};
//翻页 需要去pa里绑定 @change="changePagination"
const changePagination = (page) => {
state.currentPage = page;
getEvalPath();
// console.log("翻页", page, pageSize);
};
//删除评估
const deleteEvalPath = () => {
let obj = {
routerId: state.deletePathId,
type: -2,
};
api
.deleteEvaluationById(obj)
.then((res) => {
console.log("删除成功", res);
message.success("删除成功");
// state.deleteModal = false;
getEvalPath();
})
.catch((err) => {
console.log("删除失败", err);
});
};
//编辑评估
const editEvalPath = () => {
if (!state.pathName) return message.info("请输入路径图名称");
// if (!state.organizationSelectName) return message.info("请选择归属组织");
// state.createLoading = true;
let obj = {
routerId: state.editPathId,
name: state.pathName,
picUrl: "",
remark: state.pathIntro,
status: 0,
};
api
.updateEvaluation(obj)
.then((res) => {
setTimeout(() => {
console.log("修改成功", res);
message.success("修改成功");
// state.createLoading = false;
// state.currentPage = 1;
// state.out1 = false;
// router.push("/leveladd");
getEvalPath();
}, 1000);
})
.catch((err) => {
console.log("修改失败", err);
// state.createLoading = false;
});
};
onMounted(() => {
// console.log("执行");
getEvalPath();
});
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
rowSelection,
//增删改查
createEvalText,
onChange,
getEvalPath,
changePagination,
deleteEvalPath,
editEvalPath,
//上传组件
fileList,
loading,