From a7e7bafd850b207222897db9aa3a525d1bfe1afe Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期三, 16 七月 2025 16:36:19 +0800
Subject: [PATCH] 三保列表字段确认
---
src/views/system/modules/DepartList/DepartModal.vue | 421 ++++++++++++++++++++++++++++++----------------------
1 files changed, 240 insertions(+), 181 deletions(-)
diff --git a/src/views/system/modules/DepartList/DepartModal.vue b/src/views/system/modules/DepartList/DepartModal.vue
index 0d280a6..67a1d0e 100644
--- a/src/views/system/modules/DepartList/DepartModal.vue
+++ b/src/views/system/modules/DepartList/DepartModal.vue
@@ -8,81 +8,131 @@
:okButtonProps="{ props: {disabled: disableSubmit} }"
@ok="handleOk"
@cancel="handleCancel"
- cancelText="鍏抽棴">
+ cancelText="鍏抽棴"
+ >
<a-spin :spinning="confirmLoading">
- <a-form-model ref="form" :model="model" :rules="validatorRules">
+ <a-form-model
+ ref="form"
+ :model="model"
+ :rules="validatorRules"
+ >
<a-form-model-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="鏈烘瀯鍚嶇О"
prop="departName"
:hidden="false"
- hasFeedback >
- <a-input id="departName" placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" v-model="model.departName"/>
- </a-form-model-item>
- <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" :hidden="seen" label="涓婄骇閮ㄩ棬" hasFeedback>
- <a-tree-select
- style="width:100%"
- :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
- :treeData="departTree"
- v-model="model.parentId"
- placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬"
- :disabled="condition">
- </a-tree-select>
- </a-form-model-item>
- <!--<a-form-model-item-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--label="鏈烘瀯绫诲瀷">-->
- <!--<template v-if="seen">-->
- <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
- <!--<a-radio value="1">-->
- <!--鍏徃-->
- <!--</a-radio>-->
- <!--</a-radio-group>-->
- <!--</template>-->
- <!--<template v-else>-->
- <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
- <!--<a-radio value="2">-->
- <!--閮ㄩ棬-->
- <!--</a-radio>-->
- <!--<a-radio value="3">-->
- <!--宀椾綅-->
- <!--</a-radio>-->
- <!--</a-radio-group>-->
- <!--</template>-->
- <!--</a-form-model-item>-->
- <!--<a-form-model-item-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="mobile"-->
- <!--label="鐢佃瘽">-->
- <!--<a-input placeholder="璇疯緭鍏ョ數璇�" v-model="model.mobile"/>-->
- <!--</a-form-model-item>-->
- <!--<a-form-model-item-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--label="浼犵湡">-->
- <!--<a-input placeholder="璇疯緭鍏ヤ紶鐪�" v-model="model.fax"/>-->
- <!--</a-form-model-item>-->
- <!--<a-form-model-item-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--label="鍦板潃">-->
- <!--<a-input placeholder="璇疯緭鍏ュ湴鍧�" v-model="model.address"/>-->
- <!--</a-form-model-item>-->
- <a-form-model-item
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- label="鎺掑簭">
- <a-input-number v-model="model.departOrder"/>
+ hasFeedback
+ >
+ <a-input
+ id="departName"
+ placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О"
+ v-model="model.departName"
+ />
</a-form-model-item>
<a-form-model-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
- label="澶囨敞">
- <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/>
+ label="浣跨敤閮ㄩ棬缂栫爜"
+ prop="useDepartNum"
+ :hidden="false"
+ hasFeedback
+ >
+ <a-input
+ id="useDepartNum"
+ placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�"
+ v-model="model.useDepartNum"
+ />
+ </a-form-model-item>
+ <a-form-model-item
+ :labelCol="labelCol"
+ :wrapperCol="wrapperCol"
+ label="缁翠慨閮ㄩ棬缂栫爜"
+ prop="repairDepartNum"
+ :hidden="false"
+ hasFeedback
+ >
+ <a-input
+ id="repairDepartNum"
+ placeholder="璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�"
+ v-model="model.repairDepartNum"
+ />
+ </a-form-model-item>
+ <a-form-model-item
+ :labelCol="labelCol"
+ :wrapperCol="wrapperCol"
+ :hidden="seen"
+ label="涓婄骇閮ㄩ棬"
+ hasFeedback
+ >
+ <a-tree-select
+ style="width:100%"
+ :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
+ :treeData="departTree"
+ v-model="model.parentId"
+ placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬"
+ :disabled="condition"
+ >
+ </a-tree-select>
+ </a-form-model-item>
+ <!--<a-form-model-item-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--label="鏈烘瀯绫诲瀷">-->
+ <!--<template v-if="seen">-->
+ <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
+ <!--<a-radio value="1">-->
+ <!--鍏徃-->
+ <!--</a-radio>-->
+ <!--</a-radio-group>-->
+ <!--</template>-->
+ <!--<template v-else>-->
+ <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
+ <!--<a-radio value="2">-->
+ <!--閮ㄩ棬-->
+ <!--</a-radio>-->
+ <!--<a-radio value="3">-->
+ <!--宀椾綅-->
+ <!--</a-radio>-->
+ <!--</a-radio-group>-->
+ <!--</template>-->
+ <!--</a-form-model-item>-->
+ <!--<a-form-model-item-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--prop="mobile"-->
+ <!--label="鐢佃瘽">-->
+ <!--<a-input placeholder="璇疯緭鍏ョ數璇�" v-model="model.mobile"/>-->
+ <!--</a-form-model-item>-->
+ <!--<a-form-model-item-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--label="浼犵湡">-->
+ <!--<a-input placeholder="璇疯緭鍏ヤ紶鐪�" v-model="model.fax"/>-->
+ <!--</a-form-model-item>-->
+ <!--<a-form-model-item-->
+ <!--:labelCol="labelCol"-->
+ <!--:wrapperCol="wrapperCol"-->
+ <!--label="鍦板潃">-->
+ <!--<a-input placeholder="璇疯緭鍏ュ湴鍧�" v-model="model.address"/>-->
+ <!--</a-form-model-item>-->
+ <a-form-model-item
+ :labelCol="labelCol"
+ :wrapperCol="wrapperCol"
+ label="鎺掑簭"
+ >
+ <a-input-number v-model="model.departOrder" />
+ </a-form-model-item>
+ <a-form-model-item
+ :labelCol="labelCol"
+ :wrapperCol="wrapperCol"
+ label="澶囨敞"
+ >
+ <a-textarea
+ placeholder="璇疯緭鍏ュ娉�"
+ v-model="model.memo"
+ />
</a-form-model-item>
</a-form-model>
@@ -91,135 +141,144 @@
</template>
<script>
- import { httpAction } from '@/api/manage'
- import { queryIdTree } from '@/api/api'
- import pick from 'lodash.pick'
- import ATextarea from 'ant-design-vue/es/input/TextArea'
- export default {
- name: "SysDepartModal",
- components: { ATextarea },
- data () {
- return {
- departTree:[],
- orgTypeData:[],
- phoneWarning:'',
- departName:"",
- title:"鎿嶄綔",
- seen:false,
- visible: false,
- condition:true,
- disableSubmit:false,
- model: {},
- defaultModel:{
- departOrder:0,
- orgCategory:'1'
- },
- menuhidden:false,
- menuusing:true,
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 },
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 16 },
- },
+import { httpAction } from '@/api/manage'
+import { queryIdTree } from '@/api/api'
+import pick from 'lodash.pick'
+import ATextarea from 'ant-design-vue/es/input/TextArea'
+export default {
+ name: "SysDepartModal",
+ components: { ATextarea },
+ data() {
+ return {
+ departTree: [],
+ orgTypeData: [],
+ phoneWarning: '',
+ departName: "",
+ title: "鎿嶄綔",
+ seen: false,
+ visible: false,
+ condition: true,
+ disableSubmit: false,
+ model: {},
+ defaultModel: {
+ departOrder: 0,
+ orgCategory: '1'
+ },
+ menuhidden: false,
+ menuusing: true,
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 },
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 },
+ },
- confirmLoading: false,
- validatorRules:{
- departName:[{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
- // orgCode:[{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
- // mobile: [{validator:this.validateMobile}],
- // orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}]
- },
- url: {
- add: "/sys/sysDepart/add",
- },
- dictDisabled:true,
+ confirmLoading: false,
+ validatorRules: {
+ departName: [{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
+ useDepartNum: [{ required: false, message: '璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�!' }],
+ repairDepartNum: [{ required: false, message: '璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�!' }],
+ // orgCode:[{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
+ // mobile: [{validator:this.validateMobile}],
+ // orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}]
+ },
+ url: {
+ add: "/sys/sysDepart/add",
+ },
+ dictDisabled: true,
+ }
+ },
+ created() {
+ },
+ methods: {
+ loadTreeData() {
+ var that = this;
+ queryIdTree().then((res) => {
+ if (res.success) {
+ that.departTree = [];
+ for (let i = 0; i < res.result.length; i++) {
+ let temp = res.result[i];
+ that.departTree.push(temp);
+ }
+ }
+
+ })
+ },
+ add(depart) {
+ if (depart) {
+ this.seen = false;
+ this.dictDisabled = false;
+ } else {
+ this.seen = true;
+ this.dictDisabled = true;
+ }
+ this.edit(depart);
+ },
+ edit(record) {
+ this.visible = true;
+ this.model = Object.assign({}, this.defaultModel, record)
+ this.loadTreeData();
+ this.model.parentId = record != null ? record.toString() : null;
+ if (this.seen) {
+ this.model.orgCategory = '1';
+ } else {
+ this.model.orgCategory = '2';
}
},
- created () {
+ close() {
+ this.$emit('close');
+ this.disableSubmit = false;
+ this.visible = false;
+ this.$refs.form.resetFields();
},
- methods: {
- loadTreeData(){
- var that = this;
- queryIdTree().then((res)=>{
- if(res.success){
- that.departTree = [];
- for (let i = 0; i < res.result.length; i++) {
- let temp = res.result[i];
- that.departTree.push(temp);
+ handleOk() {
+ const that = this;
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true;
+ httpAction(this.url.add, this.model, "post").then((res) => {
+ if (res.success) {
+ // that.$message.success(res.message);
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ });
+ that.loadTreeData();
+ that.$emit('ok');
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ });
}
- }
+ }).finally(() => {
+ that.confirmLoading = false;
+ that.close();
+ })
- })
- },
- add (depart) {
- if(depart){
- this.seen = false;
- this.dictDisabled = false;
- }else{
- this.seen = true;
- this.dictDisabled = true;
+ } else {
+ return false;
}
- this.edit(depart);
- },
- edit (record) {
- this.visible = true;
- this.model = Object.assign({}, this.defaultModel, record)
- this.loadTreeData();
- this.model.parentId = record!=null?record.toString():null;
- if(this.seen){
- this.model.orgCategory = '1';
- }else{
- this.model.orgCategory = '2';
- }
- },
- close () {
- this.$emit('close');
- this.disableSubmit = false;
- this.visible = false;
- this.$refs.form.resetFields();
- },
- handleOk () {
- const that = this;
- // 瑙﹀彂琛ㄥ崟楠岃瘉
- this.$refs.form.validate(valid => {
- if (valid) {
- that.confirmLoading = true;
- httpAction(this.url.add,this.model,"post").then((res)=>{
- if(res.success){
- that.$message.success(res.message);
- that.loadTreeData();
- that.$emit('ok');
- }else{
- that.$message.warning(res.message);
- }
- }).finally(() => {
- that.confirmLoading = false;
- that.close();
- })
-
- }else{
- return false;
- }
- })
- },
- handleCancel () {
- this.close()
- },
- validateMobile(rule,value,callback){
- if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)){
- callback();
- }else{
- callback("鎮ㄧ殑鎵嬫満鍙风爜鏍煎紡涓嶆纭�!");
- }
-
+ })
+ },
+ handleCancel() {
+ this.close()
+ },
+ validateMobile(rule, value, callback) {
+ if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)) {
+ callback();
+ } else {
+ callback("鎮ㄧ殑鎵嬫満鍙风爜鏍煎紡涓嶆纭�!");
}
+
}
}
+}
</script>
<style scoped>
-
</style>
\ No newline at end of file
--
Gitblit v1.9.3