afa 2 месяцев назад
Родитель
Сommit
96c09350e3

+ 77 - 0
app/admin/controller/goods/FengsuShip.php

@@ -0,0 +1,77 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\controller\goods;
+
+use app\common\controller\Backend;
+use app\admin\traits\Actions;
+use think\annotation\route\Group;
+use think\annotation\route\Route;
+use app\common\model\FengsuShip as FengsuShipModel;
+
+#[Group("goods/fengsu_ship")]
+class FengsuShip extends Backend
+{
+    //app\admin\controller\goods\FengsuShip
+    use Actions{
+        index as private _index;
+        add as private _add;
+        edit as private _edit;
+        del as private _del;
+        multi as private _multi;
+    }
+
+    protected function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new FengsuShipModel();
+    }
+
+    //查看
+    #[Route("GET,JSON","index")]
+    public function index()
+    {
+        return $this->_index();
+    }
+
+    //添加
+    #[Route("GET,POST","add")]
+    public function add()
+    {
+        //通过定义postParams来增加或覆盖post提交的表单
+        $this->postParams=[];
+        //通过定义callback回调函数来执行添加后的操作
+        $this->callback=function ($model){};
+        return $this->_add();
+    }
+
+    //修改
+    #[Route("GET,POST","edit")]
+    public function edit()
+    {
+        //通过定义postParams来增加或覆盖post提交的表单
+        $this->postParams=[];
+        //通过定义callback回调函数来执行修改后的操作
+        $this->callback=function ($model){};
+        return $this->_edit();
+    }
+
+    //删除
+    #[Route("GET,POST","del")]
+    public function del()
+    {
+        //通过定义callback回调函数来执行删除后的操作
+        $this->callback=function ($ids){};
+        return $this->_del();
+    }
+
+    //更新
+    #[Route("GET,POST","multi")]
+    public function multi()
+    {
+        //通过定义callback回调函数来执行更新后的操作
+        $this->callback=function ($ids,$field,$value){};
+        return $this->_multi();
+    }
+
+}

+ 129 - 0
app/admin/view/goods/fengsu_ship/index.html

@@ -0,0 +1,129 @@
+<template>
+    <el-card shadow="never">
+        <yun-table
+                :columns="columns"
+                ref="yuntable"
+                @render="onTableRender"
+                toolbar="refresh,del"
+                :auth="{
+                    add:{:$auth->check('app\\admin\\controller\\goods\\FengsuShip','add')},
+                    edit:{:$auth->check('app\\admin\\controller\\goods\\FengsuShip','edit')},
+                    del:{:$auth->check('app\\admin\\controller\\goods\\FengsuShip','del')},
+                    multi:{:$auth->check('app\\admin\\controller\\goods\\FengsuShip','multi')},
+                }"
+                :extend="extend">
+        </yun-table>
+    </el-card>
+</template>
+<script>
+import table from "@components/Table.js";
+export default{
+    components:{
+        'YunTable':table
+    },
+    data:{
+        extend:{
+            index_url: 'goods/fengsu_ship/index',
+            del_url: 'goods/fengsu_ship/del',
+            multi_url: 'goods/fengsu_ship/multi',
+        },
+        columns:[
+            {checkbox: true,selectable:function (row,index){
+                //可以根据业务需求返回false让某些行不可选中
+                return true;
+            }},
+            {field:"id",title:"ID",operate:false},
+            {field:"shop_id",title:"店铺ID"},
+            {field:"trade_from",title:"平台"},
+            {field:"province",title:"省份",operate: false},
+            {field:"city",title:"城市",operate: false},
+            {field:"company_name",title:"快递名称"},
+            {field:"waybill_no",title:"快递单号"},
+            {field:"goods_title",title:"产品名称"},
+            {field:"sku_id",title:"规格id"},
+            {field:"num",title:"件数",operate: false},
+            {field:"price",title:"实付价格",operate: false},
+            {field:"consign_time",title:"发货时间",operate:"daterange",formatter:Yunqi.formatter.datetime},
+            {field:"status",title:"状态",operate:"select",searchList:{1:"无店铺", 2:"无Sku", 3:"正常"},formatter:Yunqi.formatter.tags},
+            {field:"user_id",title:"录入人",operate: false},
+            {field:"createtime",title:"创建时间",operate: false,formatter:Yunqi.formatter.datetime},
+            {field:"updatetime",title:"修改时间",visible:false,operate: false,formatter:Yunqi.formatter.datetime},
+            {
+                field: 'operate',
+                title: __('操作'),
+                width:150,
+                      action:{
+                        shops:{
+                            tooltip:true,
+                            icon:'fa fa-certificate',
+                            type:'success',
+                            text:__('关联店铺'),
+                            method:'shops',
+                            visible:function(row,index){
+                                return row.status == 1;
+                            }
+                        },
+                        specs:{
+                            tooltip:true,
+                            icon:'fa fa-list',
+                            type:'info',
+                            text:__('关联规格'),
+                            method:'specs',
+                            // visible:function(row,index){
+                            //     return row.status == 2;
+                            // }
+                        },
+                        del:true
+                    }
+            }
+        ]
+    },
+    //页面加载完成时执行
+    onLoad:function(query){
+        console.log(query);
+    },
+    //页面初始显示或在框架内显示时执行
+    onShow:function(){
+
+    },
+    //页面在框架内隐藏时执行
+    onHide:function(){
+
+    },
+    //页面在框架内关闭时执行
+    onUnload:function(){
+
+    },
+    methods: {
+        shops:function (row){
+            Yunqi.api.open({
+                url:'goods/fengsu_ship/shops?ids='+row.id,
+                width:1000,
+                title:__('关联店铺'),
+                icon:'fa fa-list'
+            });
+        },
+        specs:function (row){
+            Yunqi.api.open({
+                url:'goods/fengsu_ship/specs?ids='+row.id,
+                width:1000,
+                title:__('关联规格'),
+                icon:'fa fa-list'
+            });
+        },
+        onTableRender:function(list){
+            //表格渲染完成后执行
+            /**
+             * table常用方法
+             * this.$refs.yuntable.reset();//重新渲染整个组件,当columns修改时,需要重新渲染表格才能生效,可以执行该方法。
+             * this.$refs.yuntable.reload();//保持当前的page,重新获取数据
+             * this.$refs.yuntable.submit();//返回第一页,重新获取数据
+             * this.$refs.yuntable.expandAllTree();//树形表格展开所有节点
+             * this.$refs.yuntable.expandTree(topid);//树形表格展开指定节点
+             */
+        }
+    }
+}
+</script>
+<style>
+</style>

