<template>
<div class="app-container">
<el-form
ref="templateForm"
:model="formData"
:rules="rules"
label-width="90px"
class="edit-page-form"
>
<el-form-item label="模板id" prop="docTreeName" v-show="false">
<el-input v-model="formData.id" v-show="true" />
</el-form-item>
<el-form-item label="模板名稱" prop="docTreeName">
<el-input
v-model="formData.docTreeName"
placeholder="請(qǐng)輸入文書樹模板名稱"
/>
</el-form-item>
<el-form-item label="審計(jì)類型" prop="auditBizType">
<treeselect
noResultsText="暫無(wú)數(shù)據(jù)"
v-model="formData.auditBizType"
:options="auditBizTypeOptions"
:show-count="true"
placeholder="請(qǐng)選擇審計(jì)業(yè)務(wù)類型 "
clearable
:style="{ width: '100%' }"
@select="selectChange"
>
<label
:style="{
color: '#606266',
'font-family':
'Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif',
'font-weight': '400',
'font-size': '14px',
}"
slot="option-label"
slot-scope="{
node,
shouldShowCount,
count,
labelClassName,
countClassName,
}"
:class="labelClassName"
>
{{ node.label }}
</label>
</treeselect>
</el-form-item>
<el-form-item label="模板描述" prop="docTreeDesc">
<el-input
v-model="formData.docTreeDesc"
type="textarea"
placeholder="請(qǐng)輸入模板描述"
:autosize="{ minRows: 4, maxRows: 4 }"
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitTemplateForm">確 定</el-button>
<el-button @click="templateCancel">取 消</el-button>
</div>
</div>
</template>
<script>
import {
addDocTemplate,
updateDocTemplate,
} from "../../../api/operation/docTemplate";
import { listTreedict, loadTreeNode } from "../../../api/system/treedict";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "templateInfo",
components: {
Treeselect,
},
props: {
templateForm: {
type: Object,
required: true,
},
},
data() {
return {
formData: {
id: null,
docTreeName: null,
auditBizType: null,
docTreeDesc: null,
},
auditBizTypeOptions: [],
// 表單校驗(yàn)
rules: {
auditBizType: [
{
required: true,
message: "審計(jì)類型不能為空",
trigger: "input",
},
],
docTreeName: [
{
required: true,
message: "模板名稱不能為空",
trigger: "blur",
},
],
},
};
},
watch: {
templateForm: {
deep: true,
handler(newValue, oldValue) {
console.log("newValue", newValue);
console.log("oldValue", oldValue);
console.log("this.formData", this.formData);
this.formData = {
id: newValue.id,
docTreeName: newValue.docTreeName,
auditBizType: newValue.auditBizType,
docTreeDesc: newValue.docTreeDesc,
};
},
immediate: true,
},
},
created() {
this.getListTreeDictselect();
},
methods: {
initFormData() {
this.$refs["templateForm"].resetFields();
},
// 不要用input事件 => 值更改后發(fā)出。 因?yàn)辄c(diǎn)完編輯再點(diǎn)擊新增 會(huì)導(dǎo)致校驗(yàn)的提示語(yǔ)不會(huì)消失
// 用select即可解決 =>選擇一個(gè)選項(xiàng)后發(fā)出。
selectChange(val) {
console.log("this.fromAddBtn", this.fromAddBtn);
this.$nextTick(() => {
this.$refs.templateForm.validateField("auditBizType");
});
},
/** 文書模板提交按鈕 */
submitTemplateForm() {
console.log("this.formData.auditBizType", this.formData.auditBizType);
this.$refs["templateForm"].validate((valid) => {
console.log("valid", valid);
if (valid) {
if (this.templateForm.id != null) {
updateDocTemplate(this.templateForm).then((response) => {
this.msgSuccess("模板修改成功");
this.$emit("closeDialog");
this.$refs["templateForm"].resetFields();
});
} else {
addDocTemplate(this.templateForm).then((response) => {
this.msgSuccess("模板新增成功");
this.$emit("closeDialog");
this.$refs["templateForm"].resetFields();
});
}
}
});
},
templateCancel() {
this.$emit("closeDialog");
this.$refs["templateForm"].resetFields();
// this.$refs["templateForm"].clearValidate();
},
/** 查詢審計(jì)業(yè)務(wù)類型下拉樹結(jié)構(gòu) */
getListTreeDictselect() {
loadTreeNode("auditBizType").then((response) => {
this.auditBizTypeOptions = response.data.filter((item) => {
if (item.dictId != 1) {
return true;
}
});
});
},
},
};
</script>
<style scoped>
span {
color: #333;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
font-weight: 500;
font-size: 16px;
margin-top: 2px;
}
/deep/ .audit-notice .el-form-item .el-form-item__label {
color: #333;
text-align: left;
display: inline-block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
font-weight: 500;
font-size: 16px;
}
</style>
tree-select 樹形下拉框
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摹蘑,“玉大人筹燕,你說(shuō)我怎么就攤上這事⌒坡梗” “怎么了撒踪?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)大渤。 經(jīng)常有香客問我制妄,道長(zhǎng),這世上最難降的妖魔是什么泵三? 我笑而不...
- 正文 為了忘掉前任耕捞,我火速辦了婚禮衔掸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘砸脊。我一直安慰自己具篇,他們只是感情好纬霞,可當(dāng)我...
- 文/花漫 我一把揭開白布凌埂。 她就那樣靜靜地躺著,像睡著了一般诗芜。 火紅的嫁衣襯著肌膚如雪瞳抓。 梳的紋絲不亂的頭發(fā)上,一...
- 那天伏恐,我揣著相機(jī)與錄音孩哑,去河邊找鬼。 笑死翠桦,一個(gè)胖子當(dāng)著我的面吹牛横蜒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播销凑,決...
- 文/蒼蘭香墨 我猛地睜開眼丛晌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了斗幼?” 一聲冷哼從身側(cè)響起澎蛛,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜕窿,沒想到半個(gè)月后谋逻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡桐经,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年毁兆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阴挣。...
- 正文 年R本政府宣布盒卸,位于F島的核電站骗爆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蔽介。R本人自食惡果不足惜摘投,卻給世界環(huán)境...
- 文/蒙蒙 一煮寡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犀呼,春花似錦幸撕、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至宋光,卻和暖如春貌矿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背罪佳。 一陣腳步聲響...
- 正文 我出身青樓酌毡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蕾管。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枷踏,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 單選下拉框:需求:表單中添加一個(gè)單選下拉框呕寝,數(shù)據(jù)源為公司表,目標(biāo)表中存儲(chǔ)公司編號(hào)婴梧,表單下拉選擇框及查詢列表要可以看...
- TreeSelect 使用 bootstrap-treeview[https://jonmiles.github....
- 含義 樹形下拉框結(jié)合選擇控件和下拉樹控件。它與combobox(下拉列表框)類似番电,但是將下拉列表框的列表替換成了樹...
- 百度查看了其他大神用iview下拉框搭配樹形完成岗屏,根據(jù)其思想本人使用輸入框搭配氣泡提示框完成效果如上。 點(diǎn)擊輸入框...