|
|
@@ -1,265 +0,0 @@
|
|
|
-<template>
|
|
|
- <div class="dialog">
|
|
|
- <el-dialog
|
|
|
- v-model="dialogVisible"
|
|
|
- :title="dialogTitle"
|
|
|
- width="800"
|
|
|
- @close="closeDialog()"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- ref="formRef"
|
|
|
- :model="formData"
|
|
|
- :rules="rules"
|
|
|
- label-width="120px"
|
|
|
- >
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="projectName" label="项目名称">
|
|
|
- <el-select v-model="formData.projectName" @change="projectChange">
|
|
|
- <el-option
|
|
|
- v-for="item in projectOptions"
|
|
|
- :key="item.code"
|
|
|
- :label="item.label"
|
|
|
- :value="item.label"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="projectCode" label="项目代码">
|
|
|
- <el-input disabled v-model="formData.projectCode" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item prop="majorVersion" label="主版本">
|
|
|
- <el-input-number
|
|
|
- :step="1"
|
|
|
- step-strictly
|
|
|
- v-model="formData.majorVersion"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item prop="minorVersion" label="次版本">
|
|
|
- <el-input-number
|
|
|
- :step="1"
|
|
|
- step-strictly
|
|
|
- v-model="formData.minorVersion"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item prop="minVersion" label="小版本">
|
|
|
- <el-input-number
|
|
|
- :step="1"
|
|
|
- step-strictly
|
|
|
- v-model="formData.minVersion"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="updateTitle" label="更新标题">
|
|
|
- <el-input v-model="formData.updateTitle" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="updateInfos" label="更新内容">
|
|
|
- <el-input type="textarea" v-model="formData.updateInfos" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="updatePackUrl" label="上传更新包">
|
|
|
- <div>
|
|
|
- <el-upload
|
|
|
- ref="upload"
|
|
|
- :multiple="false"
|
|
|
- class="avatar-uploader"
|
|
|
- action="/apis10/upload/bucketFile"
|
|
|
- :headers="headers"
|
|
|
- :show-file-list="false"
|
|
|
- accept=".*"
|
|
|
- :on-exceed="handleExceed"
|
|
|
- :before-upload="beforeUpload"
|
|
|
- :on-success="successFile"
|
|
|
- :data="uploadParams"
|
|
|
- >
|
|
|
- <template #trigger>
|
|
|
- <el-button type="primary">
|
|
|
- <i-ep-upload-filled /> 上传更新包
|
|
|
- </el-button>
|
|
|
-
|
|
|
- <span style="margin-left: 10px">
|
|
|
- <!-- <img-->
|
|
|
- <!-- v-if="formData.updatePackUrl"-->
|
|
|
- <!-- height="60px"-->
|
|
|
- <!-- style="-->
|
|
|
- <!-- cursor: pointer;-->
|
|
|
- <!-- border: 1px solid #ddd;-->
|
|
|
- <!-- height: 60px;-->
|
|
|
- <!-- max-width: 500px;-->
|
|
|
- <!-- "-->
|
|
|
- <!-- :src="formData.updatePackUrl"-->
|
|
|
- <!-- />-->
|
|
|
- <el-link
|
|
|
- type="primary"
|
|
|
- v-if="formData.updatePackUrl"
|
|
|
- :href="formData.updatePackUrl"
|
|
|
- >
|
|
|
- {{ formData.updatePackUrl }}
|
|
|
- </el-link>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-upload>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button v-throttle type="primary" @click="handleSubmit"
|
|
|
- >确 定
|
|
|
- </el-button>
|
|
|
- <el-button @click="closeDialog()">取 消</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-<script setup lang="ts">
|
|
|
-import {
|
|
|
- FormInstance,
|
|
|
- genFileId,
|
|
|
- UploadInstance,
|
|
|
- UploadProps,
|
|
|
- UploadRawFile,
|
|
|
-} from "element-plus";
|
|
|
-
|
|
|
-import { getToken } from "@/utils/js-cookie";
|
|
|
-import { publishUpgradeProject } from "@/api/upgrade";
|
|
|
-
|
|
|
-let dialogVisible = ref(false);
|
|
|
-let dialogTitle = ref("");
|
|
|
-const formRef = ref<FormInstance>();
|
|
|
-const emit = defineEmits(["dialogChange"]);
|
|
|
-const formData = reactive({
|
|
|
- projectName: "ERP-APP",
|
|
|
- projectCode: "ERP-APP",
|
|
|
- majorVersion: 1,
|
|
|
- minorVersion: 0,
|
|
|
- minVersion: 0,
|
|
|
- updatePackUrl: "",
|
|
|
- updateTitle: "",
|
|
|
- updateInfos: "",
|
|
|
- id: 0,
|
|
|
-});
|
|
|
-const rules = reactive({
|
|
|
- logisticName: [
|
|
|
- { required: true, message: "请输入物流名称", trigger: "blur" },
|
|
|
- ],
|
|
|
-});
|
|
|
-const projectOptions = [{ label: "ERP-APP", code: "ERP-APP" }];
|
|
|
-
|
|
|
-const upload = ref<UploadInstance>();
|
|
|
-
|
|
|
-const headers = {
|
|
|
- "X-ERP-User-From": 10,
|
|
|
- "X-ERP-DataSource-Id": getToken("dataBaseAlias"),
|
|
|
- "X-ERP-Supplier-Code": getToken("shardingKey"),
|
|
|
- "X-Token": getToken("Access-Token"),
|
|
|
-};
|
|
|
-const uploadParams = reactive({
|
|
|
- srcfilename: "",
|
|
|
- chunks: 1,
|
|
|
- bucketName: "webImage",
|
|
|
-});
|
|
|
-
|
|
|
-const handleExceed: UploadProps["onExceed"] = (files) => {
|
|
|
- upload.value!.clearFiles();
|
|
|
- const file = files[0] as UploadRawFile;
|
|
|
- file.uid = genFileId();
|
|
|
- upload.value!.handleStart(file);
|
|
|
-};
|
|
|
-
|
|
|
-function beforeUpload(file) {
|
|
|
- console.log(file);
|
|
|
- uploadParams.srcfilename = file.name;
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- // if (file.size > 307200) {
|
|
|
- // ElMessage.warning(
|
|
|
- // "图片大小不能大于300KB,请您注意图片的长和宽,网页图片的分辨率为72"
|
|
|
- // );
|
|
|
- // reject();
|
|
|
- // } else {
|
|
|
- resolve(file);
|
|
|
- // }
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-function successFile(res, file, fileList) {
|
|
|
- // console.log(res);
|
|
|
- // formData.posterLocationImage = res.fileLink
|
|
|
- formData.updatePackUrl = "/static/" + res.fileLink;
|
|
|
-
|
|
|
- ElMessage.success("上传成功");
|
|
|
-}
|
|
|
-
|
|
|
-function handleSubmit() {
|
|
|
- formRef.value.validate((valid: any) => {
|
|
|
- if (valid) {
|
|
|
- //增加
|
|
|
- const postData = JSON.stringify(formData);
|
|
|
- const params = {
|
|
|
- upgradeProject: postData,
|
|
|
- };
|
|
|
- publishUpgradeProject(params).then((response) => {
|
|
|
- dialogVisible.value = false;
|
|
|
- if (response.httpCode == 200) {
|
|
|
- emit("dialogChange");
|
|
|
- ElMessage.success("操作成功");
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-/** 重置表单 */
|
|
|
-function resetForm() {
|
|
|
- formRef.value.resetFields();
|
|
|
- formData.id = 0;
|
|
|
-}
|
|
|
-
|
|
|
-/**关闭弹窗 */
|
|
|
-function closeDialog() {
|
|
|
- dialogVisible.value = false;
|
|
|
- formRef.value.resetFields();
|
|
|
- formData.id = 0;
|
|
|
-}
|
|
|
-
|
|
|
-function getItemData(item) {}
|
|
|
-
|
|
|
-const projectChange = (val) => {
|
|
|
- const proj = projectOptions.find((v) => v.label === val);
|
|
|
- formData.projectCode = proj.code;
|
|
|
-};
|
|
|
-
|
|
|
-defineExpose({
|
|
|
- dialogVisible,
|
|
|
- dialogTitle,
|
|
|
- getItemData,
|
|
|
- resetForm,
|
|
|
-});
|
|
|
-</script>
|
|
|
-
|
|
|
-<style scoped lang="scss"></style>
|