| | |
| | | <template> |
| | | <win-sm :title="setting.title" @close="close" :width="'800px'"> |
| | | <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px"> |
| | | <el-form-item label="编号" prop="code"> |
| | | <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/> |
| | | <el-form-item label="编号" prop="warehouseCode"> |
| | | <el-input disabled v-model="formData.warehouseCode" clearable maxlength="20" show-word-limit style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="仓库名称" prop="warehouseName"> |
| | | <el-input v-model="formData.warehouseName" clearable maxlength="20" show-word-limit style="width: 100%"/> |
| | | <el-input v-model="formData.warehouseName" clearable maxlength="20" show-word-limit style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="仓库类型" prop="classificationCode"> |
| | | <el-select v-model="formData.classificationCode" clearable placeholder="请选择" style="width: 100%"> |
| | | <el-option v-for="item in classList" :key="item.dict_code" :label="item.dict_label" :value="item.dict_code"></el-option> |
| | | <el-select v-model="formData.classificationCode" clearable placeholder="请选择" style="width: 100%"> |
| | | <el-option |
| | | v-for="item in classList" |
| | | :key="item.dict_code" |
| | | :label="item.dict_label" |
| | | :value="item.dict_code" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="地址" > |
| | | <el-input v-model="formData.adress" clearable maxlength="20" show-word-limit style="width: 100%"/> |
| | | <el-form-item label="所属机构" prop="agencyIds"> |
| | | <el-cascader v-model="formData.agencyIds" :options="treeList" :props="{checkStrictly: true,value:'id'}" @change="handleChange" style="width: 100%"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="地址"> |
| | | <el-input v-model="formData.adress" clearable maxlength="20" show-word-limit style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="states"> |
| | | <el-radio-group v-model="formData.states"> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" align="center" class="dialog-footer"> |
| | | <my-button name="取消" site="form" @click="close"/> |
| | | <my-button name="保存" site="form" @click="save"/> |
| | | <my-button name="取消" site="form" @click="close" /> |
| | | <my-button name="保存" site="form" @click="save" /> |
| | | </div> |
| | | </win-sm> |
| | | </template> |
| | | |
| | | <script> |
| | | import winSm from '@/components/win/win-sm' |
| | | import myButton from '@/components/myButton/myButton' |
| | | import * as finsystenant from '@/api/baseSetting/finsystenant' |
| | | import winSm from '@/components/win/win-sm'; |
| | | import myButton from '@/components/myButton/myButton'; |
| | | import * as finsystenant from '@/api/baseSetting/finsystenant'; |
| | | |
| | | export default { |
| | | components: {winSm, myButton}, |
| | | components: { winSm, myButton }, |
| | | props: { |
| | | setting: { |
| | | type: Object, |
| | | default: () => { |
| | | } |
| | | } |
| | | default: () => {}, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | classList:[], |
| | | classList: [], |
| | | treeList: [], |
| | | checkAll: false, |
| | | checkedList: [], |
| | | formData: { |
| | | warehouseCode:null, |
| | | classificationId: null, |
| | | classificationCode:null, |
| | | states: 1, |
| | | agencyIds:[], |
| | | agencyId:'' |
| | | }, |
| | | rules: { |
| | | warehouseName: [ |
| | | {required: true, message: '请输入', trigger: 'blur'} |
| | | ], |
| | | name: [ |
| | | {required: true, message: '请输入', trigger: 'blur'} |
| | | ], |
| | | states: [ |
| | | {required: true, message: '请选择状态', trigger: 'blur'} |
| | | ] |
| | | } |
| | | } |
| | | warehouseName: [{ required: true, message: '请输入', trigger: 'blur' }], |
| | | classificationCode: [{ required: true, message: '请选择', trigger: 'blur' }], |
| | | agencyIds: [{ required: true, message: '请选择', trigger: 'blur' }], |
| | | states: [{ required: true, message: '请选择状态', trigger: 'blur' }], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.class_List() |
| | | if(this.setting.info){ |
| | | this.formData = Object.assign({},JSON.parse(this.setting.info)) |
| | | this.class_List(); |
| | | this.tree_List(); |
| | | if (this.setting.info) { |
| | | this.formData = Object.assign({}, JSON.parse(this.setting.info)); |
| | | } |
| | | }, |
| | | methods: { |
| | | class_List (){ |
| | | finsystenant.classList().then(res => { |
| | | class_List() { |
| | | finsystenant.classList().then((res) => { |
| | | if (res) { |
| | | console.log(res,'res'); |
| | | this.classList = res |
| | | console.log(res, 'res'); |
| | | this.classList = res; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | getEditInfo(id){ |
| | | |
| | | tree_List() { |
| | | finsystenant.getTree().then((res) => { |
| | | if (res) { |
| | | this.treeList = res; |
| | | this.$set(this.formData,'agencyIds',this.findParentIds(this.treeList,this.formData.agencyId)) |
| | | } |
| | | }); |
| | | }, |
| | | handleChange(e){ |
| | | this.formData.agencyId = e[e.length-1] |
| | | }, |
| | | getEditInfo(id) {}, |
| | | close() { |
| | | this.$emit('close') |
| | | this.$emit('close'); |
| | | }, |
| | | save() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (valid) { |
| | | const params = Object.assign({}, this.formData) |
| | | if(this.setting.id){ |
| | | const params = Object.assign({}, this.formData); |
| | | if (this.setting.id) { |
| | | // 编辑接口 |
| | | finsystenant.editstore(params).then(res => { |
| | | finsystenant.editstore(params).then((res) => { |
| | | if (res) { |
| | | this.$message.success('保存成功!') |
| | | this.close() |
| | | this.$emit('search') |
| | | this.$message.success('保存成功!'); |
| | | this.close(); |
| | | this.$emit('search'); |
| | | } else { |
| | | this.$message.error('保存失败') |
| | | this.$message.error('保存失败'); |
| | | } |
| | | }) |
| | | }else{ |
| | | params.orgId = this.setting.orgId |
| | | finsystenant.addstore(params).then(res => { |
| | | }); |
| | | } else { |
| | | params.orgId = this.setting.orgId; |
| | | finsystenant.addstore(params).then((res) => { |
| | | if (res) { |
| | | this.$message.success('保存成功!') |
| | | this.close() |
| | | this.$emit('search') |
| | | this.$message.success('保存成功!'); |
| | | this.close(); |
| | | this.$emit('search'); |
| | | } else { |
| | | this.$message.error('保存失败') |
| | | this.$message.error('保存失败'); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | } else { |
| | | this.$message.error('校验未通过,请检查。') |
| | | this.$message.error('校验未通过,请检查。'); |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // 通过子集id查到所以相关父级id并返回数组 |
| | | findParentIds(dataSource, nodeId) { |
| | | const parentIds = [nodeId]; // 用于存储所有父节点ID的数组 |
| | | |
| | | // 定义一个递归函数,用于遍历整棵树并查找子节点的所有父节点 |
| | | function traverse(node, nodeId) { |
| | | if (node.id === nodeId) { |
| | | // 如果当前节点的ID等于子节点的ID,则表示已经找到了子节点,可以开始向上查找父节点 |
| | | return true; // 返回true表示已经找到了子节点 |
| | | } |
| | | |
| | | if (node.children) { |
| | | // 如果当前节点有子节点,则继续遍历子节点 |
| | | for (const childNode of node.children) { |
| | | if (traverse(childNode, nodeId)) { |
| | | // 如果在子节点中找到了子节点的父节点,则将当前节点的ID添加到父节点ID数组中,并返回true表示已经找到了子节点 |
| | | parentIds.unshift(node.id); |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return false; // 如果当前节点不是子节点的父节点,则返回false |
| | | } |
| | | |
| | | // 从根节点开始遍历整棵树,并调用递归函数查找子节点的所有父节点 |
| | | for (const node of dataSource) { |
| | | if (traverse(node, nodeId)) { |
| | | // 如果在当前节点的子树中找到了子节点的父节点,则直接退出循环 |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return parentIds; // 返回所有父节点ID的数组 |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |