|
|
@@ -12,42 +12,89 @@
|
|
|
<div class="version">
|
|
|
<div class="base-title">版本管理</div>
|
|
|
<div class="is-history">
|
|
|
- <div class="label">是否已存在:</div>
|
|
|
<div class="radio-box">
|
|
|
- <a-radio-group v-model:value="isHistory">
|
|
|
- <a-radio :value="0">否</a-radio>
|
|
|
- <a-radio :value="1">是</a-radio>
|
|
|
- </a-radio-group>
|
|
|
+ <div class="label">是否已存在:</div>
|
|
|
+ <div class="radio">
|
|
|
+ <a-radio-group v-model:value="isHistory" @change="handleChangeHistoryMode">
|
|
|
+ <a-radio :value="0">否</a-radio>
|
|
|
+ <a-radio :value="1">是</a-radio>
|
|
|
+ </a-radio-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="select-history" v-if="isHistory === 1">
|
|
|
+ <div class="history-label">选择历史资源:</div>
|
|
|
+ <a class="select-btn" @click="handleOpenHistoryModal">选择历史资源</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="version-info" v-if="isHistory === 0">
|
|
|
<div class="label">版本名称:</div>
|
|
|
<div class="select">
|
|
|
- <a-select v-model:value="version" style="width: 100%" :options="versionSelect"></a-select>
|
|
|
+ <a-select v-model:value="versionInfo" style="width: 100%" :options="versionSelect"></a-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="history-info" v-if="isHistory === 1">
|
|
|
+ <div class="label">历史资源信息:</div>
|
|
|
+ <div class="info-box">
|
|
|
+ <div class="info-item" v-for="(item, index) in historyResDetail" :key="index">
|
|
|
+ <div class="item-label">{{ item.label }}:</div>
|
|
|
+ <div class="item-value">{{ item.value }}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</BasicModal>
|
|
|
+ <ResHistoryVersionModal @register="registerHistoryModal" @select="selectHistoryRes"></ResHistoryVersionModal>
|
|
|
</template>
|
|
|
<script>
|
|
|
import { defineComponent, reactive, ref, onMounted, watch, computed, toRefs } from 'vue';
|
|
|
-import { BasicModal, useModalInner } from '/@/components/Modal';
|
|
|
-// import { message } from 'ant-design-vue';
|
|
|
-import { getVersionList } from '/@/api/sys/version';
|
|
|
+import { BasicModal, useModalInner, useModal } from '/@/components/Modal';
|
|
|
+import ResHistoryVersionModal from './ResHistoryVersionModal.vue';
|
|
|
+import { message } from 'ant-design-vue';
|
|
|
+import { getVersionList, saveResVersion } from '/@/api/sys/version';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'ResVersionModal',
|
|
|
- components: { BasicModal },
|
|
|
+ components: { BasicModal, ResHistoryVersionModal },
|
|
|
setup(_, { emit }) {
|
|
|
+ // 基础信息
|
|
|
const baseInfo = reactive({
|
|
|
RESOURCE_TYPE: "",
|
|
|
type: "",
|
|
|
SERVICENAME: "",
|
|
|
SERVICEID: ""
|
|
|
})
|
|
|
+ // const versionInfo = reactive({
|
|
|
+ // version_ID:"",
|
|
|
+ // version_NO:""
|
|
|
+ // })
|
|
|
+ // 版本信息,用于提交
|
|
|
+ const versionInfo = ref('')
|
|
|
+ // 是否有历史版本
|
|
|
const isHistory = ref(0);
|
|
|
- const version = ref("");
|
|
|
+ // 历史版本资源详情
|
|
|
+ const historyResDetail = ref([
|
|
|
+ {
|
|
|
+ label: "资源类型",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "资源名称",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本名称",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本号",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本时间",
|
|
|
+ value: ""
|
|
|
+ }
|
|
|
+ ]);
|
|
|
//获取大版本选项列表
|
|
|
const getVersionSelect = () => {
|
|
|
return new Promise((resolve) => {
|
|
|
@@ -61,7 +108,7 @@ export default defineComponent({
|
|
|
resData.push(
|
|
|
{
|
|
|
label: element.VERSION_NAME,
|
|
|
- value: element.VERSION_NAME
|
|
|
+ value: element.FID + '_' + element.VERSION_NO
|
|
|
}
|
|
|
)
|
|
|
});
|
|
|
@@ -78,7 +125,7 @@ export default defineComponent({
|
|
|
onMounted(async () => {
|
|
|
versionSelect.value = await getVersionSelect();
|
|
|
})
|
|
|
-
|
|
|
+ // 初始化
|
|
|
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
|
|
|
resetForm()
|
|
|
console.log(data)
|
|
|
@@ -88,21 +135,85 @@ export default defineComponent({
|
|
|
baseInfo.SERVICENAME = SERVICENAME;
|
|
|
baseInfo.SERVICEID = SERVICEID;
|
|
|
});
|
|
|
+ // 重置表格
|
|
|
const resetForm = () => {
|
|
|
isHistory.value = 0
|
|
|
- version.value = ''
|
|
|
+ versionInfo.value = ''
|
|
|
}
|
|
|
- // 提交信息
|
|
|
- const handleSubmit = () => {
|
|
|
|
|
|
+ // 注册历史版本资源弹窗
|
|
|
+ const [registerHistoryModal, { openModal }] = useModal()
|
|
|
+
|
|
|
+ // 打开选择历史版本资源的弹窗
|
|
|
+ const handleOpenHistoryModal = () => {
|
|
|
+ openModal(true, {
|
|
|
+ type: baseInfo.RESOURCE_TYPE
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // 提交信息
|
|
|
+ const handleSubmit = async () => {
|
|
|
+ if (versionInfo.value === '') {
|
|
|
+ message.info('请选择版本')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const version = versionInfo.value.split('_')
|
|
|
+ console.log(baseInfo)
|
|
|
+ console.log(version)
|
|
|
+ let params = {
|
|
|
+ version: [{
|
|
|
+ resource_ID: baseInfo.SERVICEID,
|
|
|
+ resource_TYPE: baseInfo.RESOURCE_TYPE,
|
|
|
+ version_ID: version[0],
|
|
|
+ version_NO: version[1]
|
|
|
+ }]
|
|
|
+ }
|
|
|
+ await saveResVersion(params).then(saveRes => {
|
|
|
+ console.log(saveRes)
|
|
|
+ })
|
|
|
+ closeModal();
|
|
|
+ emit('success')
|
|
|
};
|
|
|
+ // 选择历史版本资源
|
|
|
+ const selectHistoryRes = (info) => {
|
|
|
+ historyResDetail.value = info
|
|
|
+ }
|
|
|
+ const handleChangeHistoryMode = (e) => {
|
|
|
+ historyResDetail.value = [
|
|
|
+ {
|
|
|
+ label: "资源类型",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "资源名称",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本名称",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本号",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "版本时间",
|
|
|
+ value: ""
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ versionInfo.value = ''
|
|
|
+ }
|
|
|
return {
|
|
|
...toRefs(baseInfo),
|
|
|
+ versionInfo,
|
|
|
isHistory,
|
|
|
- version,
|
|
|
+ historyResDetail,
|
|
|
versionSelect,
|
|
|
registerModal,
|
|
|
+ registerHistoryModal,
|
|
|
+ handleOpenHistoryModal,
|
|
|
handleSubmit,
|
|
|
+ selectHistoryRes,
|
|
|
+ handleChangeHistoryMode
|
|
|
};
|
|
|
},
|
|
|
});
|
|
|
@@ -139,7 +250,8 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .version{
|
|
|
+
|
|
|
+ .version {
|
|
|
.base-title {
|
|
|
margin: 20px 0;
|
|
|
width: 100px;
|
|
|
@@ -150,29 +262,79 @@ export default defineComponent({
|
|
|
font-size: 16px;
|
|
|
color: #333333;
|
|
|
}
|
|
|
- .is-history{
|
|
|
+
|
|
|
+ .is-history {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
|
|
|
- .label{
|
|
|
- width: 90px;
|
|
|
- margin-right: 10px;
|
|
|
+ .radio-box {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-right: 180px;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ width: 90px;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .select-history {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .history-label {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- .version-info{
|
|
|
+
|
|
|
+ .version-info {
|
|
|
margin-top: 10px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
|
|
|
- .label{
|
|
|
+ .label {
|
|
|
width: 90px;
|
|
|
margin-right: 10px;
|
|
|
flex-shrink: 0;
|
|
|
}
|
|
|
- .select{
|
|
|
+
|
|
|
+ .select {
|
|
|
width: 250px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .history-info {
|
|
|
+ margin-top: 10px;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ width: 100px;
|
|
|
+ margin-right: 10px;
|
|
|
+ flex-shrink: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-box {
|
|
|
+ width: 500px;
|
|
|
+ border-radius: 2px;
|
|
|
+ background: rgba(51, 51, 51, 0.1);
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: 1px solid #D9D9D9;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ user-select: none;
|
|
|
+ cursor: not-allowed;
|
|
|
+
|
|
|
+ .info-item {
|
|
|
+ padding-left: 15px;
|
|
|
+ width: 50%;
|
|
|
+ height: 40px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #888888;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|