|
@@ -18,8 +18,8 @@
|
|
|
<el-input v-model="formData.misProjectName" placeholder="请输入信息系统项目名称"></el-input>
|
|
|
<el-select v-model="formData.misProjectName2" placeholder="请选择信息系统项目名称"
|
|
|
@change="misProjectNameOptionsChange" :disabled="dialogTitle === '详情'">
|
|
|
- <el-option v-for="item in information_system" :key="item.value" :label="item.label"
|
|
|
- :value="item.label" />
|
|
|
+ <el-option v-for="item in dict.type.information_system" :key="item.value"
|
|
|
+ :label="item.label" :value="item.label" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
@@ -81,20 +81,20 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="数据库" prop="database">
|
|
|
<el-select v-model="formData.database" placeholder="请选择数据库">
|
|
|
- <el-option v-for="item in database_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.database_type" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label=" 开发环境" prop="environment">
|
|
|
<el-select v-model="formData.environment" placeholder="请选择开发环境">
|
|
|
- <el-option v-for="item in dev_env_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.dev_env_type" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="系统架构" prop="systemSchema">
|
|
|
<el-select v-model="formData.systemSchema" placeholder="请选择系统架构">
|
|
|
- <el-option v-for="item in system_architecture_type" :key="item.value" :label="item.label"
|
|
|
- :value="item.value" />
|
|
|
+ <el-option v-for="item in dict.type.system_architecture_type" :key="item.value"
|
|
|
+ :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="所属单位机构名称" prop="belongDepartment">
|
|
@@ -107,7 +107,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="信息系统类型" prop="systemType">
|
|
|
<el-select v-model="formData.systemType" placeholder="请选择信息系统类型">
|
|
|
- <el-option v-for="item in info_system_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.info_system_type" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -116,19 +116,19 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label=" 运行状态" prop="runType">
|
|
|
<el-select v-model="formData.runType" placeholder="请选择运行状态">
|
|
|
- <el-option v-for="item in run_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.run_type" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label=" 网络环境" prop="internetEnvironment">
|
|
|
<el-select v-model="formData.internetEnvironment" placeholder="请选择网络环境">
|
|
|
- <el-option v-for="item in network_env_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.network_env_type" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="应用范围" prop="applyScope">
|
|
|
<el-select v-model="formData.applyScope" placeholder="请选择应用范围">
|
|
|
- <el-option v-for="item in application_scope" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in dict.type.application_scope" :key="item.value" :label="item.label"
|
|
|
:value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -191,8 +191,8 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="支深业务类型" prop="businessType">
|
|
|
<el-select v-model="formData.businessType" placeholder="请选择支深业务类型">
|
|
|
- <el-option v-for="item in support_deep_business_type" :key="item.value" :label="item.label"
|
|
|
- :value="item.value" />
|
|
|
+ <el-option v-for="item in dict.type.support_deep_business_type" :key="item.value"
|
|
|
+ :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否党纪工团系统" prop="isDjgtSystem">
|
|
@@ -291,14 +291,16 @@
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="handleCancel">取 消</el-button>
|
|
|
+ <el-button @click="beforeClose">取 消</el-button>
|
|
|
<el-button type="primary" @click="handleConfirm">确 定</el-button>
|
|
|
</div>
|
|
|
|
|
|
- <!-- <el-dialog :title="diaTitle" v-model="dataSourceDialogVisible" :before-close="handleDialogClose">
|
|
|
+ <el-dialog :title="diaTitle" :visible.sync="dataSourceDialogVisible" :before-close="handleDialogClose"
|
|
|
+ :append-to-body="true" custom-class="inner-dialog">
|
|
|
<div class="dialog-block-header">配置数据源信息</div>
|
|
|
- <el-form :model="dataSourceForm" class="form-detail-inline-two" inline label-width="auto"
|
|
|
- :disabled="dataSourceFormDisabled" ref="ruleFormRef1" :rules="diaFormRules">
|
|
|
+ <el-form :model="dataSourceForm" style="width: 100%" class="form-detail-inline-two" :inline="true"
|
|
|
+ label-width="auto" :label-position="'top'" :disabled="dataSourceFormDisabled" ref="ruleFormRef1"
|
|
|
+ :rules="diaFormRules">
|
|
|
<el-form-item label="数据源名称" prop="name">
|
|
|
<el-input v-model="dataSourceForm.name" placeholder="请输入数据源名称" />
|
|
|
</el-form-item>
|
|
@@ -307,9 +309,8 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="数据源类型" class="textarea-row" prop="dbType">
|
|
|
<el-select v-model="dataSourceForm.dbType" placeholder="请选择数据源类型">
|
|
|
- <template v-for="item in dbTypeOptions" :key="item.value">
|
|
|
- <el-option :value="item.value" :label="item.label"></el-option>
|
|
|
- </template>
|
|
|
+ <el-option :value="item.value" :label="item.label" v-for="item in dbTypeOptions"
|
|
|
+ :key="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="用途" class="textarea-row">
|
|
@@ -341,21 +342,32 @@
|
|
|
<el-input v-model="dataSourceForm.password" placeholder="请输入密码" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
-
|
|
|
- <div class="op-btn">
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="addDataSourceHandle" v-if="!dataSourceFormDisabled">保存</el-button>
|
|
|
<el-button type="primary" @click="handleDialogClose">关闭</el-button>
|
|
|
</div>
|
|
|
- </el-dialog> -->
|
|
|
+
|
|
|
+
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { addMis, updateMis, queryMisMsg, addDatabase, updateDatabase, deleteDatabase, queryDatabase, queryMisList } from '@/api/unified-resources/information-system/index.js'
|
|
|
+import { addMis, updateMis, queryMisMsg, addDatabase, updateDatabase, deleteDatabase, queryDatabase, queryMisList, getDirectoryAllLevel, getResponsibilityList } from '@/api/unified-resources/information-system/index.js'
|
|
|
|
|
|
import MyForm from "@/components/MyForm";
|
|
|
export default {
|
|
|
name: "ConfigDialog",
|
|
|
+ dicts: ['database_type',
|
|
|
+ 'dev_env_type',
|
|
|
+ 'system_architecture_type',
|
|
|
+ 'info_system_type',
|
|
|
+ 'run_type',
|
|
|
+ 'network_env_type',
|
|
|
+ 'application_scope',
|
|
|
+ 'support_deep_business_type',
|
|
|
+ 'information_system'],
|
|
|
components: {
|
|
|
MyForm,
|
|
|
},
|
|
@@ -477,12 +489,32 @@ export default {
|
|
|
isDisabled: false,
|
|
|
itemView: {},
|
|
|
dialogTitle: "",
|
|
|
- buildDepartmentOptions:[],
|
|
|
- developmentDepartmetnOptions:[],
|
|
|
- isRadio:[{ label: '是' }, { label: '否' }],
|
|
|
- buildDepartmentOptions:[],
|
|
|
- isselfDepartmentOptions:[],
|
|
|
- otherDepartmentOptions:[],
|
|
|
+ buildDepartmentOptions: [],
|
|
|
+ developmentDepartmetnOptions: [],
|
|
|
+ isRadio: [{ label: '是' }, { label: '否' }],
|
|
|
+
|
|
|
+ isselfDepartmentOptions: [],
|
|
|
+ otherDepartmentOptions: [],
|
|
|
+ dataSourceArr: [],
|
|
|
+ diaTitle: '',
|
|
|
+ dataSourceDialogVisible: false,
|
|
|
+ dialogEditVisible: false,
|
|
|
+ dataSourceFormDisabled: false,
|
|
|
+ dataSourceForm: {},
|
|
|
+ isProdOptions: [
|
|
|
+ { label: '生产环境', value: 1 },
|
|
|
+ { label: '开发环境', value: 2 }
|
|
|
+ ],
|
|
|
+ dbTypeOptions: [
|
|
|
+ { label: 'sqlserver', value: 'sqlserver', type: 'DataSourceManage' },
|
|
|
+ { label: 'dm8', value: 'dm8', type: 'DataSourceManage' },
|
|
|
+ { label: 'kingbase', value: 'kingbase', type: 'DataSourceManage' },
|
|
|
+ { label: 'oracle', value: 'oracle', type: 'DataSourceManage' },
|
|
|
+ { label: 'postgreSQL', value: 'postgreSQL', type: 'DataSourceManage' },
|
|
|
+ { label: 'sftp', value: 'sftp', type: 'FileTransferAgent' }
|
|
|
+ ],
|
|
|
+ dataSourceForm: {},
|
|
|
+ tableData: [],
|
|
|
formRules: {
|
|
|
identifier: [{ required: true, message: '请输入序号/标识符', trigger: 'blur' }],
|
|
|
misProjectName: [{ required: true, message: '请输入信息系统项目名称', trigger: 'blur' }],
|
|
@@ -500,6 +532,17 @@ export default {
|
|
|
isSecret: [{ required: true, message: '请选择是否涉密系统', trigger: 'change' }],
|
|
|
isHardwareInternet: [{ required: true, message: '请选择是否硬件网络', trigger: 'change' }],
|
|
|
businessType: [{ required: true, message: '请选择请选择支深业务类型', trigger: 'change' }]
|
|
|
+ },
|
|
|
+ diaFormRules: {
|
|
|
+ name: [{ required: true, message: '请输入数据源名称', trigger: 'blur' }],
|
|
|
+ level: [{ required: true, message: '请输入数据源层次', trigger: 'blur' }],
|
|
|
+ dbType: [{ required: true, message: '请选择数据源类型', trigger: 'change' }],
|
|
|
+ isProd: [{ required: true, message: '请选择环境', trigger: 'change' }],
|
|
|
+ serverIp: [{ required: true, message: '请输入主机', trigger: 'blur' }],
|
|
|
+ serverPort: [{ required: true, message: '请输入端口', trigger: 'blur' }],
|
|
|
+ dbName: [{ required: true, message: '请输入数据库名称', trigger: 'blur' }],
|
|
|
+ username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
|
|
|
+ password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
|
|
|
}
|
|
|
};
|
|
|
},
|
|
@@ -527,37 +570,58 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
- if (this.dialogTitle === "查看") {
|
|
|
- this.isDisabled = true;
|
|
|
- } else {
|
|
|
- this.isDisabled = false;
|
|
|
- }
|
|
|
+ this.getTableListData()
|
|
|
+ this.getOrganizationalList()
|
|
|
+ this.getRessibilityList()
|
|
|
+ // if (this.dialogTitle === "查看") {
|
|
|
+ // this.isDisabled = true;
|
|
|
+ // } else {
|
|
|
+ // this.isDisabled = false;
|
|
|
+ // }
|
|
|
+
|
|
|
if (this.dialogTitle !== "新增") {
|
|
|
- this.getView(this.itemView.id);
|
|
|
+ queryMisMsg({ id: this.itemView.id }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ res.data[0].buildDepartment = res.data[0].buildDepartment ? res.data[0].buildDepartment?.split(',') : []
|
|
|
+ res.data[0].manageDepartmetn = res.data[0].buildDepartment ? res.data[0].manageDepartmetn?.split(',') : []
|
|
|
+ res.data[0].developmentDepartmetn = res.data[0].buildDepartment ? res.data[0].developmentDepartmetn?.split(',') : []
|
|
|
+ res.data[0].maintainDepartmetn = res.data[0].buildDepartment ? res.data[0].maintainDepartmetn?.split(',') : []
|
|
|
+ res.data[0].useSystemDepartment = res.data[0].buildDepartment ? res.data[0].useSystemDepartment?.split(',') : []
|
|
|
+ res.data[0].belongDepartment = res.data[0].buildDepartment ? res.data[0].belongDepartment?.split(',') : []
|
|
|
+ res.data[0].techDepartment = res.data[0].buildDepartment ? res.data[0].techDepartment?.split(',') : []
|
|
|
+ this.formData = res.data[0]
|
|
|
+ this.dataSourceArr = res.data[0].dataBaseList
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (this.dialogTitle === "新增" && JSON.parse(sessionStorage.getItem('system-form'))) {
|
|
|
+ this.formData = JSON.parse(sessionStorage.getItem('system-form'))
|
|
|
}
|
|
|
+
|
|
|
+ this.formData.otherDepartment = '无'
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
getView(id) {
|
|
|
- this.formData.forEach((item) => {
|
|
|
- item.value = "";
|
|
|
- });
|
|
|
- viewTabAccessConfigById(id).then((res) => {
|
|
|
- if (+res.code === 200) {
|
|
|
- this.formData.forEach((item) => {
|
|
|
- item.value = res.data[item.fieldName];
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ // this.formData.forEach((item) => {
|
|
|
+ // item.value = "";
|
|
|
+ // });
|
|
|
+ // viewTabAccessConfigById(id).then((res) => {
|
|
|
+ // if (+res.code === 200) {
|
|
|
+ // this.formData.forEach((item) => {
|
|
|
+ // item.value = res.data[item.fieldName];
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // });
|
|
|
},
|
|
|
|
|
|
misProjectNameOptionsChange(value) {
|
|
|
- // let index = tableData.value.findIndex(item => item.misProjectName === formData.value.misProjectName2)
|
|
|
- // console.log(index, 'index')
|
|
|
- // if (index === -1) {
|
|
|
- // formData.value.misProjectName = formData.value.misProjectName2
|
|
|
- // } else {
|
|
|
- // ElMessage.error('系统名称已存在')
|
|
|
- // }
|
|
|
+ let index = this.tableData.findIndex(item => item.misProjectName === this.formData.misProjectName2)
|
|
|
+ if (index === -1) {
|
|
|
+ this.formData.misProjectName = this.formData.misProjectName2
|
|
|
+ } else {
|
|
|
+ this.$message.error('系统名称已存在')
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
handleUpdateVisible(val) {
|
|
@@ -567,27 +631,65 @@ export default {
|
|
|
handleFormDataChange(newFormData) {
|
|
|
this.formData = newFormData; // 同步表单数据
|
|
|
},
|
|
|
- beforeClose(done) {
|
|
|
- this.visible = false;
|
|
|
- this.formData.forEach((element) => {
|
|
|
- element.value = "";
|
|
|
- });
|
|
|
- this.$emit("before-close", done);
|
|
|
+ beforeClose() {
|
|
|
+
|
|
|
+ if (this.dialogTitle === '新增') {
|
|
|
+ console.log('新增');
|
|
|
+ console.log(this.formData, 'this.formData');
|
|
|
+ // console.log(Object.keys(this.formData).length, 'Object.keys(this.formData).length');
|
|
|
+ console.log(Object.keys(this.formData).length, 'Object.keys(this.formData).length');
|
|
|
+
|
|
|
+ if (Object.keys(this.formData).length > 1) {
|
|
|
+ this.$confirm('表单尚未提交,是否暂存已修改的内容?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+
|
|
|
+ sessionStorage.setItem('system-form', JSON.stringify(this.formData))
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '暂存成功!'
|
|
|
+ });
|
|
|
+
|
|
|
+ this.visible = false;
|
|
|
+ this.$emit("before-close",);
|
|
|
+ }).catch(() => {
|
|
|
+ this.formData = {}
|
|
|
+ sessionStorage.removeItem('system-form')
|
|
|
+ this.visible = false;
|
|
|
+ this.$emit("before-close",);
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '取消成功'
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.visible = false;
|
|
|
+ this.$emit("before-close",);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.visible = false;
|
|
|
+ this.$emit("before-close",);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
// 取消按钮处理方法
|
|
|
handleCancel() {
|
|
|
this.visible = false;
|
|
|
- this.formData.forEach((element) => {
|
|
|
- element.value = "";
|
|
|
- });
|
|
|
+
|
|
|
this.$emit("before-close");
|
|
|
// 可以在父组件监听 'cancel' 事件
|
|
|
},
|
|
|
|
|
|
// 确定按钮处理方法
|
|
|
- handleConfirm() {
|
|
|
+ async handleConfirm() {
|
|
|
// 调用子组件的 validateForm 方法进行校验
|
|
|
- this.$refs.myFormComponent.validateForm().then((valid) => {
|
|
|
+ await this.$refs.ruleFormRef.validate((valid, fields)=>{
|
|
|
console.log(valid, "valid");
|
|
|
if (valid) {
|
|
|
// 校验通过,进行后续操作
|
|
@@ -597,8 +699,10 @@ export default {
|
|
|
this.$message.error("请完整填写表单");
|
|
|
console.log("表单校验失败");
|
|
|
}
|
|
|
- });
|
|
|
- // Promise.all([this.$refs.myFormComponent.validateForm()]).then((valid) => {
|
|
|
+ })
|
|
|
+ // Promise.all([this.$refs.
|
|
|
+ //
|
|
|
+ // .validateForm()]).then((valid) => {
|
|
|
// if (valid.findIndex((val) => val === false) === -1) {
|
|
|
// this.handleSave();
|
|
|
// } else {
|
|
@@ -609,14 +713,39 @@ export default {
|
|
|
// 可以在父组件监听 'confirm' 事件
|
|
|
},
|
|
|
handleSave() {
|
|
|
- console.log(this.formData, "this.formData");
|
|
|
- let pForm = {};
|
|
|
- this.formData.forEach((i) => {
|
|
|
- pForm[i.fieldName] = i.value;
|
|
|
- });
|
|
|
+ let pForm = {}
|
|
|
+ pForm = { ...this.formData }
|
|
|
+ pForm.buildDepartment = pForm.buildDepartment ? pForm.buildDepartment?.join(',') : ''
|
|
|
+ pForm.manageDepartmetn = pForm.buildDepartment ? pForm.manageDepartmetn?.join(',') : ''
|
|
|
+ pForm.developmentDepartmetn = pForm.buildDepartment ? pForm.developmentDepartmetn?.join(',') : ''
|
|
|
+ pForm.maintainDepartmetn = pForm.buildDepartment ? pForm.maintainDepartmetn?.join(',') : ''
|
|
|
+ pForm.useSystemDepartment = pForm.buildDepartment ? pForm.useSystemDepartment?.join(',') : ''
|
|
|
+ pForm.belongDepartment = pForm.buildDepartment ? pForm.belongDepartment?.join(',') : ''
|
|
|
+ pForm.techDepartment = pForm.buildDepartment ? pForm.techDepartment?.join(',') : ''
|
|
|
console.log(pForm, "pForm");
|
|
|
+
|
|
|
+ let arr = []
|
|
|
+ this.dataSourceArr?.forEach(element => {
|
|
|
+ arr.push(element.dbId)
|
|
|
+ })
|
|
|
+
|
|
|
if (this.title === "新增") {
|
|
|
- addTabAccessConfig({ ...pForm }).then((res) => {
|
|
|
+ addMis({ ...pForm, dbId: arr }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ // handleClose()
|
|
|
+ this.$emit("confirm");
|
|
|
+ this.handleCancel();
|
|
|
+
|
|
|
+ sessionStorage.removeItem('system-form')
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ } else if (this.title === "编辑") {
|
|
|
+ updateMis({ ...pForm, dbId: arr }).then(res => {
|
|
|
if (+res.code === 200) {
|
|
|
this.$message({
|
|
|
message: res.msg,
|
|
@@ -624,38 +753,157 @@ export default {
|
|
|
});
|
|
|
this.$emit("confirm");
|
|
|
this.handleCancel();
|
|
|
+ sessionStorage.removeItem('system-form')
|
|
|
} else {
|
|
|
this.$message.error(res.msg);
|
|
|
}
|
|
|
- });
|
|
|
- } else if (this.title === "编辑") {
|
|
|
- updateTabAccessConfigById({ ...pForm, id: this.itemView.id }).then(
|
|
|
- (res) => {
|
|
|
- if (+res.code === 200) {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- this.$emit("confirm");
|
|
|
- this.handleCancel();
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg);
|
|
|
- }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // ===================
|
|
|
+ getOrganizationalList() {
|
|
|
+ getDirectoryAllLevel({ type: '组织机构' }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ if (res.data === null) {
|
|
|
+ this.buildDepartmentOptions = []
|
|
|
+ } else {
|
|
|
+ this.removeListForLevel4(res.data[0].list)
|
|
|
+ this.buildDepartmentOptions = res.data[0].list
|
|
|
+ this.removeListForLevel4(res.data[1].list)
|
|
|
+ this.developmentDepartmetnOptions = res.data[1].list
|
|
|
}
|
|
|
- );
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ removeListForLevel4(data) {
|
|
|
+ data.forEach(item => {
|
|
|
+ // 如果是 level 4 的项,删除 list 属性
|
|
|
+ if (item.level === '4') {
|
|
|
+ delete item.list;
|
|
|
+ }
|
|
|
+ // 如果当前项有子项(list),递归调用该函数
|
|
|
+ if (item.list && item.list.length > 0) {
|
|
|
+ this.removeListForLevel4(item.list);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ getRessibilityList() {
|
|
|
+ getResponsibilityList({
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 999999
|
|
|
+ }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ this.isselfDepartmentOptions = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getTableListData() {
|
|
|
+ queryMisList({ pageNumber: 1, pageSize: 9999 }).then(res => {
|
|
|
+ if (res.data === null) {
|
|
|
+ this.tableData = []
|
|
|
+ } else {
|
|
|
+ this.tableData = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addDataSource() {
|
|
|
+ this.diaTitle = '创建数据源'
|
|
|
+ this.dataSourceDialogVisible = true
|
|
|
+ this.dialogEditVisible = false
|
|
|
+ this.dataSourceFormDisabled = false
|
|
|
+ },
|
|
|
+ editDataSource(row, type) {
|
|
|
+ this.dataSourceForm = row
|
|
|
+
|
|
|
+ this.dataSourceDialogVisible = true
|
|
|
+ switch (type) {
|
|
|
+ case 'detail':
|
|
|
+ this.diaTitle = '数据源详情'
|
|
|
+ this.dataSourceFormDisabled = true
|
|
|
+ break
|
|
|
+ case 'edit':
|
|
|
+ this.diaTitle = '编辑数据源'
|
|
|
+ this.dataSourceFormDisabled = false
|
|
|
+ break
|
|
|
+
|
|
|
+ default:
|
|
|
+ break
|
|
|
}
|
|
|
+ // dialogEditVisible.value = false
|
|
|
+ },
|
|
|
+ delDataSource(row, index) {
|
|
|
+ deleteDatabase({ dbIds: row.dbId }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ this.dataSourceArr.splice(index, 1)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addDataSourceHandle() {
|
|
|
+ this.diaFormValidate()
|
|
|
+
|
|
|
},
|
|
|
+ async diaFormValidate() {
|
|
|
+ await this.$refs.ruleFormRef1.validate((valid, fields) => {
|
|
|
+ let res1
|
|
|
+ if (valid) {
|
|
|
+ res1 = valid
|
|
|
+ if (this.diaTitle === '创建数据源') {
|
|
|
+ addDatabase({ ...this.dataSourceForm }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ this.dataSourceArr.push({ dbId: res.data.maskId, ...this.dataSourceForm })
|
|
|
+ this.handleDialogClose()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ updateDatabase({ ...this.dataSourceForm }).then(res => {
|
|
|
+ if (+res.code === 200) {
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ this.dataSourceArr.forEach(element => {
|
|
|
+ if (element.id === this.dataSourceForm.id) {
|
|
|
+ element = this.dataSourceForm
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.handleDialogClose()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message.error('请完整输入表单项')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return res1
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleDialogClose() {
|
|
|
+ this.dataSourceDialogVisible = false
|
|
|
+ this.dataSourceForm = {}
|
|
|
+ },
|
|
|
+
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
/* 你可以根据需要为弹窗添加样式 */
|
|
|
+.block-title {
|
|
|
+ margin-bottom: 20px;
|
|
|
+ font-size: 18px;
|
|
|
+}
|
|
|
+
|
|
|
.flex-box {
|
|
|
- display: flex;
|
|
|
+ display: flex;
|
|
|
}
|
|
|
|
|
|
.el-select__popper.el-popper {
|
|
|
- width: 100% !important;
|
|
|
+ width: 100% !important;
|
|
|
+}
|
|
|
+
|
|
|
+.inner-dialog {
|
|
|
+ z-index: 2002 !important;
|
|
|
+ /* 设置一个比外层更高的值 */
|
|
|
}
|
|
|
</style>
|