数通互联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
11 KiB

/* empty css */import{o as s,c as a,ai as t}from"./index-3679850f.js";const n={class:"marked-body"},l=t(`<h1 id="akform-表单">AKForm 表单</h1><p>适用于导出vue文件</p><h2 id="使用方式">使用方式</h2><pre class="language-html"><code class="hljs">
<span class="hljs-tag">&lt;<span class="hljs-name">ak-form</span> <span class="hljs-attr">:formData</span>=<span class="hljs-string">&quot;formData&quot;</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">ak-form</span>&gt;</span></code></pre><h2 id="api">API</h2><h3 id="props">Props</h3><table><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>formData</td><td>object</td><td></td></tr><tr><td>type</td><td>number/1</td><td>123 4 5</td></tr><tr><td>disabled</td><td>boolean/false</td><td></td></tr><tr><td>requestUrl</td><td>string/boolean</td><td>vue</td></tr><tr><td>beforeRequest</td><td>function (params,route)</td><td>vue<code>return false</code></td></tr><tr><td>afterResponse</td><td>function/string</td><td>vue<code>return false</code></td></tr><tr><td>addUrl</td><td>string</td><td>url</td></tr><tr><td>editUrl</td><td>string</td><td>url</td></tr><tr><td>beforeSubmit</td><td>function (params,route)/string</td><td>vue<code>return false</code></td></tr><tr><td>afterSubmit</td><td>function(type,res)</td><td>return falseres,typesuccess/fail/validatevalidate</td></tr><tr><td>value</td><td>object</td><td>setValue</td></tr><tr><td>options</td><td>object</td><td>setOptions</td></tr><tr><td>dict</td><td>object</td><td></td></tr></tbody></table><h3 id="events">Events</h3><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>btnClick</td><td></td></tr><tr><td>change</td><td>(key,value,model,data,tProp)keynamevaluemodel:tProp:,datalist</td></tr></tbody></table><h3 id="methods">Methods</h3><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>validate</td><td></td></tr><tr><td>getValue</td><td></td></tr><tr><td>setValue</td><td>(model,filter:boolean) filter=truemodel</td></tr><tr><td>setOptions</td><td></td></tr><tr><td>resetFields</td><td></td></tr><tr><td>getData</td><td>(params:any)</td></tr><tr><td>submit</td><td></td></tr></tbody></table><p> </p><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>get[formName]ControlByName</td><td>nameformData(name:string)</td></tr><tr><td>get[formName]ValueByName</td><td>nameformData(name:string)</td></tr></tbody></table><h3 id="slot">Slot</h3><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>default</td><td>-</td></tr></tbody></table><h3 id="formdata">formData</h3><p><code>json</code><code>javascript</code>使<code>/src/utils/form.ts</code><code>EDITTYPE</code></p><pre class="language-javascript"><code class="hljs">formData = {
<span class="hljs-attr">list</span>: [
{
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;input1660637151831&quot;</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">type</span>: <span class="hljs-string">&quot;input&quot;</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">control</span>: <span class="hljs-comment">// 当前控件类型的所有\`props\`参数,详见\`element-plus\`对应的\`props\`参数</span>
{
<span class="hljs-attr">modelValue</span>: <span class="hljs-string">&quot;&quot;</span>
},
<span class="hljs-attr">config</span>: <span class="hljs-comment">// 其他一些扩展配置信息</span>
{
<span class="hljs-attr">linkKey</span>: <span class="hljs-literal">true</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">linkValue</span>: <span class="hljs-string">&quot;$.name===1&quot;</span>, <span class="hljs-comment">// \`name\`\`1\`</span>
<span class="hljs-attr">editDisabled</span>: <span class="hljs-literal">true</span> <span class="hljs-comment">// 使</span>
},
<span class="hljs-attr">customRules</span>: [], <span class="hljs-comment">// 使用快速方法添加的校验规则会自动合并到\`item.rules\`</span>
<span class="hljs-attr">item</span>:<span class="hljs-comment">// 组件el-form-item的参数配置</span>
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">rules</span>: [] <span class="hljs-comment">// 校验规则</span>
}
},
{
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;select1660637154631&quot;</span>,
<span class="hljs-attr">type</span>: <span class="hljs-string">&quot;select&quot;</span>,
<span class="hljs-attr">control</span>:
{
<span class="hljs-attr">modelValue</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">appendToBody</span>: <span class="hljs-literal">true</span>
},
<span class="hljs-attr">options</span>: [<span class="hljs-comment">// \`option\`</span>
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;1&quot;</span>,
<span class="hljs-attr">value</span>: <span class="hljs-string">&quot;value1&quot;</span>
},
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;2&quot;</span>,
<span class="hljs-attr">value</span>: <span class="hljs-string">&quot;value2&quot;</span>
}],
<span class="hljs-attr">config</span>:
{
<span class="hljs-attr">optionsType</span>:<span class="hljs-number">0</span>, <span class="hljs-comment">// 0 1 2</span>
<span class="hljs-attr">optioinsFun</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// urlkey</span>
<span class="hljs-attr">method</span>: <span class="hljs-string">&quot;get&quot;</span>, <span class="hljs-comment">// optionsType=1post</span>
<span class="hljs-attr">value</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// value,optionsType1</span>
<span class="hljs-attr">label</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// label,optionsType1</span>
<span class="hljs-attr">debug</span>:<span class="hljs-literal">true</span> <span class="hljs-comment">// optionsType1sessionStorage,debug=true便</span>
},
<span class="hljs-attr">item</span>:
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;&quot;</span>
}
}],
<span class="hljs-attr">form</span>:<span class="hljs-comment">// 表单配置信息</span>
{
<span class="hljs-attr">labelWidth</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">class</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">size</span>: <span class="hljs-string">&quot;default&quot;</span>,
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;form1660637148435&quot;</span>
},
<span class="hljs-attr">config</span>: {
<span class="hljs-attr">addUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">editUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">requestUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">style</span>: <span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// cssscope</span>
<span class="hljs-attr">hideField</span>: [], <span class="hljs-comment">// 使用v-if隐藏的字段用于交互仅在导出vue时可通过自定义方法修改组件需设置name值</span>
<span class="hljs-attr">addLoad</span>: <span class="hljs-literal">false</span> <span class="hljs-comment">// </span>
},
<span class="hljs-attr">events</span>: { <span class="hljs-comment">// 同props事件</span>
<span class="hljs-attr">beforeRequest</span>: <span class="hljs-function">(<span class="hljs-params">data, route</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> data
},
<span class="hljs-attr">afterResponse</span>: <span class="hljs-function">(<span class="hljs-params">res</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> res
},
<span class="hljs-comment">// afterResponse:&#39;formatTest&#39;, // 也可以是字符串,将执行/utils/formatResutl里的方法,值为方法里的key</span>
<span class="hljs-attr">beforeSubmit</span>: <span class="hljs-function">(<span class="hljs-params">data, route</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> data
},
<span class="hljs-attr">afterSubmit</span>: <span class="hljs-function">(<span class="hljs-params">type,res</span>) =&gt;</span> {
<span class="hljs-comment">// type=success/fail</span>
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(res)
},
<span class="hljs-attr">change</span>: <span class="hljs-function">(<span class="hljs-params">name, model</span>) =&gt;</span> {
<span class="hljs-comment">// name当前组件的name,model当前表单的值</span>
<span class="hljs-keyword">return</span> model
}
}
}</code></pre>`,18),p=[l],h={__name:"form",setup(e){return(r,o)=>(s(),a("div",n,p))}};export{h as default};