需求列表 产品列表

This commit is contained in:
cxc
2022-09-20 17:31:39 +08:00
parent 5aa377760a
commit 25ed1387a7
47 changed files with 5276 additions and 757 deletions

View File

@ -68,7 +68,7 @@ const props = defineProps({
// 是否显示提示
isShowTip: {
type: Boolean,
default: true
default: true,
},
});
@ -80,32 +80,36 @@ const dialogImageUrl = ref("");
const dialogVisible = ref(false);
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const uploadImgUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload"); // 上传的图片服务器地址
const headers = ref({ 'client-token': "Bearer " + getToken() });
const headers = ref({ "client-token": "Bearer " + getToken() });
const fileList = ref([]);
const showTip = computed(
() => props.isShowTip && (props.fileType || props.fileSize)
);
watch(() => props.modelValue, val => {
if (val) {
// 首先将值转为数组
const list = Array.isArray(val) ? val : props.modelValue.split(",");
// 然后将数组转为对象数组
fileList.value = list.map(item => {
if (typeof item === "string") {
if (item.indexOf(baseUrl) === -1) {
item = { name: baseUrl + item, url: baseUrl + item };
} else {
item = { name: item, url: item };
watch(
() => props.modelValue,
(val) => {
if (val) {
// 首先将值转为数组
const list = Array.isArray(val) ? val : props.modelValue.split(",");
// 然后将数组转为对象数组
fileList.value = list.map((item) => {
if (typeof item === "string") {
if (item.indexOf(baseUrl) === -1) {
item = { name: baseUrl + item, url: baseUrl + item };
} else {
item = { name: item, url: item };
}
}
}
return item;
});
} else {
fileList.value = [];
return [];
}
},{ deep: true, immediate: true });
return item;
});
} else {
fileList.value = [];
return [];
}
},
{ deep: true, immediate: true }
);
// 删除图片
function handleRemove(file, files) {
@ -114,9 +118,11 @@ function handleRemove(file, files) {
// 上传成功回调
function handleUploadSuccess(res) {
uploadList.value.push({ name: res.fileName, url: res.fileName });
uploadList.value.push({ name: res.fileName, url: res.url });
if (uploadList.value.length === number.value) {
fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value);
fileList.value = fileList.value
.filter((f) => f.url !== undefined)
.concat(uploadList.value);
uploadList.value = [];
number.value = 0;
emit("update:modelValue", listToString(fileList.value));
@ -132,7 +138,7 @@ function handleBeforeUpload(file) {
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
}
isImg = props.fileType.some(type => {
isImg = props.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
@ -180,7 +186,8 @@ function listToString(list, separator) {
separator = separator || ",";
for (let i in list) {
if (undefined !== list[i].url && list[i].url.indexOf("blob:") !== 0) {
strs += list[i].url.replace(baseUrl, "") + separator;
// strs += list[i].url.replace(baseUrl, "") + separator;
strs += list[i].url + separator;
}
}
return strs != "" ? strs.substr(0, strs.length - 1) : "";
@ -190,6 +197,6 @@ function listToString(list, separator) {
<style scoped lang="scss">
// .el-upload--picture-card 控制加号部分
:deep(.hide .el-upload--picture-card) {
display: none;
display: none;
}
</style>
</style>

View File

@ -315,7 +315,7 @@ export default {
font-size: 18px !important;
color: rgb(243, 143, 130);
}
.el-input >>> .el-textarea__inner {
.el-input > .el-textarea__inner {
font-size: 18px !important;
}
.video {
@ -326,7 +326,7 @@ export default {
min-width: 200px;
max-width: 100%;
}
.progressModule >>> .el-progress__text {
.progressModule > .el-progress__text {
color: #1296db;
font-size: 15px !important;
}