xieruidong 2 years ago
parent
commit
e9afe00ff0

+ 46 - 0
app/admin/controller/ShopCoor.php

@@ -0,0 +1,46 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\data\model\ShopCoordination as Model;
+use app\data\model\DataUser;
+use Carbon\Carbon;
+use think\admin\Controller;
+use think\admin\model\SystemUser;
+use think\facade\Db;
+use think\Request;
+
+/**
+ * 外协订单管理
+ * Class Xw
+ * @package app\admin\controller\ShopCoor
+ * http://www.zjnk.com/fileserver/News/04b7854f-bb0a-458b-b359-ce948acfea09.JPG
+ */
+class ShopCoor extends Controller
+{
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     */
+    public function index(){
+        $this->title='外协订单管理';
+        $this->assign('status',\app\data\model\ShopPurchase::getStatus());
+        Model::mQuery()
+            ->equal('status')
+            ->dateBetween('create_at')
+            ->layTable();
+    }
+    /**
+     * 详情
+     * @auth true
+     * @menu true
+     */
+    public function detail(Request $request,Model $purchase){
+        DataUser::$copyRealName=true;
+        $this->assign('row',$purchase
+            ->with(['merchant','items','offers','offers.user'])
+            ->where('id',$request['id'])->findOrFail());
+        $this->fetch('form');
+    }
+}

+ 122 - 0
app/admin/view/shop_coor/form.html

@@ -0,0 +1,122 @@
+{extend name="../../admin/view/main"}
+{block name='content'}
+<style>
+    .layui-card-body{
+        background: white;
+    }
+    #newForm{
+        width: 100%;
+    }
+    .merMedias{
+        width: 200px;
+        height: 200px;
+    }
+    .layui-card{
+        box-shadow: none;
+    }
+    .elImage{
+        width: 50px;
+        height: 50px;
+    }
+</style>
+<div id="newForm">
+    <el-form :model="form" label-width="140px" ref="form" :disabled="audit!==1">
+        <el-form-item label="发布商家" prop="b_type">
+            {{form.merchant.nickname}}
+        </el-form-item>
+        <el-form-item label="联系人">
+            {{form.real_name}}
+        </el-form-item>
+        <el-form-item label="联系方式">
+            {{form.mobile}}
+        </el-form-item>
+        <el-form-item label="生产技术标准">
+            {{form.standard_tech}}
+        </el-form-item>
+        <el-form-item label="生产验收标准">
+            {{form.standard_check}}
+        </el-form-item>
+        <el-form-item label="交货地址">
+            {{form.post_address}}
+        </el-form-item>
+        <el-form-item label="交货时间">
+            {{form.post_time}}
+        </el-form-item>
+        <el-form-item label="发布时间">
+            {{form.create_time}}
+        </el-form-item>
+        <el-form-item label="产品简介">
+            <div>
+                <template v-for="(item,idx) in form.file" :key="idx">
+                    <el-image class="merMedias" v-if="item.type=='image'" :src="item.src" fit="cover" @click="showImg(item.src)"></el-image>
+                    <video class="merMedias" :src="item.src" v-else controls></video>
+                </template>
+            </div>
+        </el-form-item>
+        <el-form-item label="商品信息" prop="b_type">
+            <el-table :data="form.items">
+                <el-table-column label="ID" prop="id"></el-table-column>
+                <el-table-column label="产品名称" prop="name"></el-table-column>
+                <el-table-column label="规格" prop="spec"></el-table-column>
+                <el-table-column label="数量" prop="number"></el-table-column>
+                <el-table-column label="报价条数">
+                    <template slot-scope="{row}">
+                        {{form.offers.length}}
+                    </template>
+                </el-table-column>
+                <el-table-column label="附件">
+                    <template slot-scope="{row}">
+                        <div v-if="row.enclosure" v-for="(item,idx) in row.enclosure" :key="item.fileurl">
+                            {{idx+1}}:<el-link type="primary" target="_blank" :href="item.fileurl">{{item.filename}}</el-link>
+                        </div>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-form-item>
+        <el-form-item label="报价列表">
+            <el-table :data="form.offers">
+                <el-table-column label="ID" prop="id">
+                    <template slot-scope="{row}">
+                        {{row.id}}
+                        <el-tag v-if="row.id===form.offer_id">已匹配</el-tag>
+                    </template>
+                </el-table-column>
+                <el-table-column label="用户" prop="user.nickname"></el-table-column>
+                <el-table-column label="报价" prop="amount"></el-table-column>
+                <el-table-column label="货期" prop="date"></el-table-column>
+                <el-table-column label="说明" prop="desc" style="max-width: 200px;"></el-table-column>
+                <el-table-column label="图片">
+                    <template slot-scope="{row}">
+                        <el-image v-for="(item,idx) in row.images" :src="item" :key="idx" class="elImage" @click="showImg(item)"></el-image>
+                    </template>
+                </el-table-column>
+                <el-table-column label="接单日期" prop="create_time"></el-table-column>
+            </el-table>
+        </el-form-item>
+    </el-form>
+</div>
+<script>
+    let vo={:json_encode($row?:null,256)};
+    let audit=vo.audit
+    if(audit===1){
+        vo.audit=2
+    }
+    require(['ckeditor'], function () {
+
+    });
+    new Vue({
+        el:'#newForm',
+        data:()=>({
+            form:vo||{
+            },
+            audit,
+            saving:false,
+        }),
+        methods:{
+            showImg(src){
+                $.previewImage(src)
+            },
+        }
+    })
+</script>
+{/block}

