From a958e950dc675c7a3e9cbbbc66e6656669d3a34b Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期一, 09 九月 2024 11:20:22 +0800
Subject: [PATCH] Merge branch 'master' of http://122.9.151.159:9090/r/smart-web
---
src/views/configuration/custom/addField.vue | 512 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 365 insertions(+), 147 deletions(-)
diff --git a/src/views/configuration/custom/addField.vue b/src/views/configuration/custom/addField.vue
index cb570dd..822f9f2 100644
--- a/src/views/configuration/custom/addField.vue
+++ b/src/views/configuration/custom/addField.vue
@@ -3,147 +3,160 @@
<el-form :model="addFieldForm" :rules="addFieldRules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="center">
<el-row>
<el-col :span="24">
- <el-form-item label="瀛楁鍚嶇О" prop="code">
- <el-input v-model="addFieldForm.code" placeholder="杈撳叆涓�涓鍚堥槄璇讳範鎯殑绠�鐭悕绉帮紝寤鸿4涓瓧绗︼紝鏈�澶氫笉瓒呰繃12瀛�" clearable></el-input>
+ <el-form-item label="瀛楁鍚嶇О" prop="fieldName">
+ <el-input v-model="addFieldForm.fieldName" placeholder="杈撳叆涓�涓鍚堥槄璇讳範鎯殑绠�鐭悕绉帮紝寤鸿4涓瓧绗︼紝鏈�澶氫笉瓒呰繃12瀛�" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鎻愮ず鏂囧瓧" prop="dictValue">
- <el-input v-model="addFieldForm.dictValue" placeholder="鎻忚堪鎻愮ず鐢ㄦ埛濡備綍濉啓瀛楁鍊硷紙渚嬪锛氳杈撳叆鍚嶅瓧锛�" clearable></el-input>
+ <el-form-item label="鎻愮ず鏂囧瓧">
+ <el-input v-model="addFieldForm.fieldDescription" placeholder="鎻忚堪鎻愮ず鐢ㄦ埛濡備綍濉啓瀛楁鍊硷紙渚嬪锛氳杈撳叆鍚嶅瓧锛�" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="瀛楁绫诲瀷" prop="deptId">
- <el-select v-model="addFieldForm.test" style="width: 100%" @change="deptIdChange" placeholder="閫夋嫨绗﹀悎涓氬姟鐨勫瓧娈电被鍨�">
- <el-option v-for="item in fieldTypeList" :key="item.id" :label="item.title" :value="item.id"/>
+ <el-form-item label="瀛楁绫诲瀷">
+ <el-select v-model="addFieldForm.fieldType" style="width: 100%" placeholder="閫夋嫨绗﹀悎涓氬姟鐨勫瓧娈电被鍨�">
+ <el-option v-for="item in fieldTypeList" :disabled="item.disabled" :key="item.id" :label="item.title" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<!-- 鍙橀噺1 杈撳叆妗� -->
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '1'">
<el-form-item label="榛樿鍊�">
- <el-input v-model="addFieldForm.dictValue" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧" clearable></el-input>
+ <el-input v-model="addFieldForm.defaultValue" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧" clearable></el-input>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '1'">
<el-form-item label="鏂囧瓧闀垮害">
- <el-date-picker v-model="addFieldForm.num" style="width: 100%" type="date" placeholder="璇疯緭鍏ユ枃瀛楁渶闀块檺鍒跺瓧鏁�"></el-date-picker>
+ <el-input-number v-model="addFieldForm.maxlength" :min="0" :max="200" label="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧"></el-input-number>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '1'">
<el-form-item label="杈撳叆鏍煎紡">
- <el-select v-model="addFieldForm.test" style="width: 100%" @change="deptIdChange" placeholder="閫夋嫨杈撳叆妗嗕笉鍚岀殑杈撳叆鏍煎紡">
+ <el-select v-model="addFieldForm.formatName" style="width: 100%" placeholder="閫夋嫨杈撳叆妗嗕笉鍚岀殑杈撳叆鏍煎紡">
<el-option v-for="item in inputTypeList" :key="item.id" :label="item.title" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<!-- 鍙橀噺2 鏁板瓧杈撳叆妗�-->
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '2'">
<el-form-item label="榛樿鍊�">
- <el-input-number v-model="addFieldForm.num" @change="handleChange" :min="1" :max="10" label="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧"></el-input-number>
+ <el-input-number v-model="addFieldForm.defaultValue" :precision="addFieldForm.saveDecimalNum" @change="handleChange" :min="0" :max="999" label="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧"></el-input-number>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '2'">
<el-form-item label="鏍煎紡">
- <el-radio v-model="addFieldForm.radio" label="1">鏁板��</el-radio>
- <el-radio v-model="addFieldForm.radio" label="2">鐧惧垎姣�</el-radio>
+ <el-radio v-model="addFieldForm.format" label="0">鏁板��</el-radio>
+ <el-radio v-model="addFieldForm.format" label="1">鐧惧垎姣�</el-radio>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '2'">
<el-form-item label="淇濈暀灏忔暟浣�">
- <el-input-number v-model="addFieldForm.num" @change="handleChange" :min="1" :max="10" label="鏈�澶氫笉瓒呰繃4浣嶅皬鏁�"></el-input-number>
+ <el-input-number v-model="addFieldForm.saveDecimalNum" @change="handleChange" :min="0" :max="10" label="鏈�澶氫笉瓒呰繃4浣嶅皬鏁�"></el-input-number>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '2'" v-show="addFieldForm.format == '0'">
<el-form-item label="鏄剧ず鍗冨垎绗�">
- <el-checkbox v-model="addFieldForm.check"></el-checkbox>
+ <el-checkbox v-model="addFieldForm.isShowPercentage"></el-checkbox>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '2'">
<el-form-item label="闄愬畾鍊艰寖鍥�">
- <el-input-number v-model="addFieldForm.num" @change="handleChange" :min="1" :max="10"></el-input-number>
+ <el-input-number v-model="addFieldForm.rangeMin" :min="0" :max="9999"></el-input-number>
<span>-</span>
- <el-input-number v-model="addFieldForm.num" @change="handleChange" :min="1" :max="10"></el-input-number>
+ <el-input-number v-model="addFieldForm.rangeMax" :min="0" :max="9999"></el-input-number>
</el-form-item>
</el-col>
<!-- 鍙橀噺3 澶氳鏂囨湰-->
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '3'">
<el-form-item label="榛樿鍊�">
- <el-input v-model="addFieldForm.test" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧" clearable></el-input>
+ <el-input v-model="addFieldForm.defaultValue" type="textarea" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧" clearable></el-input>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '3'">
<el-form-item label="鏂囧瓧闀垮害">
- <el-input-number v-model="addFieldForm.num" @change="handleChange" :min="1" :max="10" label="璇疯緭鍏ユ枃瀛楁渶闀块檺鍒跺瓧鏁�"></el-input-number>
+ <el-input-number v-model="addFieldForm.maxlength" :min="0" :max="200" label="璇疯緭鍏ユ枃瀛楁渶闀块檺鍒跺瓧鏁�"></el-input-number>
</el-form-item>
</el-col>
<!-- 鍙橀噺4 鏃ユ湡閫夋嫨鍣�-->
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '4'">
<el-form-item label="榛樿鍊�">
- <el-date-picker v-model="addFieldForm.test" style="width: 100%" type="date" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧"></el-date-picker>
+ <el-date-picker :editable="true" v-model="addFieldForm.defaultValue" style="width: 100%" :format="addFieldForm.dateFormat" :value-format="addFieldForm.dateFormat" :type="addFieldForm.dateType" placeholder="绯荤粺榛樿鎻愪緵鐨勫�硷紝鍙笉濉紝璁剧疆榛樿鍊间細鏇挎崲鎻愮ず鏂囧瓧" @change="dateChange"></el-date-picker>
</el-form-item>
</el-col>
- <el-col :span="24">
- <el-form-item label="鏃ユ湡鏍煎紡" prop="deptId">
- <el-select v-model="addFieldForm.test" style="width: 100%" @change="deptIdChange" placeholder="璇疯緭鍏ユ枃瀛楁渶闀块檺鍒跺瓧鏁�">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '4'">
+ <el-form-item label="鏃ユ湡鏍煎紡">
+ <el-select v-model="addFieldForm.type" style="width: 100%" placeholder="璇疯緭鍏ユ枃瀛楁渶闀块檺鍒跺瓧鏁�" @change="typeDateChange">
<el-option v-for="item in dateFormatList" :key="item.id" :label="item.title" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<!-- 鍙橀噺5 鍗曢�夋寜閽�-->
- <el-col :span="24">
- <el-form-item label="閫夐」">
- <div>
- <el-radio v-model="addFieldForm.radio" label="1"></el-radio>
- <el-input v-model="addFieldForm.test" clearable></el-input>
- <span class="remove-btn">鍒犻櫎</span>
- </div>
- <div class="add-btn">娣诲姞閫夐」</div>
+ <el-col :span="24" v-if="addFieldForm.fieldType == '5'">
+ <el-form-item label="閫夐」" class="specialItem">
+ <el-radio-group v-model="addFieldForm.selectOption" class="specialRadio">
+ <el-radio :label="item.value" style="margin-right: 0px;" v-for="(item,index) in addFieldForm.radioList">
+ <el-input v-model="item.label" clearable></el-input>
+ <span class="remove-btn" @click="removeRadio(index)">鍒犻櫎</span>
+ </el-radio>
+ </el-radio-group>
+ <div class="add-btn" @click="addRadio">娣诲姞閫夐」</div>
</el-form-item>
- </el-col>
- <el-col :span="24">
+ </el-col>
+ <el-col :span="24" v-if="addFieldForm.fieldType == '5'">
<el-form-item label="鎺掑簭鏂瑰紡">
- <el-radio v-model="addFieldForm.radio" label="1">妯悜鎺掑垪</el-radio>
- <el-radio v-model="addFieldForm.radio" label="2">绾靛悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="0">妯悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="1">绾靛悜鎺掑垪</el-radio>
</el-form-item>
</el-col>
<!-- 鍙橀噺6 澶氶�夋寜閽�-->
- <el-col :span="24">
- <el-form-item label="閫夐」">
- <div>
- <el-checkbox v-model="addFieldForm.check"></el-checkbox>
- <el-input v-model="addFieldForm.test" clearable></el-input>
- <span class="remove-btn">鍒犻櫎</span>
- </div>
- <div class="add-btn">娣诲姞閫夐」</div>
+ <el-col :span="24" v-if="addFieldForm.fieldType == '6'">
+ <el-form-item label="閫夐」" class="specialItem">
+ <el-checkbox-group v-model="addFieldForm.selectBoxOption" class="specialCheck">
+ <el-checkbox :label="item.value" :value="item.value" v-for="(item,index) in addFieldForm.checkboxList">
+ <el-input v-model="item.label" clearable></el-input>
+ <span class="remove-btn" @click="removeCheckbox(index)">鍒犻櫎</span>
+ </el-checkbox>
+ </el-checkbox-group>
+ <!-- <div v-for="(item,index) in addFieldForm.checkboxList" class="fieldContent">
+ <el-checkbox v-model="item.check" style="margin-right: 15px;"></el-checkbox>
+ <el-input v-model="item.input" clearable></el-input>
+ <span class="remove-btn" @click="removeCheckbox(index)">鍒犻櫎</span>
+ </div> -->
+ <div class="add-btn" @click="addCheckbox">娣诲姞閫夐」</div>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="addFieldForm.fieldType == '6'">
<el-form-item label="鎺掑簭鏂瑰紡">
- <el-radio v-model="addFieldForm.radio" label="1">妯悜鎺掑垪</el-radio>
- <el-radio v-model="addFieldForm.radio" label="2">绾靛悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="0">妯悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="1">绾靛悜鎺掑垪</el-radio>
</el-form-item>
</el-col>
<!-- 鍙橀噺7 涓嬫媺閫夋嫨鍣�-->
- <el-col :span="24">
- <el-form-item label="閫夐」">
- <div>
- <el-input v-model="addFieldForm.test" clearable></el-input>
- <span class="remove-btn">鍒犻櫎</span>
+ <el-col :span="24" v-if="addFieldForm.fieldType == '7'">
+ <el-form-item label="閫夐」" class="specialItem">
+ <div v-for="(item,index) in addFieldForm.selectList" class="fieldContent">
+ <el-input v-model="item.label" clearable></el-input>
+ <span class="remove-btn" @click="removeSelect(index)">鍒犻櫎</span>
</div>
- <div class="add-btn">娣诲姞閫夐」</div>
+ <div class="add-btn" @click="addSelect">娣诲姞閫夐」</div>
</el-form-item>
</el-col>
- <!-- 鍙橀噺8 涓氬姟瀛楁-浜哄憳-->
- <!-- 娌℃湁 -->
+ <!-- 鍙橀噺8 涓氬姟瀛楁-浜哄憳-娌℃湁-->
+ <!-- 鍙橀噺9 榛樿-娌℃湁 -->
<el-col :span="24">
<el-form-item label="缂栬緫椤垫樉绀�">
- <el-checkbox v-model="addFieldForm.check">鏄剧ず</el-checkbox>
+ <el-checkbox v-model="addFieldForm.updateShow"></el-checkbox>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24" v-if="addFieldForm.updateShow">
+ <el-form-item label="鏀寔缂栬緫">
+ <el-radio v-model="addFieldForm.supportUpdate" label="1">鏄�</el-radio>
+ <el-radio v-model="addFieldForm.supportUpdate" label="0">鍚�</el-radio>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="鏌ョ湅椤垫樉绀�">
- <el-checkbox v-model="addFieldForm.check">鏄剧ず</el-checkbox>
+ <el-checkbox v-model="addFieldForm.viewShow"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
@@ -151,7 +164,7 @@
<template #footer>
<el-button @click="visible=false" >鍙� 娑�</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="fieldSubmit">淇濆瓨</el-button>
- <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="fieldSubmitAgain">淇濆瓨骞剁户缁坊鍔�</el-button>
+ <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="saveSubmit">淇濆瓨骞剁户缁坊鍔�</el-button>
</template>
</el-dialog>
</template>
@@ -161,30 +174,30 @@
emits: ['success', 'closed'],
data() {
return {
+ dialogData: {},
inputTypeList: [ //杈撳叆鏍煎紡
- {title: "鏃�",id:1},
- {title: "鎵嬫満鍙风爜",id:1},
- {title: "鐢佃瘽鍙风爜",id:1},
- {title: "閭",id:1}
+ {title: "鏃�",id: "1"},
+ {title: "鎵嬫満鍙风爜",id: "mobile"},
+ {title: "鐢佃瘽鍙风爜",id: "telephone"},
+ {title: "閭",id: "email"}
],
fieldTypeList: [ //瀛楁绫诲瀷
- {title: "杈撳叆妗�",id:1},
- {title: "鏁板瓧杈撳叆妗�",id:2},
- {title: "澶氳鏂囨湰",id:3},
- {title: "鏃ユ湡閫夋嫨鍣�",id:4},
- {title: "鍗曢�夋寜閽�",id:5},
- {title: "澶氶�夋寜閽�",id:6},
- {title: "涓嬫媺閫夋嫨鍣�",id:7},
- {title: "涓氬姟瀛楁-浜哄憳",id:8},
- {title: "榛樿",id:9}
+ {title: "杈撳叆妗�",id: "1"},
+ {title: "鏁板瓧杈撳叆妗�",id: "2"},
+ {title: "澶氳鏂囨湰",id: "3"},
+ {title: "鏃ユ湡閫夋嫨鍣�",id: "4"},
+ {title: "鍗曢�夋寜閽�",id: "5"},
+ {title: "澶氶�夋寜閽�",id: "6"},
+ {title: "涓嬫媺閫夋嫨鍣�",id: "7"},
+ {title: "涓氬姟瀛楁-浜哄憳",id: "9"},
+ {title: "榛樿",id: "10",disabled: true}
],
dateFormatList: [ //鏃ユ湡鏍煎紡
- {title: "骞�-鏈�",id:1},
- {title: "骞�-鏈�-鏃�",id:2},
- {title: "骞�-鏈�-鏃� 鏃讹細鍒�",id:3},
- {title: "骞�-鏈�-鏃� 鏃讹細鍒嗭細绉�",id:4}
+ {title: "骞�-鏈�",id: "yyyy-MM"},
+ {title: "骞�-鏈�-鏃�",id: "yyyy-MM-dd"},
+ {title: "骞�-鏈�-鏃� 鏃讹細鍒�",id: "yyyy-MM-dd HH:mm"},
+ {title: "骞�-鏈�-鏃� 鏃讹細鍒嗭細绉�",id: "yyyy-MM-dd HH:mm:ss"}
],
- deptIdList: [],
mode: "add",
titleMap: {
add: '娣诲姞鑷畾涔夊瓧娈�',
@@ -195,23 +208,38 @@
isSaveing: false,
//琛ㄥ崟鏁版嵁
addFieldForm: {
- radio: '1',
- num: 0,
- test: "",
- check: false,
- code: "",
- dictValue: "",
- sort: "",
- isSealed: false,
- remark: "",
- dictKey: "-1",
- $isSealed: "鍚�"
+ fieldName: "",
+ fieldDescription: "",
+ defaultValue: "",
+ maxlength: 20,
+ updateShow: false,
+ viewShow: true,
+ fieldType: "1", //瀛楁绫诲瀷锛岄粯璁よ緭鍏ユ
+ formatName: "",
+ supportUpdate: "1",
+ saveDecimalNum: 0,
+ format: "0",
+ isShowPercentage: false,
+ rangeMin: 0,
+ rangeMax: 0,
+ type: "yyyy-MM",
+ dateType: "month",
+ dateFormat: "YYYY-MM",
+ val: {
+ label: "骞�-鏈�",
+ value: "month",
+ format: "yyyy-MM"
+ },
+ direction: "0",
+ radioList: [],
+ selectOption: "",
+ selectBoxOption: [],
+ checkboxList: [],
+ selectList: []
},
//楠岃瘉瑙勫垯
addFieldRules: {
- code:[{required: true, message: '璇疯緭鍏ュ瓧鍏哥紪鍙�'}],
- dictValue:[{required: true, message: '璇疯緭鍏ュ瓧鍏稿悕绉�'}],
- sort:[{required: true, message: '璇疯緭鍏ュ瓧鍏告帓搴�'}]
+ fieldName:[{required: true, message: '璇疯緭鍏ュ瓧娈靛悕绉�'}]
}
}
},
@@ -219,8 +247,191 @@
},
methods: {
- deptIdChange() {
-
+ dateChange(val) {
+ console.log(val)
+ this.addFieldForm.defaultValue = val;
+ },
+ typeDateChange(val) {
+ this.addFieldForm.defaultValue = "";
+ if(val == "yyyy-MM") {
+ this.addFieldForm.dateType = "month";
+ this.addFieldForm.dateFormat = "YYYY-MM";
+ this.addFieldForm.val = {
+ label: "骞�-鏈�",
+ value: "month",
+ format: val
+ };
+ }else if(val == "yyyy-MM-dd") {
+ this.addFieldForm.dateType = "date";
+ this.addFieldForm.dateFormat = "YYYY-MM-DD";
+ this.addFieldForm.val = {
+ label: "骞�-鏈�-鏃�",
+ value: "date",
+ format: val
+ };
+ }else if(val == "yyyy-MM-dd HH:mm") {
+ this.addFieldForm.dateType = "datetime";
+ this.addFieldForm.dateFormat = "YYYY-MM-DD HH-mm";
+ this.addFieldForm.val = {
+ label: "骞�-鏈�-鏃� 鏃讹細鍒�",
+ value: "datetime",
+ format: val
+ };
+ }else if(val == "yyyy-MM-dd HH:mm:ss") {
+ this.addFieldForm.dateType = "datetime";
+ this.addFieldForm.dateFormat = "YYYY-MM-DD HH-mm-ss";
+ this.addFieldForm.val = {
+ label: "骞�-鏈�-鏃� 鏃讹細鍒嗭細绉�",
+ value: "datetime",
+ format: val
+ };
+ }
+ },
+ fieldSubmit() { //淇濆瓨
+ this.saveSubmit('closeDialog');
+ },
+ saveSubmit(isClose) { //淇濆瓨骞剁户缁�
+ var obj = {
+ businessType: 1,
+ fieldDescription: this.addFieldForm.fieldDescription,
+ fieldName: this.addFieldForm.fieldName,
+ fieldType: this.addFieldForm.fieldType,
+ supportUpdate: this.addFieldForm.supportUpdate,
+ systemField: 0,
+ updateShow: this.addFieldForm.updateShow?"1":"0",
+ viewShow: this.addFieldForm.viewShow?"1":"0",
+ }
+ if(this.addFieldForm.fieldType == "1") { //瀛楁绫诲瀷
+ obj.defaultValue = this.addFieldForm.defaultValue; //榛樿鍊�
+ var propertyJson = { //闀垮害銆佹牸寮�
+ maxlength: this.addFieldForm.maxlength,
+ formatName: this.addFieldForm.formatName == "1"?"":this.addFieldForm.formatName
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "2") { //瀛楁绫诲瀷
+ obj.defaultValue = this.addFieldForm.defaultValue; //榛樿鍊�
+ var propertyJson = {
+ format: this.addFieldForm.format,
+ saveDecimalNum: this.addFieldForm.saveDecimalNum,
+ isShowPercentage: this.addFieldForm.isShowPercentage,
+ rangeMin: this.addFieldForm.rangeMin,
+ rangeMax: this.addFieldForm.rangeMax
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "3") { //瀛楁绫诲瀷
+ obj.defaultValue = this.addFieldForm.defaultValue; //榛樿鍊�
+ var propertyJson = {
+ maxlength: this.addFieldForm.maxlength
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "4") { //瀛楁绫诲瀷
+ obj.defaultValue = this.addFieldForm.defaultValue; //榛樿鍊�
+ var propertyJson = {
+ type: this.addFieldForm.type,
+ val: this.addFieldForm.val
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "5") { //鍗曢�夋寜閽�
+ var propertyJson = {
+ selectOption: this.addFieldForm.selectOption,
+ options: this.addFieldForm.radioList,
+ direction: this.addFieldForm.direction
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "6") { //澶氶�夋寜閽�
+ var propertyJson = {
+ selectOption: this.addFieldForm.selectBoxOption,
+ options: this.addFieldForm.checkboxList,
+ direction: this.addFieldForm.direction
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "7") { //涓嬫媺閫夋嫨鍣�
+ var propertyJson = {
+ options: this.addFieldForm.selectList
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ obj.businessType = this.$route.query.type;
+ var that = this;
+ if(this.mode == "edit") {
+ var url = "/api/blade-system/custom-template-field/update";
+ var method = "put";
+ obj.id = this.dialogData.id;
+ }else {
+ var url = "/api/blade-system/custom-template-field/insert";
+ var method = "post";
+ }
+ this.$HTTP[method](url,obj).then(res=> {
+ if(res.code == 200) {
+ that.$message.success("鎻愪氦鎴愬姛");
+ that.$emit("success",obj);
+ if(isClose == "closeDialog") {
+ that.visible = false;
+ }
+ }else {
+ that.$message.error(res.msg);
+ }
+ })
+ },
+ removeRadio(index) {
+ this.addFieldForm.radioList.splice(index,1);
+ },
+ addRadio() {
+ var flag = false;
+ if(this.addFieldForm.radioList.length > 0) {
+ this.addFieldForm.radioList.forEach(item=> {
+ if(item.label == "") {
+ flag = true;
+ }
+ })
+ }
+ if(flag) {
+ this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
+ return;
+ }
+ this.addFieldForm.radioList.push({label: "",value: "radiosSelect" + (this.addFieldForm.radioList.length + 1),parentId: 0});
+ },
+ removeCheckbox(index) {
+ this.addFieldForm.checkboxList.splice(index,1);
+ },
+ addCheckbox() {
+ var flag = false;
+ if(this.addFieldForm.checkboxList.length > 0) {
+ this.addFieldForm.checkboxList.forEach(item=> {
+ if(item.label == "") {
+ flag = true;
+ }
+ })
+ }
+ if(flag) {
+ this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
+ return;
+ }
+ this.addFieldForm.checkboxList.push({label: "",value: "checkboxSelect" + (this.addFieldForm.checkboxList.length + 1),parentId: 0});
+ },
+ removeSelect(index) {
+ this.addFieldForm.selectList.splice(index,1);
+ },
+ addSelect() {
+ var flag = false;
+ if(this.addFieldForm.selectList.length > 0) {
+ this.addFieldForm.selectList.forEach(item=> {
+ if(item.label == "") {
+ flag = true;
+ }
+ })
+ }
+ if(flag) {
+ this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
+ return;
+ }
+ this.addFieldForm.selectList.push({label: "",value: "select" + (this.addFieldForm.selectList.length + 1),parentId: 0});
},
//鏄剧ず
open(mode='add'){
@@ -228,61 +439,68 @@
this.visible = true;
return this
},
- //琛ㄥ崟鎻愪氦鏂规硶
- fieldSubmit(){
- var obj = Object.assign({},this.addFieldForm);
- if(obj.isSealed === true) {
- obj.$isSealed = "鏄�";
- obj.isSealed = "1";
- }else {
- obj.$isSealed = "鍚�";
- obj.isSealed = "0";
- }
- this.$refs.dialogForm.validate(async (valid) => {
- if (valid) {
- this.isSaveing = true;
- this.$HTTP.post("/api/blade-system/dict/submit",obj).then(res=> {
- this.isSaveing = false;
- if(res.code == 200) {
- this.$emit('success', this.addFieldForm, this.mode);
- this.visible = false;
- this.$message.success("鎿嶄綔鎴愬姛");
- }else {
- this.$alert(res.message, "鎻愮ず", {type: 'error'});
- }
- })
- }else{
- return false;
- }
- })
- },
- fieldSubmitAgain() {
-
- },
//琛ㄥ崟娉ㄥ叆鏁版嵁
setData(data){
- console.log(data)
- //鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
- if(data.isSealed == "1") {
- data.isSealed = true;
- }else {
- data.isSealed = false;
- }
- Object.assign(this.addFieldForm, data);
+ this.dialogData = data;
+ this.$HTTP.get(`/api/blade-system/custom-template-field/get/${data.id}`).then(res=> {
+ if(res.code == 200) {
+ res.data.fieldType = String(res.data.fieldType);
+ res.data.format = res.data.format == "0"?"0":"1";
+ res.data.direction = String(res.data.direction);
+ res.data.updateShow = res.data.updateShow == "1"?true:false;
+ res.data.viewShow = res.data.viewShow == "1"?true:false;
+ res.data.supportUpdate = String(res.data.supportUpdate);
+ if(res.data.fieldType != "10") {
+ this.addFieldForm = Object.assign(res.data,JSON.parse(res.data.propertyJson));
+ }else {
+ this.addFieldForm = res.data;
+ }
+ this.addFieldForm.format = String(this.addFieldForm.format);
+ if(res.data.fieldType == "5") {
+ this.addFieldForm.radioList = this.addFieldForm.options;
+ }
+ if(res.data.fieldType == "6") {
+ this.addFieldForm.checkboxList = this.addFieldForm.options;
+ this.addFieldForm.selectBoxOption = this.addFieldForm.selectOption;
+ }
+ if(res.data.fieldType == "7") {
+ this.addFieldForm.selectList = this.addFieldForm.options;
+ }
+ }
+ })
}
}
}
</script>
<style scoped>
+.add-btn {
+ color: #409eff;
+ cursor: pointer;
+}
+.specialItem /deep/ .el-form-item__content{
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+}
+.specialRadio,.specialCheck {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+}
+.specialRadio label,.specialCheck label{
+ margin-bottom: 8px;
+}
+.fieldContent {
+ display: flex;
+ align-items: flex-start;
+ margin-bottom: 8px;
+}
.remove-btn {
- margin-left: 10px;
+ min-width: 60px;
+ display: inline-block;
+ margin-left: 12px;
color: red;
cursor: pointer;
-}
-.add-btn {
- margin-left: 30px;
- color: #3b8e8e;
- cursor: pointer;
}
</style>
--
Gitblit v1.9.3