| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- {include file='common/_js_css'}
- <div class="lyear-layout-web">
- <div class="lyear-layout-container">
- <!--页面主要内容-->
- <main>
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-12">
- <div class="card">
- <div class="card-body">
- <form class="layui-form">
- <div class="layui-form-item">
- <label class="layui-form-label">{:lang('Product')}</label>
- <div class="layui-input-block unfold_product">
- <input type="text" id="product_id" class="layui-input"
- placeholder="{:lang('Enter the product name or number and press Enter to select the product')}" style="position:absolute;z-index:2;width:88%;" value="" autocomplete="off">
- <select id="product_select" placeholder="1" name="product_id" lay-verify="required" lay-filter="product_select" >
- <option value="">{:lang('Enter the product name or number and press Enter to select the product')}</option>
- </select>
- </div>
- </div>
- <input type="text" id="product_name" name="product_name" hidden>
- <div class="layui-form-item">
- <label class="layui-form-label">{:lang("Type")}</label>
- <div class="layui-input-block">
- <input type="radio" name="type" value="1" title="{:lang('Reduced price')}" >
- <input type="radio" name="type" value="2" title="{:lang('Discount')}" checked>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">{:lang("Discount")}</label>
- <div class="layui-input-block">
- <input type="number" name="discount" value="0" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">{:lang("Reduced price")}</label>
- <div class="layui-input-block">
- <input type="number" value="0" name="reduced_price" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-input-block">
- <button type="button" class="layui-btn" lay-submit="" lay-filter="caviar_submit_btn">{:lang('Submit')}</button>
- <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- </main>
- </div>
- </div>
- <script>
- // 用于缓存下拉获取的数据
- let dropData
- // 请求返回数据
- function getData(str){
- return new Promise(resolve=>{
- request("{:url('admin/product/findProducts')}", {"text": str}).then((data) => {
- if (data.code === 200) {
- resolve(data.data.map(v => {
- return {
- value: v.id,
- text: `【${v.bar_code}】 ${v.name}`
- }
- }))
- }
- })
- })
- }
- $("#product_id").on("keyup", async function(e){
- if(e.which=='13'){
- dropData=await getData($(this).val())
- innitSelect("#product_select", dropData)
- let form = layui.form;
- form.render()
- $(".layui-form-select").addClass("layui-form-selected")
- }
- })
- // 渲染下拉框的数据
- function innitSelect(name,data){
- let html=''
- if(data && data instanceof Array){
- data.forEach(item=>{
- html+="<option value="+item.value+">"+item.text+"</option>"
- })
- }
- $(name).html(html)
- }
- var index = parent.layer.getFrameIndex(window.name);
- layui.use(['form'], () => {
- const form = layui.form;
- // 监听下拉框改变事件,修改输入框中的内容
- form.on("select(product_select)",function(data){
- let value = data.value
- let selectObj=dropData.filter(item=> {
- return item.value == value
- })
- $("#product_id").val(selectObj[0].text);
- $("#product_name").val(selectObj[0].text);
- })
- form.on('submit(caviar_submit_btn)', (data) =>{
- //获取父类函数
- parent.advanced(data.field);
- parent.layer.close(index);//关闭当前页
- return false;
- });
- });
- </script>
|