+ 109 - 0
app/admin/view/shop_coor/index.html

@@ -0,0 +1,109 @@
+{extend name='table'}
+
+{block name="button"}
+
+{block name="content"}
+<div class="layui-tab layui-tab-card">
+    <ul class="layui-tab-title">
+        {foreach ['index'=>$title,] as $k=>$v}
+        <li data-open="{:url('index')}?type={$k}">{$v}</li>{/foreach}
+    </ul>
+    <div class="layui-tab-content">
+        <form action="{:sysuri()}" autocomplete="off" class="layui-form layui-form-pane form-search" method="get" onsubmit="return false">
+
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">名称</label>
+                <label class="layui-input-inline">
+                    <input class="layui-input" name="name" placeholder="商家名称" value="{$get.name|default=''}">
+                </label>
+            </div>
+
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">状态</label>
+                <label class="layui-input-inline">
+                    <select name="status">
+                        <option value="">全部</option>
+                        {foreach $status as $k=>$a}
+                        <option value="{$k}">{$a}</option>
+                        {/foreach}
+                    </select>
+                </label>
+            </div>
+
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">创建时间</label>
+                <label class="layui-input-inline">
+                    <input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{$get.create_at|default=''}">
+                </label>
+            </div>
+
+            <div class="layui-form-item layui-inline">
+                <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            </div>
+        </form>
+        <table id="NewsTable" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
+    </div>
+</div>
+{/block}
+
+{block name='script'}
+<script>
+    let status={:json_encode($status,256)};
+    $(function () {
+        // 初始化表格组件
+        $('#NewsTable').layTable({
+            even: true, height: 'full',
+            sort: {field: 'id desc', type: 'desc'},
+            where: {},
+            cols: [[
+                //{checkbox: true, fixed: true},
+                {field: 'id', title: 'ID', align: "center"},
+                {field: 'order_no', title: '订单号', align: "center"},
+                {field: 'real_name', title: '联系人', align: "center"},
+                {field: 'mobile', title: '联系方式', align: "center"},
+                {field: 'post_address', title: '交货地址', align: "left"},
+                {field: 'post_time', title: '交货时间', align: "left"},
+                {field: 'create_time', title: '发布时间', align: 'center', minWidth: 170, sort: true},
+                {toolbar: '#toolbar', title: '操作面板', align: 'center', minWidth: 80, fixed: 'right'},
+            ]]
+        });
+
+        // 数据状态切换操作
+        layui.form.on('switch(StatusSwitch)', function (obj) {
+            var data = {id: obj.value, status: obj.elem.checked > 0 ? 1 : 0};
+            $.form.load("{:url('state')}", data, 'post', function (ret) {
+                if (ret.code < 1) $.msg.error(ret.info, 3, function () {
+                    $('#NewsTable').trigger('reload');
+                }); else {
+                    $('#NewsTable').trigger('reload');
+                }
+                return false;
+            }, false);
+        });
+    });
+
+</script>
+
+<!-- 列表排序权重模板 -->
+<script type="text/html" id="SortInputTpl">
+    <input type="number" min="0" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
+</script>
+
+<!-- 数据状态切换模板 -->
+<script type="text/html" id="StatusSwitchTpl">
+    <!--{if auth("state")}-->
+    <input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitch" {{-d.status>0?'checked':''}}>
+    <!--{else}-->
+    {{-d.status ? '<b class="color-green">已启用</b>' : '<b class="color-red">已禁用</b>'}}
+    <!--{/if}-->
+</script>
+
+<!-- 数据操作工具条模板 -->
+<script type="text/html" id="toolbar">
+
+
+    <!--{if auth("detail")}-->
+    <a class="layui-btn layui-btn-primary layui-btn-sm" data-modal="{:url('detail')}?id={{d.id}}" data-area='["1200px","90%"]'>查看详情</a>
+    <!--{/if}-->
+</script>
+{/block}