+ 90 - 0
app/admin/view/goods/fengsu_ship/shops.html

@@ -0,0 +1,90 @@
+<template>
+    <el-card shadow="never" style="border: 0;">
+        <yun-form
+            ref="yunform"
+            @render="onFormRender"
+            @submit="onSubmit"
+            @success="onSuccess"
+            @fail="onFail"
+            :data="row"
+            :columns="columns">
+            <template #default>
+                {:token_field()}
+            </template>
+    
+        </yun-form>
+    </el-card>
+</template>
+<script>
+import form from "@components/Form.js";
+export default{
+    components:{
+        'YunForm':form
+    },
+    data:{
+        columns:[
+            {field:"id",title:"ID",edit:"hidden"},
+            {field:"shop_id",title:"店铺ID",edit:"text",rules:"required"},
+            {field:"trade_from",title:"平台",edit:"text",rules:"required"},
+            {field:"province",title:"省份",edit:"text",rules:"required"},
+            {field:"city",title:"城市",edit:"text",rules:"required"},
+            {field:"company_name",title:"快递名称",edit:"text",rules:"required"},
+            {field:"waybill_no",title:"快递单号",edit:"text",rules:"required"},
+            {field:"goods_id",title:"产品ID",edit:"text",rules:"required"},
+            {field:"goods_title",title:"产品名称",edit:"text",rules:"required"},
+            {field:"sku_id",title:"规格id",edit:"text",rules:"required"},
+            {field:"num",title:"件数",edit:"number"},
+            {field:"price",title:"实际付款价格",edit:"text",rules:"required"},
+            {field:"weigh",title:"重量(斤)",edit:"text",rules:"required"},
+            {field:"consign_time",title:"发货时间",edit:"text",rules:"required"},
+            {field:"status",title:"结算状态: 1无店铺, 2无Sku 3正常",edit:"switch",searchList:{normal:"正常",hidden:"隐藏"}},
+            {field:"user_id",title:"录入人",edit:"number"},
+            {field:"createtime",title:"创建时间"},
+            {field:"updatetime",title:"修改时间"},
+        ],
+        row:Yunqi.data.row || {}
+    },
+    //页面加载完成时执行
+    onLoad:function(query){
+        console.log(query);
+    },
+    //页面初始显示或在框架内显示时执行
+    onShow:function(){
+
+    },
+    //页面在框架内隐藏时执行
+    onHide:function(){
+
+    },
+    //页面在框架内关闭时执行
+    onUnload:function(){
+
+    },
+    methods: {
+        onFormRender:function(rows){
+            //表单渲染完成后执行
+        },
+        onSubmit:function(rows){
+            //表单提交前执行,返回false可以阻止表单提交
+            /**
+             * form常用方法
+             * this.$refs.yunform.setError(field,message);//聚焦表单项并显示错误信息
+             * this.$refs.yunform.hideField(field);//隐藏表单项
+             * this.$refs.yunform.showField(field);//显示表单项
+             * this.$refs.yunform.setValue(field,value);//为表单项设置值
+             * this.$refs.yunform.getValue(field);//为获取表单项的值
+             * this.$refs.yunform.setField(field,key,value);//修改表单json的其他属性值,比如rules,title,searchList等
+             */
+            return true;
+        },
+        onSuccess:function(response){
+            //表单提交成功后执行
+        },
+        onFail:function(err){
+            //表单提交失败后执行
+        }
+    }
+}
+</script>
+<style>
+</style>

+ 1 - 0
app/admin/view/goods/fengsu_ship/specs.html

@@ -0,0 +1 @@
+{include vue="fengsu_ship/add" /}

+ 25 - 0
app/common/model/FengsuShip.php

@@ -0,0 +1,25 @@
+<?php
+declare(strict_types=1);
+
+namespace app\common\model;
+
+use think\Model;
+
+class FengsuShip Extends Model
+{
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = true;
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
+
+    protected $type = [
+        'createtime'     =>  'timestamp:Y-m-d H:i',
+        'updatetime'     =>  'timestamp:Y-m-d H:i',
+    ];
+
+    public static function onAfterInsert($data)
+    {
+        $data->weigh=1000-$data->id;
+        $data->save();
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
runtime/cache/7a/b2b683b6c3e8e0985917962d853b9c.php


Некоторые файлы не были показаны из-за большого количества измененных файлов