chuweiqiang 1 year ago
parent
commit
2ef0ef2552
100 changed files with 9528 additions and 2342 deletions
  1. 9 0
      application/admin/controller/Config.php
  2. 95 1
      application/admin/view/config/info.html
  3. 94 1
      application/admin/view/config/system-config.html
  4. 184 0
      application/api/controller/Approve.php
  5. 49 0
      application/api/controller/Approveflow.php
  6. 624 0
      application/api/controller/Approveinfo.php
  7. 0 1
      application/api/controller/Area.php
  8. 221 98
      application/api/controller/Base.php
  9. 471 0
      application/api/controller/Common.php
  10. 0 261
      application/api/controller/Contract.php
  11. 71 114
      application/api/controller/Dingtalk.php
  12. 0 25
      application/api/controller/Dingtoken.php
  13. 0 258
      application/api/controller/Evection.php
  14. 0 123
      application/api/controller/General.php
  15. 47 0
      application/api/controller/Goods.php
  16. 42 0
      application/api/controller/Goodscategory.php
  17. 37 44
      application/api/controller/Login.php
  18. 0 225
      application/api/controller/Maintain.php
  19. 80 50
      application/api/controller/Member.php
  20. 0 238
      application/api/controller/Offer.php
  21. 0 236
      application/api/controller/Schoolfile.php
  22. 0 106
      application/api/controller/Subscribe.php
  23. 0 10
      application/api/controller/Task.php
  24. 59 51
      application/api/controller/Upload.php
  25. 0 232
      application/api/controller/UserCar.php
  26. 0 268
      application/api/controller/UserLeave.php
  27. 110 0
      application/api/view/common/index_1.html
  28. 88 0
      application/api/view/common/index_10.html
  29. 88 0
      application/api/view/common/index_11.html
  30. 84 0
      application/api/view/common/index_2.html
  31. 98 0
      application/api/view/common/index_3.html
  32. 91 0
      application/api/view/common/index_4.html
  33. 97 0
      application/api/view/common/index_5.html
  34. 88 0
      application/api/view/common/index_6.html
  35. 84 0
      application/api/view/common/index_7.html
  36. 92 0
      application/api/view/common/index_8.html
  37. 99 0
      application/api/view/common/index_9.html
  38. 26 0
      application/api/view/common/index_approve.html
  39. 139 0
      application/approve/controller/ApproveFlow.php
  40. 137 0
      application/approve/controller/ApproveInfo.php
  41. 100 0
      application/approve/controller/ApproveInfoLog.php
  42. 158 0
      application/approve/controller/ApproveMaintainUser.php
  43. 59 0
      application/approve/controller/ApproveMaintainUserLog.php
  44. 312 0
      application/approve/controller/Goods.php
  45. 174 0
      application/approve/controller/GoodsCategory.php
  46. 64 0
      application/approve/controller/GoodsStockLog.php
  47. 29 0
      application/approve/view/approve_flow/flow.html
  48. 198 0
      application/approve/view/approve_flow/form.html
  49. 40 0
      application/approve/view/approve_flow/index.html
  50. 1 0
      application/approve/view/approve_flow/index_search.html
  51. 35 0
      application/approve/view/approve_info/form.html
  52. 179 0
      application/approve/view/approve_info/form_1.html
  53. 115 0
      application/approve/view/approve_info/form_10.html
  54. 115 0
      application/approve/view/approve_info/form_11.html
  55. 107 0
      application/approve/view/approve_info/form_2.html
  56. 152 0
      application/approve/view/approve_info/form_3.html
  57. 123 0
      application/approve/view/approve_info/form_4.html
  58. 151 0
      application/approve/view/approve_info/form_5.html
  59. 130 0
      application/approve/view/approve_info/form_6.html
  60. 125 0
      application/approve/view/approve_info/form_7.html
  61. 167 0
      application/approve/view/approve_info/form_8.html
  62. 134 0
      application/approve/view/approve_info/form_9.html
  63. 57 0
      application/approve/view/approve_info/form_approve.html
  64. 11 0
      application/approve/view/approve_info/form_document.html
  65. 26 0
      application/approve/view/approve_info/index.html
  66. 40 0
      application/approve/view/approve_info/index_1.html
  67. 40 0
      application/approve/view/approve_info/index_10.html
  68. 42 0
      application/approve/view/approve_info/index_11.html
  69. 42 0
      application/approve/view/approve_info/index_2.html
  70. 36 0
      application/approve/view/approve_info/index_3.html
  71. 38 0
      application/approve/view/approve_info/index_4.html
  72. 42 0
      application/approve/view/approve_info/index_5.html
  73. 42 0
      application/approve/view/approve_info/index_6.html
  74. 42 0
      application/approve/view/approve_info/index_7.html
  75. 42 0
      application/approve/view/approve_info/index_8.html
  76. 40 0
      application/approve/view/approve_info/index_9.html
  77. 73 0
      application/approve/view/approve_info/index_search_1.html
  78. 64 0
      application/approve/view/approve_info/index_search_10.html
  79. 73 0
      application/approve/view/approve_info/index_search_11.html
  80. 88 0
      application/approve/view/approve_info/index_search_2.html
  81. 52 0
      application/approve/view/approve_info/index_search_3.html
  82. 58 0
      application/approve/view/approve_info/index_search_4.html
  83. 73 0
      application/approve/view/approve_info/index_search_5.html
  84. 73 0
      application/approve/view/approve_info/index_search_6.html
  85. 58 0
      application/approve/view/approve_info/index_search_7.html
  86. 73 0
      application/approve/view/approve_info/index_search_8.html
  87. 73 0
      application/approve/view/approve_info/index_search_9.html
  88. 33 0
      application/approve/view/approve_info_log/form.html
  89. 284 0
      application/approve/view/approve_info_log/form_1.html
  90. 174 0
      application/approve/view/approve_info_log/form_10.html
  91. 176 0
      application/approve/view/approve_info_log/form_11.html
  92. 160 0
      application/approve/view/approve_info_log/form_2.html
  93. 212 0
      application/approve/view/approve_info_log/form_3.html
  94. 192 0
      application/approve/view/approve_info_log/form_4.html
  95. 228 0
      application/approve/view/approve_info_log/form_5.html
  96. 186 0
      application/approve/view/approve_info_log/form_6.html
  97. 176 0
      application/approve/view/approve_info_log/form_7.html
  98. 122 0
      application/approve/view/approve_info_log/form_8.html
  99. 174 0
      application/approve/view/approve_info_log/form_9.html
  100. 41 0
      application/approve/view/approve_info_log/index.html

+ 9 - 0
application/admin/controller/Config.php

@@ -15,6 +15,7 @@
 
 namespace app\admin\controller;
 
+use app\common\constant\CommonConstant;
 use library\Controller;
 use think\exception\HttpResponseException;
 use think\facade\Request;
@@ -33,6 +34,14 @@ class Config extends Controller
     protected $table = 'SystemConfig';
 
     /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_is_who_list = CommonConstant::get_is_who_list();
+    }
+
+    /**
      * 阿里云OSS上传点
      * @var array
      */

+ 95 - 1
application/admin/view/config/info.html

@@ -19,7 +19,7 @@
     {/foreach}
 </div>
 
-<div class="think-box-shadow padding-40">
+<div class="think-box-shadow margin-bottom-15">
     <div class="layui-form-item">
         <span class="color-green font-w7">网站名称 Website</span>
         <label class="relative block">
@@ -62,6 +62,100 @@
         <p class="help-block">网站版权信息,在后台登录页面显示版本信息并链接到备案到信息备案管理系统</p>
     </div>
 </div>
+<div class="think-box-shadow margin-bottom-15">
+    <div class="layui-form-item">
+        <span class="color-green font-w7">主体名称</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('subject')}" class="layui-input layui-bg-gray">
+            <a data-copy="{:sysconf('subject')}" class="fa fa-copy right-btn"></a>
+        </label>
+        <p class="help-block"></p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">主体图片</span>
+        <label class="relative block">
+            <img alt="icon" data-tips-image style="height:auto;max-height:42px;min-width:42px" src="{:sysconf('subject_image')}"/>
+        </label>
+        <p class="help-block"></p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">申购申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_1')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">呈批申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_2')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">入库申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_3')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">领用申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_4')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">出差申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_5')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">请假申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_6')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">用车申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_7')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">维修申请 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_8')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">合同呈批 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_9')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">收文批阅 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_10')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+    <div class="layui-form-item">
+        <span class="color-green font-w7">学校文件 是否允许用户自己添加抄送人</span>
+        <label class="relative block">
+            <input readonly value="{:sysconf('is_copy_11')}" class="layui-input layui-bg-gray">
+        </label>
+        <p class="help-block">0=否,1=是</p>
+    </div>
+</div>
 {/block}
 
 {block name='style'}

+ 94 - 1
application/admin/view/config/system-config.html

@@ -46,8 +46,101 @@
             <p class="help-block">网站版权信息,在后台登录页面显示版本信息并链接到备案到信息备案管理系统</p>
         </div>
 
-        <div class="hr-line-dashed"></div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">主体名称</span>
+            <label class="relative block">
+                <input name="subject" value="{:sysconf('subject')}" class="layui-input">
+            </label>
+            <p class="help-block"></p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">主体图片</span>
+            <label class="relative block">
+                <img alt="icon" data-tips-image style="height:auto;max-height:42px;min-width:42px" src="{:sysconf('subject_image')}"/>
+                <input type="hidden" name="subject_image" onchange="$(this).prev('img').attr('src', this.value)" value="{:sysconf('subject_image')}" class="layui-input">
+                <a class="margin-left-10" data-file="btn" data-type="jpg,jpeg,png" data-field="subject_image">上传图片</a>
+            </label>
+            <p class="help-block"></p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">申购申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_1"  value="{:sysconf('is_copy_1')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">呈批申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_2"  value="{:sysconf('is_copy_2')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">入库申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_3"  value="{:sysconf('is_copy_3')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">领用申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_4"  value="{:sysconf('is_copy_4')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">出差申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_5"  value="{:sysconf('is_copy_5')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">请假申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_6"  value="{:sysconf('is_copy_6')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">用车申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_7"  value="{:sysconf('is_copy_7')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">维修申请 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_8"  value="{:sysconf('is_copy_8')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">合同呈批 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_9"  value="{:sysconf('is_copy_9')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">收文批阅 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_10"  value="{:sysconf('is_copy_10')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
+        <div class="layui-form-item">
+            <span class="color-green font-w7">学校文件 是否允许用户自己添加抄送人</span>
+            <label class="relative block">
+                <input name="is_copy_11"  value="{:sysconf('is_copy_11')}" class="layui-input">
+            </label>
+            <p class="help-block">0=否,1=是</p>
+        </div>
 
+        <div class="hr-line-dashed"></div>
         <div class="layui-form-item text-center">
             <button class="layui-btn" type="submit">保存配置</button>
             <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消修改吗?" data-close>取消修改</button>

+ 184 - 0
application/api/controller/Approve.php

@@ -0,0 +1,184 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\service\ApproveService;
+use hg\apidoc\annotation as Apidoc;
+
+/**
+ * @Apidoc\Title("审批")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("12")
+ */
+class Approve extends Base
+{
+    public function initialize()
+    {
+        parent::initialize();
+        parent::checkLogin();
+    }
+
+    /**
+     * 审批待处理统计
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Returned("module", type="integer", desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Returned("module_text", type="string", desc="模块类型描述")
+     * @Apidoc\Returned("number", type="integer", desc="待处理数量")
+     **/
+    public function get_count()
+    {
+        $user = $this->user;
+        $data = ApproveService::get_count($user);
+        $this->success('审批待处理统计', $data);
+    }
+
+    /**
+     * 审批列表
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("page", type="integer",require=true, desc="页数")
+     * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
+     * @Apidoc\Param("status", type="integer", require=true, desc="处理状态:1=待处理,2=已处理,3=我收到的")
+     * @Apidoc\Param("module", type="integer", require=false, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件 不传默认全部")
+     * @Apidoc\Param("start_time", type="string", require=false, desc="申请开始时间")
+     * @Apidoc\Param("end_time", type="string", require=false, desc="申请结束时间")
+     * @Apidoc\Param("search", type="string", require=false, desc="搜索 姓名 事由 编号")
+     * @Apidoc\Returned("approve_id", type="integer", desc="审批ID")
+     * @Apidoc\Returned("status", type="integer", desc="审批状态:1=待审批,2=审批中,3=审批同意,4=审批驳回")
+     * @Apidoc\Returned("create_at", type="string", desc="创建时间")
+     * @Apidoc\Returned("module", type="integer", desc="模块类型")
+     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
+     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
+     * @Apidoc\Returned("reason", type="string", desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=9合同编号,module=10文件名称,module=11文件名称")
+     * @Apidoc\Returned("type", type="string", desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型")
+     * @Apidoc\Returned("desc", type="string", desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")
+     * @Apidoc\Returned("start_time", type="string", desc="module=5出差开始时间,module=6请假开始时间,module=7出发时间,module=1预计申购完成日期(日期),module=10收文日期(日期),module=11拟发文时间(日期)")
+     * @Apidoc\Returned("end_time", type="string", desc="module=5出差结束时间,module=6请假结束时间,module=7返回时间")
+     * @Apidoc\Returned("approve_one", type="object", desc="审批人信息 status=1",
+     *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
+     *     @Apidoc\Returned("user", type="object", desc="审批人信息",
+     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *          @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *      ),
+     * )
+     * @Apidoc\Returned("approve_info_user", type="object", desc="创建人信息",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1 && type=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("stock_goods", type="array", desc="入库商品列表 module=3",
+     *     @Apidoc\Returned("id", type="integer", desc="入库商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("use_goods", type="array", desc="领用商品列表 module=4",
+     *     @Apidoc\Returned("id", type="integer", desc="领用商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
+     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("name", type="string", desc="姓名"),
+     * )
+     */
+    public function get_list()
+    {
+        $status = input('status') ?: 0;
+        $module = input('module') ?: 0;
+        $start_time = input('start_time') ?: '';
+        $end_time = input('end_time') ?: '';
+        $search = input('search') ?: '';
+        $offset = $this->off_set;
+        $length = $this->page_num;
+        $user = $this->user;
+        $data = ApproveService::get_list($status, $module, $start_time, $end_time, $search, $offset, $length, $user);
+        $this->success('审批列表', $data);
+    }
+
+    /**
+     * 详情
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
+     * @Apidoc\Param("group", type="string",require=true, desc="类别:approve=审批,approve_copy=审批抄送")
+     * @Apidoc\Returned("approve_id", type="integer", desc="审批ID")
+     * @Apidoc\Returned("approve_status", type="integer", desc="审批状态:1=待审批,2=审批中,3=审批同意,4=审批驳回")
+     * @Apidoc\Returned("is_maintain", type="bool", desc="是否显示维修人员:false=不显示,true=显示 module=8 && approve_status=2判断此字段")
+     * @Apidoc\Returned("is_feedback", type="bool", desc="是否显示上传反馈结果:false=不显示,true=显示 module=8 && approve_status=3判断此字段")
+     */
+    public function get_detail()
+    {
+        $id = input('approve_id') ?: 0;
+        $group = input('group') ?: 'approve';
+        $user = $this->user;
+        $info = ApproveService::get_detail($id, $user, $group,'detail');
+        $this->success('详情', $info);
+    }
+
+    /**
+     * 信息
+     *
+     * @Apidoc\Desc("修改信息")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
+     * @Apidoc\Returned("approve_id", type="integer", desc="审批ID")
+     * @Apidoc\Returned("approve_status", type="integer", desc="审批状态:1=待审批,2=审批中,3=审批同意,4=审批驳回")
+     */
+    public function get_info()
+    {
+        $id = input('approve_id') ?: 0;
+        $user = $this->user;
+        $info = ApproveService::get_detail($id, $user, 'approve','info');
+        $this->success('信息', $info);
+    }
+
+    /**
+     * 审批
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
+     * @Apidoc\Param("status", type="integer",require=true, desc="审批状态:3=审批同意,4=审批驳回")
+     * @Apidoc\Param("remark", type="sting",require=false, desc="审批意见")
+     * @Apidoc\Param("maintain_user_id", type="sting",require=false, desc="维修人员ID status=3必传")
+     **/
+    public function audit()
+    {
+        $id = input('approve_id') ?: 0;
+        $status = input('status') ?: 0;
+        $remark = input('remark') ?: '';
+        $maintain_user_id = input('maintain_user_id') ?: 0;
+        $params = compact("status", "remark", "maintain_user_id");
+        $user = $this->user;
+        ApproveService::make($id, $params, $user, 'audit');
+        $this->success('确认成功');
+    }
+
+    /**
+     * 上传反馈结果
+     *
+     * @Apidoc\Desc("维修模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
+     * @Apidoc\Param("feedback", type="sting",require=true, desc="反馈结果")
+     * @Apidoc\Param("feedback_images", type="sting",require=false, desc="反馈图片(多个用英文逗号隔开)")
+     **/
+    public function feedback()
+    {
+        $id = input('approve_id') ?: 0;
+        $feedback = input('feedback') ?: '';
+        $feedback_images = input('feedback_images') ?: '';
+        $params = compact("feedback", "feedback_images");
+        $user = $this->user;
+        ApproveService::make($id, $params, $user, 'feedback');
+        $this->success('提交成功');
+    }
+
+}

+ 49 - 0
application/api/controller/Approveflow.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\service\ApproveFlowService;
+use hg\apidoc\annotation as Apidoc;
+
+/**
+ * @Apidoc\Title("审批流程")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("10")
+ */
+class Approveflow extends Base
+{
+    public function initialize()
+    {
+        parent::initialize();
+        parent::checkLogin();
+    }
+
+    /**
+     * 审批流程
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Param("flow_item", type="integer", require=false, desc="审批流项:module=5出差类型,module=6请假周期,module=8维修类型")
+     * @Apidoc\Returned("approve_user", type="array", desc="审批人列表",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像"),
+     *     @Apidoc\Returned("name", type="string", desc="姓名"),
+     * )
+     * @Apidoc\Returned("copy_user", type="array", desc="抄送人列表",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像"),
+     *     @Apidoc\Returned("name", type="string", desc="姓名"),
+     * )
+     * @Apidoc\Returned("is_copy", type="integer", desc="是否允许用户自己添加抄送人 0=否,1=是")
+     */
+    public function get_data()
+    {
+        $module = input('module') ?: 0;
+        $flow_item = input('flow_item') ?: 0;
+        $user = $this->user;
+        $data = ApproveFlowService::get_data($module, $flow_item,$user);
+        $this->success(CommonConstant::get_module_list()[$module] .'审批流程', $data);
+    }
+
+}

+ 624 - 0
application/api/controller/Approveinfo.php

@@ -0,0 +1,624 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\service\ApproveService;
+use app\common\service\ApproveInfoService;
+use hg\apidoc\annotation as Apidoc;
+
+/**
+ * @Apidoc\Title("审批申请")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("11")
+ */
+class Approveinfo extends Base
+{
+    public function initialize()
+    {
+        parent::initialize();
+        parent::checkLogin();
+    }
+
+    /**
+     * 提交
+     *
+     * @Apidoc\Desc("申请/重新发起/审批人修改")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("way", type="string", require=true, desc="方式:create=申请,update=重新发起,edit=审批人修改")
+     * @Apidoc\Param("id", type="integer", require=true, desc="ID way=cretae 不传值或传0,way=update 传值申请信息接口的id,way=edit 传值审批详情接口的approve_id")
+     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Param("apply_user_id", type="string", require=false, desc="申请人 module=5,module=6,module=7")
+     * @Apidoc\Param("reason", type="string", require=false, desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=10文件名称,module=11文件名称")
+     * @Apidoc\Param("type", type="integer", require=false, desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型 如果是重新发起和审批人修改 不能修改")
+     * @Apidoc\Param("desc", type="string", require=false, desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")
+     * @Apidoc\Param("start_time", type="string", require=false, desc="module=5出差开始时间,module=6请假开始时间,module=7出发时间,module=1预计申购完成日期(日期),module=10收文日期(日期),module=11拟发文时间(日期)")
+     * @Apidoc\Param("end_time", type="string", require=false, desc="module=5出差结束时间,module=6请假结束时间,module=7返回时间")
+     * @Apidoc\Param("document", type="array", require=false, desc="module=1,module=2,module=3,module=4,module=5,module=6,module=7,module=9,module=10,module=11 附件",
+     *     @Apidoc\Param("fullurl", type="string", require=true, desc="文件地址"),
+     *     @Apidoc\Param("name", type="string", require=true, desc="文件名称"),
+     *     @Apidoc\Param("size", type="string", require=true, desc="文件大小"),
+     * )
+     * @Apidoc\Param("images", type="string", require=false, desc="module=1,module=3,module=5,module=6,module=7,module=8 图片(多个用英文逗号隔开)")
+     * @Apidoc\Param("remark", type="string", require=false, desc="module=2申请内容,module=3其它补充说明,module=4其它补充说明,module=5备注,module=6是否离深,module=9备注说明,module=10内容摘要,module=11上会情况")
+     * @Apidoc\Param("total_amount", type="string", require=false, desc="module=1总金额")
+     * @Apidoc\Param("pay_type", type="integer", require=false, desc="module=1支付方式")
+     * @Apidoc\Param("word_size", type="integer", require=false, desc="module=2发文字号")
+     * @Apidoc\Param("number", type="integer", require=false, desc="module=2印制份数,module=9印制份数")
+     * @Apidoc\Param("apply_id", type="integer", require=false, desc="module=3采购审批单ID,module=9采购申请ID 没有传0")
+     * @Apidoc\Param("is_who", type="integer", require=false, desc="module=5是否跨关内关外:0=否,1=是 type=1")
+     * @Apidoc\Param("start_am", type="string", require=false, desc="module=6开始时间段(上午或下午)")
+     * @Apidoc\Param("end_am", type="string", require=false, desc="module=6结束时间段(上午或下午)")
+     * @Apidoc\Param("time", type="string", require=false, desc="module=6请假时长")
+     * @Apidoc\Param("reach_address", type="string", require=false, desc="module=7到达地点")
+     * @Apidoc\Param("end_address", type="string", require=false, desc="module=7返回地点")
+     * @Apidoc\Param("scope", type="string", require=false, desc="module=9发放范围")
+     * @Apidoc\Param("legal_opinion", type="string", require=false, desc="module=9法务意见")
+     * @Apidoc\Param("founder", type="string", require=false, desc="module=10创建人")
+     * @Apidoc\Param("serial_number", type="string", require=false, desc="module=10收文序号,module=11文件号")
+     * @Apidoc\Param("degree", type="string", require=false, desc="module=10缓急程度")
+     * @Apidoc\Param("department", type="string", require=false, desc="module=11拟稿部门")
+     * @Apidoc\Param("department_sign", type="string", require=false, desc="module=11落款")
+     * @Apidoc\Param("approve_user", type="string", require=true, desc="审批人id(多个用英文逗号隔开)")
+     * @Apidoc\Param("copy_user", type="string", require=false, desc="抄送人id(多个用英文逗号隔开)")
+     * @Apidoc\Param("apply_goods", type="array", require=false, desc="module=1 && type=1 必传申购物品数据",
+     *     @Apidoc\Param("flag", type="integer", require=true, desc="标识:1=添加新商品,2=批量导入,3=商品库选择"),
+     *     @Apidoc\Param("goods_id", type="integer", require=false, desc="商品ID flag=3传值"),
+     *     @Apidoc\Param("goods_category_first", type="integer", require=false, desc="商品分类一级ID"),
+     *     @Apidoc\Param("goods_category_id", type="integer", require=false, desc="商品分类ID"),
+     *     @Apidoc\Param("goods_no", type="string", require=false, desc="商品编号"),
+     *     @Apidoc\Param("goods_name", type="string", require=true, desc="商品名称"),
+     *     @Apidoc\Param("goods_brand", type="string", require=false, desc="商品品牌"),
+     *     @Apidoc\Param("goods_stock", type="array", require=true, desc="规格列表",
+     *          @Apidoc\Param("id", type="integer", require=false,desc="规格ID flag=3传值"),
+     *          @Apidoc\Param("name", type="string", require=true,desc="规格名称"),
+     *          @Apidoc\Param("price", type="integer", require=true,desc="单价"),
+     *          @Apidoc\Param("stock", type="integer", require=true,desc="数量"),
+     *     ),
+     * )
+     * @Apidoc\Param("stock_goods", type="array", require=false, desc="module=3 必传入库物品数据",
+     *     @Apidoc\Param("flag", type="integer", require=true, desc="标识:1=添加新商品,2=批量导入,3=商品库选择"),
+     *     @Apidoc\Param("goods_id", type="integer", require=false, desc="商品ID flag=3传值"),
+     *     @Apidoc\Param("goods_category_first", type="integer", require=false, desc="商品分类一级ID"),
+     *     @Apidoc\Param("goods_category_id", type="integer", require=false, desc="商品分类ID"),
+     *     @Apidoc\Param("goods_no", type="string", require=false, desc="商品编号"),
+     *     @Apidoc\Param("goods_name", type="string", require=true, desc="商品名称"),
+     *     @Apidoc\Param("goods_brand", type="string", require=false, desc="商品品牌"),
+     *     @Apidoc\Param("goods_stock", type="array", require=true, desc="规格列表",
+     *          @Apidoc\Param("id", type="integer", require=false,desc="规格ID flag=3传值"),
+     *          @Apidoc\Param("name", type="string", require=true,desc="规格名称"),
+     *          @Apidoc\Param("price", type="integer", require=true,desc="单价"),
+     *          @Apidoc\Param("stock", type="integer", require=true,desc="数量"),
+     *     ),
+     * )
+     * @Apidoc\Param("use_goods", type="array", require=false, desc="module=4 必传领用物品数据",
+     *     @Apidoc\Param("flag", type="integer", require=true, desc="标识:2=批量导入,3=商品库选择"),
+     *     @Apidoc\Param("goods_id", type="integer", require=false, desc="商品ID flag=3传值"),
+     *     @Apidoc\Param("goods_category_first", type="integer", require=false, desc="商品分类一级ID"),
+     *     @Apidoc\Param("goods_category_id", type="integer", require=false, desc="商品分类ID"),
+     *     @Apidoc\Param("goods_no", type="string", require=false, desc="商品编号"),
+     *     @Apidoc\Param("goods_name", type="string", require=true, desc="商品名称"),
+     *     @Apidoc\Param("goods_stock", type="array", require=true, desc="规格列表",
+     *          @Apidoc\Param("id", type="integer", require=false,desc="规格ID flag=3传值"),
+     *          @Apidoc\Param("name", type="string", require=true,desc="规格名称"),
+     *          @Apidoc\Param("stock", type="integer", require=true,desc="数量"),
+     *     ),
+     * )
+     * @Apidoc\Param("peer_user", type="array", require=false, desc="module=5 传同行员工数据",
+     *     @Apidoc\Param("is_who", type="integer", require=true, desc="是否外部人员:0=否,1=是"),
+     *     @Apidoc\Param("user_id", type="string", require=false, desc="用户userid"),
+     *     @Apidoc\Param("name", type="string", require=true, desc="姓名"),
+     *     @Apidoc\Param("desc", type="string", require=false, desc="备注"),
+     * )
+     */
+    public function create()
+    {
+        // {"way":"create","id":"","module":"1","apply_user_id":"","reason":"测试","type":"1","desc":"","start_time":"","end_time":"","document":"","images":"","remark":"","total_amount":"1000","pay_type":"1","word_size":"","apply_id":"0","number":"","is_who":"","start_am":"","end_am":"","time":"","reach_address":"","end_address":"","scope":"","legal_opinion":"","founder":"","serial_number":"","degree":"","department":"","department_sign":"","approve_user":"165504226724607116","copy_user":"","apply_goods":[{"flag":"3","goods_id":"1","goods_category_first":"1","goods_category_id":"3","goods_no":"100001","goods_name":"医疗口罩一次性","goods_brand":"一次性口罩","goods_stock":[{"id":"1","name":"均码,白色","price":"1","stock":"110"},{"id":"2","name":"均码,蓝色","price":"1","stock":"100"},{"id":"19","name":"均码,红色","price":"1","stock":"120"}]},{"flag":"3","goods_id":"2","goods_category_first":"1","goods_category_id":"3","goods_no":"100002","goods_name":"84消毒液","goods_brand":"安其生","goods_stock":[{"id":"3","name":"380ml,低浓度","price":"1","stock":"110"},{"id":"4","name":"380ml,高浓度","price":"1","stock":"100"}]},{"flag":"1","goods_id":"","goods_category_first":"1","goods_category_id":"3","goods_no":"100003","goods_name":"一次性手套丁腈橡胶","goods_brand":"万力","goods_stock":[{"name":"白色","price":"0.2","stock":"110"},{"name":"蓝色","price":"0.2","stock":"100"}]}],"peer_user":[{"is_who":"","user_id":"","name":"","desc":""}]}
+
+        // {"way":"create","id":"","module":"3","apply_user_id":"","reason":"测试","type":"","desc":"","start_time":"","end_time":"","document":"","images":"","remark":"入库备注","total_amount":"","pay_type":"","word_size":"","apply_id":"0","number":"","is_who":"","start_am":"","end_am":"","time":"","reach_address":"","end_address":"","scope":"","legal_opinion":"","founder":"","serial_number":"","degree":"","department":"","department_sign":"","approve_user":"1925696723824730358","copy_user":"","stock_goods":[{"goods_id":"1","goods_category_first":"1","goods_category_id":"3","goods_no":"100001","goods_name":"医疗口罩一次性","goods_brand":"一次性口罩","goods_stock":[{"id":"1","name":"均码,白色","price":"1","stock":"110"},{"id":"2","name":"均码,蓝色","price":"1","stock":"100"},{"id":"19","name":"均码,红色","price":"1","stock":"120"}]},{"goods_id":"2","goods_category_first":"1","goods_category_id":"3","goods_no":"100002","goods_name":"84消毒液","goods_brand":"安其生","goods_stock":[{"id":"3","name":"380ml,低浓度","price":"1","stock":"110"},{"id":"4","name":"380ml,高浓度","price":"1","stock":"100"}]},{"goods_id":"","goods_category_first":"1","goods_category_id":"3","goods_no":"100003","goods_name":"一次性手套丁腈橡胶","goods_brand":"万力","goods_stock":[{"name":"白色","price":"0.2","stock":"110"},{"name":"蓝色","price":"0.2","stock":"100"}]}],"peer_user":[{"is_who":"","user_id":"","name":"","desc":""}]}
+        $way = input('way') ?: '';
+        $id = input('id') ?: 0;
+        $module = input('module') ?: 0;
+        $apply_user_id = input('apply_user_id') ?: '';
+        $reason = input('reason') ?: '';
+        $type = input('type') ?: 0;
+        $desc = input('desc') ?: '';
+        $start_time = input('start_time');
+        $end_time = input('end_time');
+        $document = input('document') ?: '';
+        $document = $document ? json_encode($document,JSON_UNESCAPED_UNICODE) : '';
+        $images = input('images') ?: '';
+        $remark = input('remark') ?: '';
+        $total_amount = input('total_amount') ?: 0;
+        $pay_type = input('pay_type') ?: 0;
+        $word_size = input('word_size') ?: 0;
+        $apply_id = input('apply_id') ?: 0;
+        $number = input('number') ?: 0;
+        $is_who = input('is_who') ?: 0;
+        $start_am = input('start_am') ?: '';
+        $end_am = input('end_am') ?: '';
+        $time = input('time') ?: 0;
+        $reach_address = input('reach_address') ?: '';
+        $end_address = input('end_address') ?: '';
+        $scope = input('scope') ?: '';
+        $legal_opinion = input('legal_opinion') ?: '';
+        $founder = input('founder') ?: '';
+        $serial_number = input('serial_number') ?: '';
+        $degree = input('degree') ?: 0;
+        $department = input('department') ?: '';
+        $department_sign = input('department_sign') ?: '';
+        $approve_user = input('approve_user') ?: '';
+        $copy_user = input('copy_user') ?: '';
+        $apply_goods = input('apply_goods') ?: [];
+        $stock_goods = input('stock_goods') ?: [];
+        $use_goods = input('use_goods') ?: [];
+        $peer_user = input('peer_user') ?: [];
+        $params = compact("way", "id", "module", "apply_user_id", "reason", "type", "desc", "start_time", "end_time", "document", "images", "remark", "total_amount", "pay_type", "word_size", "apply_id", "number", "is_who", "start_am", "end_am", "time", "reach_address", "end_address", "scope", "legal_opinion", "founder", "serial_number", "degree", "department", "department_sign", "approve_user", "copy_user", "apply_goods", "stock_goods", "use_goods", "peer_user");
+        $user = $this->user;
+        if ($way == CommonConstant::edit) {
+            ApproveService::make($id, $params, $user, $way);
+            $this->success('修改成功');
+        } else {
+            ApproveInfoService::create($id, $module, $params, $user, $way);
+            $this->success('申请已提交,请等待审批');
+        }
+    }
+
+    /**
+     * 列表
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("page", type="integer",require=true, desc="页数")
+     * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
+     * @Apidoc\Param("group", type="integer", require=true, desc="类别:list=我的申请记录,form=采购审批单 默认list")
+     * @Apidoc\Param("module", type="integer", require=false, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Param("status", type="integer", require=false, desc="审批状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Param("search", type="string", require=false, desc="搜索 事由 编号")
+     * @Apidoc\Param("start_time", type="string", require=false, desc="申请开始时间")
+     * @Apidoc\Param("end_time", type="string", require=false, desc="申请结束时间")
+     * @Apidoc\Returned("id", type="integer", desc="申请ID")
+     * @Apidoc\Returned("module", type="integer", desc="模块类型")
+     * @Apidoc\Returned("status", type="integer", desc="审批状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("create_at", type="string", desc="创建时间")
+     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
+     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
+     * @Apidoc\Returned("reason", type="string", desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=9合同编号,module=10文件名称,module=11文件名称")
+     * @Apidoc\Returned("type", type="string", desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型")
+     * @Apidoc\Returned("desc", type="string", desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")
+     * @Apidoc\Returned("start_time", type="string", desc="module=5出差开始时间,module=6请假开始时间,module=7出发时间,module=1预计申购完成日期(日期),module=10收文日期(日期),module=11拟发文时间(日期)")
+     * @Apidoc\Returned("end_time", type="string", desc="module=5出差结束时间,module=6请假结束时间,module=7返回时间")
+     * @Apidoc\Returned("approve_one", type="object", desc="审批人信息 status=2,4",
+     *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
+     *     @Apidoc\Returned("user", type="object", desc="审批人信息",
+     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *          @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *      ),
+     * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1 && type=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("stock_goods", type="array", desc="入库商品列表 module=3",
+     *     @Apidoc\Returned("id", type="integer", desc="入库商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("use_goods", type="array", desc="领用商品列表 module=4",
+     *     @Apidoc\Returned("id", type="integer", desc="领用商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
+     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("name", type="string", desc="姓名"),
+     * )
+     */
+    public function get_list()
+    {
+        $group = input('group') ?: 'list';
+        $module = input('module') ?: 0;
+        $status = input('status') ?: 0;
+        $search = input('search') ?: '';
+        $start_time = input('start_time') ?: '';
+        $end_time = input('end_time') ?: '';
+        $offset = $this->off_set;
+        $length = $this->page_num;
+        $user = $this->user;
+        $list = ApproveInfoService::get_list($group, $module, $status, $search, $start_time, $end_time,$offset, $length, $user);
+        $this->success($group == 'form' ? '采购审批单' : '我的申请记录', $list);
+    }
+
+    /**
+     * 详情
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     * @Apidoc\Returned("id", type="integer", desc="申请ID")
+     * @Apidoc\Returned("module", type="integer", desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Returned("module_id", type="integer", desc="对应模块ID")
+     * @Apidoc\Returned("status", type="integer", desc="审批状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("create_at", type="string", desc="创建时间")
+     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
+     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
+     * @Apidoc\Returned("reason", type="string", desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=9合同编号,module=10文件名称,module=11文件名称")
+     * @Apidoc\Returned("type", type="string", desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型")
+     * @Apidoc\Returned("desc", type="string", desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")
+     * @Apidoc\Returned("start_time", type="string", desc="module=5出差开始时间,module=6请假开始时间,module=7出发时间,module=1预计申购完成日期(日期),module=10收文日期(日期),module=11拟发文时间(日期)")
+     * @Apidoc\Returned("end_time", type="string", desc="module=5出差结束时间,module=6请假结束时间,module=7返回时间")
+     * @Apidoc\Returned("module_info1", type="object", desc="申购申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("reason", type="string", desc="申购事由"),
+     *     @Apidoc\Returned("type", type="integer", desc="采购类型:1=货物采购,2=工程采购,3=服务采购"),
+     *     @Apidoc\Returned("total_amount", type="integer", desc="总金额"),
+     *     @Apidoc\Returned("start_time", type="string", desc="预计申购完成日期(日期)"),
+     *     @Apidoc\Returned("pay_type", type="integer", desc="支付方式:1=自行采购,2=学校采购"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     * )
+     * @Apidoc\Returned("module_info2", type="object", desc="呈批申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("type", type="integer", desc="呈批类型:1=采购类呈批,2=非采购类呈批"),
+     *     @Apidoc\Returned("word_size", type="integer", desc="发文字号"),
+     *     @Apidoc\Returned("desc", type="integer", desc="缓急程度:1=普通,2=紧急,3=特急"),
+     *     @Apidoc\Returned("number", type="integer", desc="印制份数"),
+     *     @Apidoc\Returned("reason", type="string", desc="申请标题"),
+     *     @Apidoc\Returned("remark", type="string", desc="申请内容"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     * )
+     * @Apidoc\Returned("module_info3", type="object", desc="入库申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("total_amount", type="integer", desc="总金额"),
+     *     @Apidoc\Returned("remark", type="string", desc="申请内容"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     * )
+     * @Apidoc\Returned("module_info4", type="object", desc="领用申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("reason", type="string", desc="物品用途"),
+     *     @Apidoc\Returned("remark", type="string", desc="申请内容"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     * )
+     * @Apidoc\Returned("module_info5", type="object", desc="出差申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("reason", type="string", desc="事由"),
+     *     @Apidoc\Returned("start_time", type="string", desc="出差开始时间(年月日时分)"),
+     *     @Apidoc\Returned("end_time", type="string", desc="出差结束时间(年月日时分)"),
+     *     @Apidoc\Returned("type", type="integer", desc="出差类型:1=市内出差,2=市外出差,3=市内出差(需要报销)"),
+     *     @Apidoc\Returned("is_who", type="integer", desc="是否跨关内关外:0=否,1=是"),
+     *     @Apidoc\Returned("remark", type="string", desc="备注"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     * )
+     * @Apidoc\Returned("module_info6", type="object", desc="请假申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("type", type="integer", desc="请假类型:1=事假,2=病假,3=产假,4=婚假,5=陪产假,6=丧假,7=离深报批报备"),
+     *     @Apidoc\Returned("start_time", type="string", desc="请假开始时间(日期)"),
+     *     @Apidoc\Returned("end_time", type="string", desc="请假结束时间(日期)"),
+     *     @Apidoc\Returned("start_am", type="string", desc="开始时间段(上午或下午)"),
+     *     @Apidoc\Returned("end_am", type="string", desc="结束时间段(上午或下午)"),
+     *     @Apidoc\Returned("time", type="integer", desc="请假时长(天数)"),
+     *     @Apidoc\Returned("reason", type="string", desc="请假原因"),
+     *     @Apidoc\Returned("remark", type="string", desc="是否离深"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     * )
+     * @Apidoc\Returned("module_info7", type="object", desc="用车申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("reason", type="string", desc="出发地点"),
+     *     @Apidoc\Returned("start_time", type="string", desc="出发时间(年月日时分)"),
+     *     @Apidoc\Returned("reach_address", type="string", desc="到达地点"),
+     *     @Apidoc\Returned("end_time", type="string", desc="返回时间(年月日时分)"),
+     *     @Apidoc\Returned("end_address", type="string", desc="返回地点"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     ),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     * )
+     * @Apidoc\Returned("module_info8", type="object", desc="维修申请",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("type", type="integer", desc="维修类型:1=物业维修,2=电教网络维修"),
+     *     @Apidoc\Returned("reason", type="string", desc="维修地点"),
+     *     @Apidoc\Returned("desc", type="string", desc="具体内容"),
+     *     @Apidoc\Returned("maintain_user_id", type="integer", desc="维修人员ID"),
+     *     @Apidoc\Returned("feedback_status", type="integer", desc="反馈状态:0=未反馈,1=已反馈"),
+     *     @Apidoc\Returned("feedback", type="string", desc="反馈结果"),
+     *     @Apidoc\Returned("comment_status", type="integer", desc="评价状态:0=未评价,1=已评价"),
+     *     @Apidoc\Returned("comment_score", type="integer", desc="满意程度"),
+     *     @Apidoc\Returned("comment", type="string", desc="评价内容"),
+     *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
+     *     @Apidoc\Returned("feedback_images_text", type="array", desc="反馈图片列表"),
+     * )
+     * @Apidoc\Returned("module_info9", type="object", desc="合同呈批",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("type", type="integer", desc="合同类型:1=采购类01,2=收款类02,3=非经济类03"),
+     *     @Apidoc\Returned("reason", type="string", desc="合同编号"),
+     *     @Apidoc\Returned("desc", type="integer", desc="缓急程度:1=普通,2=紧急,3=特急"),
+     *     @Apidoc\Returned("number", type="integer", desc="印制份数"),
+     *     @Apidoc\Returned("scope", type="string", desc="发放范围"),
+     *     @Apidoc\Returned("legal_opinion", type="string", desc="法务意见"),
+     *     @Apidoc\Returned("remark", type="string", desc="备注说明"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     )
+     * )
+     * @Apidoc\Returned("module_info10", type="object", desc="收文批阅",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("founder", type="string", desc="创建人"),
+     *     @Apidoc\Returned("desc", type="string", desc="来文单位名称"),
+     *     @Apidoc\Returned("serial_number", type="string", desc="收文序号"),
+     *     @Apidoc\Returned("reason", type="string", desc="文件名称"),
+     *     @Apidoc\Returned("start_time", type="string", desc="收文日期(日期)"),
+     *     @Apidoc\Returned("remark", type="string", desc="内容摘要"),
+     *     @Apidoc\Returned("degree", type="integer", desc="缓急程度:1=普通,2=紧急,3=特急"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     )
+     * )
+     * @Apidoc\Returned("module_info11", type="object", desc="学校文件",
+     *     @Apidoc\Returned("id", type="integer", desc="模块ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("department", type="string", desc="拟稿部门"),
+     *     @Apidoc\Returned("reason", type="string", desc="文件名称"),
+     *     @Apidoc\Returned("department_sign", type="string", desc="落款"),
+     *     @Apidoc\Returned("remark", type="string", desc="上会情况"),
+     *     @Apidoc\Returned("desc", type="integer", desc="缓急程度:1=普通,2=紧急,3=特急"),
+     *     @Apidoc\Returned("start_time", type="string", desc="拟发文时间(日期)"),
+     *     @Apidoc\Returned("serial_number", type="string", desc="文件号"),
+     *     @Apidoc\Returned("document_text", type="array", desc="附件列表",
+     *          @Apidoc\Returned("fullurl", type="string", require=true, desc="文件地址"),
+     *          @Apidoc\Returned("name", type="string", require=true, desc="文件名称"),
+     *          @Apidoc\Returned("size", type="string", require=true, desc="文件大小")
+     *     )
+     * )
+     * @Apidoc\Returned("approve", type="array", desc="审批信息",
+     *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("status", type="integer", desc="审批状态:1=待审批,2=审批中,3=审批通过,4=审批拒绝"),
+     *     @Apidoc\Returned("group", type="integer", desc="类别:0=审批人,1=发起人"),
+     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
+     *     @Apidoc\Returned("approve_flow", type="integer", desc="流程批次"),
+     *     @Apidoc\Returned("approve_time", type="string", desc="审批时间"),
+     *     @Apidoc\Returned("remark", type="string", desc="审批备注"),
+     *     @Apidoc\Returned("time", type="string", desc="审批时长(上一次审批完成到本次审批的时间,单位秒)"),
+     *     @Apidoc\Returned("time_text", type="string", desc="审批时长文本"),
+     *     @Apidoc\Returned("user", type="object", desc="审批人信息",
+     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *          @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *          @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     *      ),
+     * )
+     * @Apidoc\Returned("approve_copy", type="array", desc="抄送信息",
+     *     @Apidoc\Returned("id", type="integer", desc="抄送ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("approve_flow", type="integer", desc="流程批次"),
+     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
+     *     @Apidoc\Returned("user", type="object", desc="抄送人信息",
+     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *          @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *          @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     *      ),
+     * )
+     * @Apidoc\Returned("department_data", type="array", desc="申请人所在部门列表",
+     *     @Apidoc\Returned("dept_id", type="string", desc="部门ID"),
+     *     @Apidoc\Returned("name", type="string", desc="部门名称"),
+     * )
+     * @Apidoc\Returned("create_user", type="object", desc="提交人信息",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     * )
+     * @Apidoc\Returned("apply_user", type="object", desc="申请人信息",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1 && type=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     *     @Apidoc\Returned("total_amount", type="string", desc="总金额"),
+     * )
+     * @Apidoc\Returned("stock_goods", type="array", desc="入库商品列表 module=3",
+     *     @Apidoc\Returned("id", type="integer", desc="入库商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("use_goods", type="array", desc="领用商品列表 module=4",
+     *     @Apidoc\Returned("id", type="integer", desc="领用商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
+     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("name", type="string", desc="姓名"),
+     * )
+     * @Apidoc\Returned("contract", type="array", desc="关联的合同呈批申请 module=1",
+     *     @Apidoc\Returned("id", type="integer", desc="ID"),
+     *     @Apidoc\Returned("reason", type="string", desc="合同编号"),
+     * )
+     * @Apidoc\Returned("apply", type="array", desc="关联的申购申请单 module=3,9 && apply_id > 0",
+     *     @Apidoc\Returned("id", type="integer", desc="ID"),
+     *     @Apidoc\Returned("order_no", type="string", desc="审批编号"),
+     * )
+     */
+    public function get_detail()
+    {
+        $id = input('id') ?: 0;
+        $user = $this->user;
+        $data = ApproveInfoService::get_detail($id, $user, CommonConstant::IS_WHO_1, 'detail');
+        $this->success('详情', $data);
+    }
+
+    /**
+     * 信息
+     *
+     * @Apidoc\Desc("重新发起信息")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     * @Apidoc\Returned("id", type="integer", desc="申请ID")
+     * @Apidoc\Returned("module", type="integer", desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Returned("module_id", type="integer", desc="对应模块ID")
+     * @Apidoc\Returned("status", type="integer", desc="审批状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("create_at", type="string", desc="创建时间")
+     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
+     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
+     * @Apidoc\Returned("reason", type="string", desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=9合同编号,module=10文件名称,module=11文件名称")
+     * @Apidoc\Returned("type", type="string", desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型")
+     * @Apidoc\Returned("desc", type="string", desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")
+     * @Apidoc\Returned("start_time", type="string", desc="module=5出差开始时间,module=6请假开始时间,module=7出发时间,module=1预计申购完成日期(日期),module=10收文日期(日期),module=11拟发文时间(日期)")
+     * @Apidoc\Returned("end_time", type="string", desc="module=5出差结束时间,module=6请假结束时间,module=7返回时间")
+     * @Apidoc\Returned("create_user", type="object", desc="提交人信息",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     * )
+     * @Apidoc\Returned("apply_user", type="object", desc="申请人信息",
+     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *     @Apidoc\Returned("avatar", type="string", desc="头像地址"),
+     * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1 && type=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     *     @Apidoc\Returned("total_amount", type="string", desc="总金额"),
+     * )
+     * @Apidoc\Returned("stock_goods", type="array", desc="入库商品列表 module=3",
+     *     @Apidoc\Returned("id", type="integer", desc="入库商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("use_goods", type="array", desc="领用商品列表 module=4",
+     *     @Apidoc\Returned("id", type="integer", desc="领用商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
+     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
+     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("is_who", type="integer", desc="是否外部人员:0=否,1=是"),
+     *     @Apidoc\Returned("user_id", type="string", desc="用户userid"),
+     *     @Apidoc\Returned("name", type="string", desc="用户姓名"),
+     *     @Apidoc\Returned("desc", type="string", desc="备注"),
+     * )
+     * @Apidoc\Returned("apply", type="array", desc="关联的申购申请单 module=3,9 && apply_id > 0",
+     *     @Apidoc\Returned("id", type="integer", desc="ID"),
+     *     @Apidoc\Returned("order_no", type="string", desc="审批编号"),
+     * )
+     **/
+    public function get_info()
+    {
+        $id = input('id') ?: 0;
+        $user = $this->user;
+        $data = ApproveInfoService::get_detail($id, $user, CommonConstant::IS_WHO_1, 'info');
+        $this->success('信息', $data);
+    }
+
+    /**
+     * 催办
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     */
+    public function urging()
+    {
+        $id = input('id') ?: 0;
+        $user = $this->user;
+        ApproveInfoService::make($id, [], $user, 'urging');
+        $this->success('催办成功');
+    }
+
+    /**
+     * 撤销
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     */
+    public function cancel()
+    {
+        $id = input('id') ?: 0;
+        $user = $this->user;
+        ApproveInfoService::make($id, [], $user, 'cancel');
+        $this->success('撤销成功');
+    }
+
+    /**
+     * 评分
+     *
+     * @Apidoc\Desc("维修模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     * @Apidoc\Param("comment_score", type="sting",require=true, desc="满意程度 评分1-5")
+     * @Apidoc\Param("comment", type="sting",require=false, desc="评价内容")
+     **/
+    public function comment()
+    {
+        $id = input('id') ?: 0;
+        $comment_score = input('comment_score') ?: 0;
+        $comment = input('comment') ?: '';
+        $params = compact("comment_score", "comment");
+        $user = $this->user;
+        ApproveInfoService::make($id, $params, $user, 'comment');
+        $this->success('评价成功');
+    }
+
+    /**
+     * 下载文件pdf
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
+     * @Apidoc\Returned("url", type="string", desc="/upload/pdf/20240113/20240113202401131733211705138401.pdf")
+     * @Apidoc\Returned("fullurl", type="string", desc="https://www.dingding.com/upload/pdf/20240113/20240113202401131733211705138401.pdf")
+     **/
+    public function download(){
+        $id = input('id') ?: 0;
+        $data = ApproveInfoService::download($id);
+        $this->success('success',$data);
+    }
+
+}

+ 0 - 1
application/api/controller/Area.php

@@ -19,7 +19,6 @@ use think\Db;
 use hg\apidoc\annotation as Apidoc;
 /**
  * @Apidoc\Title("地址库")
- * @Apidoc\Group("api")
  */
 class Area extends Base
 {

+ 221 - 98
application/api/controller/Base.php

@@ -14,13 +14,19 @@
 // +----------------------------------------------------------------------
 
 namespace app\api\controller;
+
+use AlibabaCloud\SDK\Dingtalk\Vworkflow_1_0\Models\GetProcessConfigResponseBody\result\commentConf;
+use app\common\constant\CommonConstant;
+use app\common\model\User;
 use Firebase\JWT\JWT;
+use hg\apidoc\providers\CommonService;
 use think\Controller;
 use think\Db;
 use think\Exception;
 use think\exception\HttpResponseException;
-use think\Request;
+use think\Loader;
 use think\Response;
+use think\Validate;
 use function AlibabaCloud\Client\value;
 
 /**
@@ -37,69 +43,97 @@ class Base extends Controller
     protected $off_set;
     protected $is_commit = true; // 事务是否提交
     protected $ret_msg = ''; // 返回提示信息
-    protected $is_test = false;
     protected $need_login = [];
-    public function initialize(){
-        $this->page = input('page',1);
-        $this->page_num = input('page_num',20);
-        $this->off_set   =   $this->page * $this->page_num - $this->page_num;
-        $this->is_test = input('test',0);// 测试用的
-        $path = explode('/',$this->request->path());
-        if( input('user_id')) $this->user_id = input('user_id');
-        if( input('user')) $this->user_id = input('user');
-        if(!empty($this->need_login) && in_array(end($path),$this->need_login)) $this->checkLogin();
+
+    public function initialize()
+    {
+        $modulename = $this->request->module();
+        $controllername = Loader::parseName($this->request->controller());
+        $actionname = strtolower($this->request->action());
+        $this->checking($modulename, $controllername, $actionname);
+
+        $this->page = input('page') ?: 1;
+        $this->page_num = input('page_num') ?: 20;
+        $this->off_set = ($this->page * $this->page_num) - $this->page_num;
+        $path = explode('/', $this->request->path());
+        if (!empty($this->need_login) && in_array(end($path), $this->need_login)) {
+            $this->checkLogin();
+        }
     }
-    //校验jwt权限API
+
+    /**
+     * 校验jwt权限API
+     **/
     protected function checkLogin()
     {
         $authorization = app()->request->header('Authorization');
-        if(empty($authorization) || $authorization == null){
-            if($this->is_test == 1) {
-                $this->user_id = input('user_id')  ? input('user_id') : 22;
-                if(input('user')) $this->user_id = input('user');
-                return true;
-            }
-            $this->error('Token不存在,拒绝访问--','',0,-1);
+        if (!$authorization) {
+            $this->error('请登录后操作', null, 0, -1);
         }
-        $key = md5(config('app.jwt'));
         try {
+            $key = md5(config('app.jwt'));
             $check_authorization = JWT::decode($authorization, $key, array('HS256'));
-            if($check_authorization['code'] !=200) $this->exception($check_authorization['msg']);
+            if ($check_authorization['code'] != 200) {
+                $this->exception($check_authorization['msg']);
+            }
             $authInfo = json_decode(json_encode($check_authorization['data']), true);
-            if (!empty($authInfo['uid'])) {
-                $member = Db::name('store_member')->where('id',$authInfo['uid'])->find();
-                if(empty($member) || $member['is_deleted'])  $this->error('会员不存在','',0);
-                //if(!empty($authInfo['facility_code']) && !in_array($authInfo['facility_code'],[$member['facility_1'],$member['facility_2'],$member['facility_3'],$member['facility_4'],$member['facility_5']]))    $this->error('该设备已被禁用','',0,-1);
-                if($member['status']){
-                    $this->user_id = $authInfo['uid'];
-                    $this->user = $member;
-                    return $this->user_id;
-                }else{
-                    $this->error('该会员已被禁用','',0,-1);
-                }
-            } else {
-                $this->error('Token验证不通过,用户不存在','',0,-1);
+            if (!$authInfo) {
+                $this->error('Token验证不通过,账号不存在', null, 0, -1);
+            }
+            $member = User::field('is_deleted', true)
+                ->where('is_deleted', CommonConstant::IS_DELETED_0)
+                ->find($authInfo['uid']);
+            if (!$member) {
+                $this->error('账号不存在', null, 0, -1);
+            }
+            if (!$member['status']) {
+                $this->error('账号已经被禁用', null, 0, -1);
             }
+            $this->user_id = $authInfo['uid'];
+            $this->user = $member;
+            return $this->user_id;
         } catch (\Exception $e) {
-            $this->error($e->getMessage(),'',0,-1);
+            $this->error($e->getMessage(), '', 0, -1);
         }
     }
 
+    /**
+     * token加密
+     **/
+    public function createJwt($uid, $facility_code = '')
+    {
+        $key = md5(config('app.jwt')); //jwt的签发密钥,验证token的时候需要用到
+        $time = time(); //签发时间
+        $expire = $time + config('app.jwt_time'); //过期时间
+        $token = array(
+            "uid" => $uid,
+            "iss" => "https://zain.com",//签发组织
+            "aud" => "https://zain.com", //签发作者
+            "iat" => $time,
+            "nbf" => $time,
+            "exp" => $expire,
+//            "facility_code" => $facility_code,
+        );
+        $jwt = JWT::encode($token, $key);
+        return $jwt;
+    }
+
 
-    protected function setUid(){
+    protected function setUid()
+    {
         $authorization = app()->request->header('Authorization');
         $key = md5(config('app.jwt'));
-        if(empty($authorization) || $authorization == null) return false;
+        if (empty($authorization) || $authorization == null) return false;
         try {
             $check_authorization = JWT::decode($authorization, $key, array('HS256'));
-            if($check_authorization['code'] !=200) $this->exception($check_authorization['msg']);
+            if ($check_authorization['code'] != 200) $this->exception($check_authorization['msg']);
             $authInfo = json_decode(json_encode($check_authorization['data']), true);
             if (!empty($authInfo['uid'])) {
-                $member = Db::name('store_member')->field('status')->where('id',$authInfo['uid'])->find();
-                if($member['status']){
+                $member = Db::name('store_member')->field('status')->where('id', $authInfo['uid'])->find();
+                if ($member['status']) {
                     $this->user_id = $authInfo['uid'];
                     $this->user_id;
-                    return  true;
+                    return true;
                 }
             }
         } catch (\Exception $e) {
@@ -108,63 +142,61 @@ class Base extends Controller
         }
     }
 
-    // 获取用户信息
-    function userInfo($field =''){
-        if(!$this->user_id)  return [];
-        return $field ?  Db::name('store_member')->field($field)->find($this->user_id) : Db::name('store_member')->find($this->user_id);
-    }
-
     // 验证短信验证码
-    protected function checkPhoneCode($phone,$code){
+    protected function checkPhoneCode($phone, $code)
+    {
         //return true;
-        $sel_time =date('Y-m-d H:i:s',time()-600);
+        $sel_time = date('Y-m-d H:i:s', time() - 600);
         $store_member_sms = Db::name('store_member_sms')
-            ->field('id,code')->where('phone',$phone)
-            ->where('create_at','> time',$sel_time)
-            ->where('used',0)->order('id desc')->find();
-        return !empty($store_member_sms) && $store_member_sms['code'] == $code ? $store_member_sms['id'] :0;
+            ->field('id,code')->where('phone', $phone)
+            ->where('create_at', '> time', $sel_time)
+            ->where('used', 0)->order('id desc')->find();
+        return !empty($store_member_sms) && $store_member_sms['code'] == $code ? $store_member_sms['id'] : 0;
     }
 
     // 更新验证码状态
-    protected function updatePhoneCode($code_id){
-        Db::name('store_member_sms')->where('id',$code_id)->update(['used'=>1]);
+    protected function updatePhoneCode($code_id)
+    {
+        Db::name('store_member_sms')->where('id', $code_id)->update(['used' => 1]);
     }
+
     /**
      * 操作成功返回的数据
-     * @param string $msg   提示信息
-     * @param mixed $data   要返回的数据
-     * @param int   $code   错误码,默认为1
-     * @param string $type  输出类型
+     * @param string $msg 提示信息
+     * @param mixed $data 要返回的数据
+     * @param int $code 错误码,默认为1
+     * @param string $type 输出类型
      * @param array $header 发送的 Header 信息
      */
-    protected function success($msg = 'ok', $data = null , $is_login = 1, $code = 1, $type = null, array $header = [])
+    protected function success($msg = 'ok', $data = null, $is_login = 1, $code = 1, $type = null, array $header = [])
     {
         $this->results($msg, $data, $is_login, $code, $type, $header);
     }
 
     /**
      * 操作失败返回的数据
-     * @param string $msg   提示信息
-     * @param mixed $data   要返回的数据
-     * @param int   $code   错误码,默认为0
-     * @param string $type  输出类型
+     * @param string $msg 提示信息
+     * @param mixed $data 要返回的数据
+     * @param int $code 错误码,默认为0
+     * @param string $type 输出类型
      * @param array $header 发送的 Header 信息
      */
     protected function error($msg = '', $data = null, $is_login = 1, $code = 0, $type = null, array $header = [])
     {
-        if(empty($this->user_id)){
+        if (empty($this->user_id)) {
             $is_login = 0;
         }
         $this->results($msg, $data, $is_login, $code, $type, $header);
     }
+
     /**
      * 返回封装后的 API 数据到客户端
      * @access protected
-     * @param mixed  $msg    提示信息
-     * @param mixed  $data   要返回的数据
-     * @param int    $code   错误码,默认为0
-     * @param string $type   输出类型,支持json/xml/jsonp
-     * @param array  $header 发送的 Header 信息
+     * @param mixed $msg 提示信息
+     * @param mixed $data 要返回的数据
+     * @param int $code 错误码,默认为0
+     * @param string $type 输出类型,支持json/xml/jsonp
+     * @param array $header 发送的 Header 信息
      * @return void
      * @throws HttpResponseException
      */
@@ -173,20 +205,17 @@ class Base extends Controller
         $result = [
             'code' => $code,
             'is_login' => $is_login,
-            'msg'  => $msg,
+            'msg' => $msg,
             'time' => \think\facade\Request::instance()->server('REQUEST_TIME'),
             'data' => $data,
         ];
         // 如果未设置类型则自动判断
         $type = $type ? $type : 'json';
 
-        if (isset($header['statuscode']))
-        {
+        if (isset($header['statuscode'])) {
             $code = $header['statuscode'];
             unset($header['statuscode']);
-        }
-        else
-        {
+        } else {
             //未设置状态码,根据code值判断
             $code = $code >= 1000 || $code < 200 ? 200 : $code;
         }
@@ -194,34 +223,128 @@ class Base extends Controller
         throw new HttpResponseException($response);
     }
 
-
-    //token加密
-    public function createJwt($uid,$facility_code='')
+    protected function exception($msg)
     {
-        $key = md5(config('app.jwt')); //jwt的签发密钥,验证token的时候需要用到
-        $time = time(); //签发时间
-        $expire = $time + config('app.jwt_time'); //过期时间
-        $token = array(
-            "uid" => $uid,
-            "iss" => "https://zain.com",//签发组织
-            "aud" => "https://zain.com", //签发作者
-            "iat" => $time,
-            "nbf" => $time,
-            "exp" => $expire,
-            "facility_code" => $facility_code,
-        );
-        $jwt = JWT::encode($token, $key);
-        return $jwt;
-    }
-
-    protected function exception($msg){
         throw new Exception($msg);
     }
 
     // 事务返回
-    protected function transReturn($data = []){
-        $this->is_commit ? $this->success($this->ret_msg,$data):$this->error($this->ret_msg);
+    protected function transReturn($data = [])
+    {
+        $this->is_commit ? $this->success($this->ret_msg, $data) : $this->error($this->ret_msg);
     }
 
+    protected function checking($modulename, $controllername, $action_name)
+    {
+        $params = $this->request->post();
+        if ($controllername == 'approveflow') {
+            if ($action_name == 'get_data') {
+                $get_module_list = CommonConstant::get_module_list();
+                $rule = [
+                    'module|模块类型' => 'require|in:' . implode(',', array_keys($get_module_list)),
+                ];
+                $message = [
+                    'module.in' => '请选择正确的模块类型',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+        }
+        if ($controllername == 'approveinfo') {
+            if ($action_name == 'create') {
+                $get_way_list = CommonConstant::way;
+                $get_module_list = CommonConstant::get_module_list();
+                $rule = [
+                    'way|方式' => 'require|in:' . implode(',', array_keys($get_way_list)),
+                    'module|模块类型' => 'require|in:' . implode(',', array_keys($get_module_list)),
+                ];
+                $message = [
+                    'way.in' => '请选择正确的方式',
+                    'module.in' => '请选择正确的模块类型',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+                $way = $this->request->post('way');
+                $id = $this->request->post('id');
+                if (!$id && in_array($way, [CommonConstant::update, CommonConstant::edit])) {
+                    $this->error('申请参数不能为空');
+                }
+                $module = $this->request->post('module');
+                $validates = CommonConstant::get_module_validate_list();
+                $validate = $validates[$module];
+                $validate = new $validate;
+                if (!$validate->check($params, [], $get_way_list[$way])) {
+                    $this->error($validate->getError());
+                }
+            }
+            if (in_array($action_name, ['get_detail', 'get_info', 'urging', 'cancel','download'])) {
+                $rule = [
+                    'id|申请参数' => 'require|gt:0',
+                ];
+                $message = [];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+            if ($action_name == 'comment') {
+                $rule = [
+                    'id|申请参数' => 'require|gt:0',
+                    'comment_score|满意程度' => 'require',
+                    'comment|评价内容' => 'require',
+                ];
+                $message = [
+                    'comment_score.require' => '请选择满意程度',
+                    'comment.require' => '请输入评价内容',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+        }
+        if ($controllername == 'approve') {
+            if (in_array($action_name, ['get_detail', 'get_info'])) {
+                $rule = [
+                    'approve_id|审批参数' => 'require|gt:0',
+                ];
+                $message = [];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+            if ($action_name == 'audit') {
+                $rule = [
+                    'approve_id|审批参数' => 'require|gt:0',
+                    'status|审批状态' => 'require|in:' . CommonConstant::STATUS_3 . ',' . CommonConstant::STATUS_4,
+                ];
+                $message = [
+                    'status.in' => '请选择正确的审批状态',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+            if ($action_name == 'feedback') {
+                $rule = [
+                    'approve_id|审批参数' => 'require|gt:0',
+                    'feedback|反馈结果' => 'require',
+                ];
+                $message = [
+                    'feedback.require' => '请输入反馈结果',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
+        }
+    }
 
 }

+ 471 - 0
application/api/controller/Common.php

@@ -0,0 +1,471 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\constant\MaintainConstant;
+use app\common\model\Goods;
+use app\common\service\ApproveInfoService;
+use app\common\service\CommonService;
+use app\common\service\GoodsCategoryService;
+use app\common\service\UserService;
+use hg\apidoc\annotation as Apidoc;
+use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
+use PhpOffice\PhpSpreadsheet\Reader\Csv;
+use PhpOffice\PhpSpreadsheet\Reader\Xls;
+use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
+use think\db\exception\BindParamException;
+use think\Exception;
+use think\exception\PDOException;
+use think\Db;
+
+/**
+ * @Apidoc\Title("公用")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("4")
+ */
+class Common extends Base
+{
+    // 需要登录
+    protected $need_login = ['get_user_list'];
+
+    public function initialize()
+    {
+        parent::initialize();
+    }
+
+    /**
+     * 类型数据
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Returned("module_list", type="array", desc="模块列表")
+     * @Apidoc\Returned("degree_list", type="array", desc="缓急程度列表")
+     * @Apidoc\Returned("pay_type_list", type="array", desc="采购支付方式列表")
+     * @Apidoc\Returned("time_list", type="array", desc="请假周期列表")
+     * @Apidoc\Returned("data1", type="array", desc="采购类型列表")
+     * @Apidoc\Returned("data2", type="array", desc="呈批类型列表")
+     * @Apidoc\Returned("data5", type="array", desc="出差类型列表")
+     * @Apidoc\Returned("data6", type="array", desc="请假类型列表")
+     * @Apidoc\Returned("data8", type="array", desc="维修类型列表")
+     * @Apidoc\Returned("data9", type="array", desc="合同类型列表")
+     */
+    public function get_type_list()
+    {
+        $data = CommonService::get_data();
+        $this->success('类型数据', $data);
+    }
+
+    /**
+     * 发起人列表
+     *
+     * @Apidoc\Desc("入库模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("page", type="integer",require=true, desc="页数")
+     * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
+     * @Apidoc\Returned("userid", type="string", desc="userid")
+     * @Apidoc\Returned("name", type="string", desc="姓名")
+     **/
+    public function get_user_list()
+    {
+        $offset = $this->off_set;
+        $length = $this->page_num;
+        $user = $this->user;
+        $list = UserService::get_list(0,$offset, $length);
+        $this->success('发起人列表', $list);
+    }
+
+    /**
+     * 维修人员列表
+     *
+     * @Apidoc\Desc("维修模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("type", type="integer", require=true, desc="类型:1=物业主管,2=信息负责人")
+     **/
+    public function get_maintain_user(){
+        $type = $this->request->post('type');
+        if (!array_key_exists($type, MaintainConstant::get_type_list())) {
+            $this->success('维修人员列表.');
+        }
+        $list = UserService::get_maintain_user($type);
+        $this->success('维修人员列表',$list);
+    }
+
+    /**
+     * 获取导入模板
+     *
+     * @Apidoc\Desc("申购模块,入库模块,领用模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,3=入库申请,4=领用申请")
+     * @Apidoc\Returned("url", type="string", desc="导入模板路径")
+     **/
+    public function get_import_template(){
+        $module = $this->request->post('module');
+        if (!in_array($module, [CommonConstant::MODULE_1, CommonConstant::MODULE_3, CommonConstant::MODULE_4])) {
+            $this->error('请选择正确的模块类型');
+        }
+        switch ($module){
+            case CommonConstant::MODULE_1:
+                $url = $this->request->domain().'/导入模板-采购物品.xlsx';
+                break;
+            case CommonConstant::MODULE_3:
+                $url = $this->request->domain().'/导入模板-入库物品.xlsx';
+                break;
+            case CommonConstant::MODULE_4:
+                $url = $this->request->domain().'/导入模板-领用物品.xlsx';
+                break;
+        }
+        $data = compact("url");
+        $this->success('导入模板',$data);
+    }
+
+    /**
+     * 导入
+     *
+     * @Apidoc\Desc("申购模块,入库模块,领用模块")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,3=入库申请,4=领用申请")
+     * @Apidoc\Param("file", type="string", require=true, desc="上传后的文件路径")
+     * @return void
+     * @throws PDOException
+     * @throws BindParamException
+     */
+    public function import()
+    {
+        $module = $this->request->post('module');
+        $file = $this->request->post('file');
+        if (!in_array($module, [CommonConstant::MODULE_1, CommonConstant::MODULE_3, CommonConstant::MODULE_4])) {
+            $this->error('请选择正确的模块类型');
+        }
+        if (!$file) {
+            $this->error('请选择文件');
+        }
+        $filePath = $_SERVER['DOCUMENT_ROOT'] . '/' . $file;
+        if (!is_file($filePath)) {
+            $this->error('文件未找到');
+        }
+        //实例化reader
+        $ext = pathinfo($filePath, PATHINFO_EXTENSION);
+        if (!in_array($ext, ['csv', 'xls', 'xlsx'])) {
+            $this->error('未知的数据格式');
+        }
+        if ($ext === 'csv') {
+            $file = fopen($filePath, 'r');
+            $filePath = tempnam(sys_get_temp_dir(), 'import_csv');
+            $fp = fopen($filePath, 'w');
+            $n = 0;
+            while ($line = fgets($file)) {
+                $line = rtrim($line, "\n\r\0");
+                $encoding = mb_detect_encoding($line, ['utf-8', 'gbk', 'latin1', 'big5']);
+                if ($encoding !== 'utf-8') {
+                    $line = mb_convert_encoding($line, 'utf-8', $encoding);
+                }
+                if ($n == 0 || preg_match('/^".*"$/', $line)) {
+                    fwrite($fp, $line . "\n");
+                } else {
+                    fwrite($fp, '"' . str_replace(['"', ','], ['""', '","'], $line) . "\"\n");
+                }
+                $n++;
+            }
+            fclose($file) || fclose($fp);
+
+            $reader = new Csv();
+        } elseif ($ext === 'xls') {
+            $reader = new Xls();
+        } else {
+            $reader = new Xlsx();
+        }
+
+        //加载文件
+        $insert = [];
+        $data = []; // 导入的同一一级分类和二级分类和商品名称的数组
+        $category_first_data = []; // 导入的分类数组
+        $use_data = []; // 筛选后的领用数组
+        $apply_goods_data = []; // 返回的数组
+        $error_data = []; // 错误提示数组
+        $flag = 2; // 默认批量导入
+        try {
+            if (!$PHPExcel = $reader->load($filePath)) {
+                $this->error('未知的数据格式!');
+            }
+            $currentSheet = $PHPExcel->getSheet(0);  //读取文件中的第一个工作表
+            $allColumn = $currentSheet->getHighestDataColumn(); //取得最大的列号
+            $allRow = $currentSheet->getHighestRow(); //取得一共有多少行
+            $maxColumnNumber = Coordinate::columnIndexFromString($allColumn);
+
+            if ($module == CommonConstant::MODULE_4) {
+                $fields = ['goods_no', 'goods_category_first', 'goods_category_id', 'goods_name', 'goods_sku_value', 'stock'];
+            } else {
+                $fields = ['goods_no', 'goods_category_first', 'goods_category_id', 'goods_brand', 'goods_name', 'goods_sku_value', 'stock', 'price', 'total_price'];
+            }
+
+            for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
+                $values = [];
+                for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
+                    $val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
+                    $values[] = is_null($val) ? '' : trim($val); // 消除空格
+                }
+                $values = array_filter($values); // 过滤空值
+                $temp = array_combine($fields, $values); // 合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
+                if ($temp) {
+                    $insert[] = $temp;
+
+                    if ($module == CommonConstant::MODULE_4) {
+                        $data[$values[1] . ',' . $values[2] . ',' . $values[3]][] = $temp;
+                        $category_first_data[$values[1]][$values[2]] = $values[2];
+                    } else {
+                        $data[$values[1] . ',' . $values[2] . ',' . $values[4]][] = $temp;
+                    }
+
+                }
+            }
+        } catch (Exception $exception) {
+            $this->error('出现错误:' . $exception->getMessage());
+        }
+        if (!$insert) {
+            $this->error('记录未找到');
+        }
+
+        if ($module == CommonConstant::MODULE_4) {
+            $category_first_list = GoodsCategoryService::get_list([['name', 'in', array_keys($category_first_data)]],1);
+            $category_first_object = $category_first_list ? array_column($category_first_list->toArray(), null, 'name') : [];
+
+            $msg = '导入的物品:';
+            foreach ($data as $key => $value) {
+                $arr = explode(',', $key);
+                $goods_name = $arr[2];
+                if(array_key_exists($arr[0],$category_first_object)){
+                    // 一级里有该商品分类
+                    $category_first_info = $category_first_object[$arr[0]];
+                    $goods_category_first_id = $category_first_info['id'];
+                    $category_second_object = $category_first_info['childlist'] ? array_column($category_first_info['childlist'], null, 'name') : [];
+                    if(array_key_exists($arr[1],$category_second_object)){
+                        // 二级里有该商品分类
+                        $category_second_info = $category_second_object[$arr[1]];
+                        $goods_category_id = $category_second_info['id'];
+                        $goods_info = Goods::field('status,is_deleted,create_at', true)
+                            ->where('goods_category_first', $goods_category_first_id)
+                            ->where('goods_category_id', $goods_category_id)
+                            ->where('goods_name', $goods_name)
+                            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+                            ->with([
+                                'goodsStock',
+                            ])
+                            ->find();
+                        if ($goods_info) {
+                            // 商品库里有该商品
+                            $goods_info = $goods_info->toArray();
+                            $goods_stock_object = array_column($goods_info['goods_stock'], null, 'name');
+                            foreach ($value as $kk=>$val) {
+                                if (array_key_exists($val['goods_sku_value'], $goods_stock_object)) {
+                                    // 商品库里有该商品规格
+                                    $goods_stock_info = $goods_stock_object[$val['goods_sku_value']];
+                                    $total_stock = $goods_stock_info['stock']; // 商品库的库存
+                                    $stock = isset($val['stock']) && $val['stock'] > 0 ? $val['stock'] : 0; // 要领用的数量
+                                    $lack_stock = $stock - $total_stock;
+                                    if($total_stock > 0){
+                                        // 商品规格有库存
+                                        $use_data[$key][] = $val;
+                                        $use_data[$key][$kk]['goods_id'] = $goods_info['id'];
+                                        $use_data[$key][$kk]['goods_category_first'] = $goods_category_first_id;
+                                        $use_data[$key][$kk]['goods_category_id'] = $goods_category_id;
+                                        $use_data[$key][$kk]['id'] = $goods_stock_info['id'];
+                                        if($lack_stock > 0){
+                                            // 商品规格库存不足
+                                            $use_data[$key][$kk]['stock'] = $total_stock; // 替换库存
+                                            $error_data[] = [
+                                                'msg' => $msg . $goods_name . '-' . $val['goods_sku_value'] . '库存不足,缺少' . $lack_stock . '件',
+                                            ];
+                                        }
+                                    } else{
+                                        $error_data[] = [
+                                            'msg' => $msg . $goods_name . '-' . $val['goods_sku_value'] . '库存不足,缺少' . $lack_stock . '件',
+                                        ];
+                                    }
+                                } else {
+                                    // 商品库里没有该商品规格
+                                    $error_data[] = [
+                                        'msg' => $msg . $goods_name . '-' . $val['goods_sku_value'] . '商品库不存在',
+                                    ];
+                                }
+                            }
+                        } else {
+                            // 商品库里没有该商品
+                            $error_data[] = [
+                                'msg' => $msg . $goods_name . '商品库不存在',
+                            ];
+                        }
+                    } else{
+                        // 二级里没有该商品分类
+                        $error_data[] = [
+                            'msg' => $msg . $goods_name . '商品库不存在',
+                        ];
+                    }
+                } else{
+                    // 一级里没有该商品分类
+                    $error_data[] = [
+                        'msg' => $msg . $goods_name . '商品库不存在',
+                    ];
+                }
+            }
+            $data = $use_data;
+            $flag = 3; // 商品库选择
+        }
+
+        foreach ($data as $key => $value) {
+            // 商品
+            $goods_data = [];
+            $goods_stock_data = [];
+            $total_price = 0;
+            foreach ($value as $kk => $val) {
+                // 规格值
+                $stock = isset($val['stock']) && $val['stock'] > 0 ? $val['stock'] : 0;
+                $price = isset($val['price']) && $val['price'] > 0 ? $val['price'] : 0;
+                $total_price = bcadd($total_price, $stock * $price, 2);
+                $goods_stock_data[] = [
+                    'id' => isset($val['id']) ? $val['id'] : 0,
+                    'name' => $val['goods_sku_value'],
+                    'stock' => $stock,
+                    'price' => $price,
+                ];
+                $goods_data = [
+                    'goods_id' => isset($val['goods_id']) ? $val['goods_id'] : 0,
+                    'goods_category_first' => $val['goods_category_first'],
+                    'goods_category_id' => $val['goods_category_id'],
+                    'goods_no' => $val['goods_no'],
+                    'goods_name' => $val['goods_name'],
+                    'goods_brand' => isset($val['goods_brand']) ? $val['goods_brand'] : '',
+                ];
+            }
+            $goods_data['flag'] = $flag;
+            $goods_data['total_price'] = $total_price;
+            $goods_data['goods_stock'] = $goods_stock_data;
+            $apply_goods_data[] = $goods_data;
+        }
+
+        $data = compact("apply_goods_data", "error_data");
+        $error_data ? $this->success('领用物品提示', $data) : $this->success('导入成功', $data);
+    }
+
+    /**
+     * 导入1
+     */
+    public function import1()
+    {
+        $file = $this->request->post('file');
+        if (!$file) {
+            $this->error('请选择文件');
+        }
+        $filePath = $_SERVER['DOCUMENT_ROOT'] . '/' . $file;
+        if (!is_file($filePath)) {
+            $this->error('文件未找到');
+        }
+        //实例化reader
+        $ext = pathinfo($filePath, PATHINFO_EXTENSION);
+        if (!in_array($ext, ['csv', 'xls', 'xlsx'])) {
+            $this->error('未知的数据格式');
+        }
+        if ($ext === 'csv') {
+            $file = fopen($filePath, 'r');
+            $filePath = tempnam(sys_get_temp_dir(), 'import_csv');
+            $fp = fopen($filePath, 'w');
+            $n = 0;
+            while ($line = fgets($file)) {
+                $line = rtrim($line, "\n\r\0");
+                $encoding = mb_detect_encoding($line, ['utf-8', 'gbk', 'latin1', 'big5']);
+                if ($encoding !== 'utf-8') {
+                    $line = mb_convert_encoding($line, 'utf-8', $encoding);
+                }
+                if ($n == 0 || preg_match('/^".*"$/', $line)) {
+                    fwrite($fp, $line . "\n");
+                } else {
+                    fwrite($fp, '"' . str_replace(['"', ','], ['""', '","'], $line) . "\"\n");
+                }
+                $n++;
+            }
+            fclose($file) || fclose($fp);
+
+            $reader = new Csv();
+        } elseif ($ext === 'xls') {
+            $reader = new Xls();
+        } else {
+            $reader = new Xlsx();
+        }
+
+        //加载文件
+        $insert = [];
+        try {
+            if (!$PHPExcel = $reader->load($filePath)) {
+                $this->error('未知的数据格式!');
+            }
+            $currentSheet = $PHPExcel->getSheet(0);  //读取文件中的第一个工作表
+            $allColumn = $currentSheet->getHighestDataColumn(); //取得最大的列号
+            $allRow = $currentSheet->getHighestRow(); //取得一共有多少行
+            $maxColumnNumber = Coordinate::columnIndexFromString($allColumn);
+
+            for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
+                $values = [];
+                for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) {
+                    $val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
+                    $values[] = is_null($val) ? '' : trim($val); // 消除空格
+                }
+                $values = array_filter($values); // 过滤空值
+
+                $first[$values[0]] = $values[0];
+                $second[$values[0]][$values[1]] = $values[1];
+                $third[$values[1]][$values[2]] = $values[2];
+            }
+        } catch (Exception $exception) {
+            $this->error('出现错误:' . $exception->getMessage());
+        }
+//        p($first);
+//        p($second);
+//        p($third);
+//        exit;
+        foreach ($first as $key=>$val){
+            if(array_key_exists($val,$second)){
+                $first1 = Db::table('dd_category_job')->insertGetId(['name'=>$val]);
+                $second_list = $second[$val];
+                foreach ($second_list as $v){
+                    if(array_key_exists($v,$third)){
+                        $second1 = Db::table('dd_category_job')->insertGetId(['pid'=>$first1,'name'=>$v]);
+                        $third_list = $third[$v];
+                        foreach ($third_list as $vv){
+                            Db::table('dd_category_job')->insertGetId(['pid'=>$second1,'name'=>$vv]);
+                        }
+                    }
+                }
+            }
+        }
+        $this->success('导入成功');
+    }
+
+    /**
+     * 重置合同编号(定时任务 每年1月1日0点1分执行)
+     *
+     * @Apidoc\Method("POST")
+     **/
+    public function change_contract_no(){
+        $data = date('md') == '0101' ? CommonService::change_contract_no() : [];
+        $this->success('重置合同编号成功',$data);
+    }
+
+    /**
+     * 测试
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("id", type="integer",require=true, desc="ID")
+     */
+    public function test()
+    {
+        $id = input('id') ?: 0;
+        $data = '';
+        $name = '';
+        $html = ApproveInfoService::get_html($data);
+        $realpath = ApproveInfoService::getPath($name);
+        $pdf = new \TCPDF();
+        $pdf = ApproveInfoService::setPdfAttr($pdf);
+        ApproveInfoService::exportPdf($pdf, $html, $realpath);
+        $this->success('success',['url' => $realpath, 'fullurl' => 'https://' . $_SERVER['HTTP_HOST'] . $realpath]);
+    }
+
+}

+ 0 - 261
application/api/controller/Contract.php

@@ -1,261 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\ContractType;
-use app\common\model\ContractInfo;
-use app\common\model\ContractApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("合同管理")
- * @Apidoc\Group("api")
- */
-class Contract extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取合同审核流程")
-     * @Apidoc\Desc("获取合同流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(7,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(7,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-
-    /**
-     * @Apidoc\Title("获取合同类型")
-     * @Apidoc\Desc("获取合同类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getOfferType()
-    {
-        $field = 'id,title';
-        $list = ContractType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['list'=>$list]);
-    }
-
-
-
-    /**
-     * @Apidoc\Title("合同申请")
-     * @Apidoc\Desc("合同申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="类型id")
-     * @Apidoc\Query("contract_no", type="string",desc="合同号")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("num", type="int",desc="数量")
-     * @Apidoc\Query("document", type="string", desc="附件")
-     * @Apidoc\Query("contract_remark", type="string", desc="备注")
-     * @Apidoc\Query("scope", type="string", desc="范围")
-     * @Apidoc\Query("legal_opinion", type="string", desc="法务意见")
-
-     * @Apidoc\Query("file_number", type="string", desc="文件号")
-     * @Apidoc\Query("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyContract()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = ContractInfo::create($request_param);//生成合同记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 合同流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            ContractInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new ContractApprove())->saveAll($flow_data);
-        }else{
-            ContractInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('合同已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-
-    /**
-     * @Apidoc\Title("合同记录(列表)")
-     * @Apidoc\Desc("合同记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("contract_remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     *
-     */
-    public function getContractList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        $list = ContractInfo::where($sel_where)->limit($this->off_set,$this->page_num)
-            ->order('id desc')
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("合同详情")
-     * @Apidoc\Desc("合同详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="合同记录id")
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="合同记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="合同状态:0待审核合同,1合同审核中,2审核通过3审核拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="合同时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="合同备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="合同人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="合同人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="合同用时(上一次合同完成到本次合同的时间,单位秒)")
-     */
-    public function getContractInfo()
-    {
-        $id = input('get.id');
-        $detail = ContractInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="合同类型id")
-     *
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("contract_remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     *
-     * @Apidoc\Returned("apply_date", type="string", desc="合同日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="合同状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="合同时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="合同记录id")
-     * @Apidoc\Returned("remark", type="string", desc="合同备注")
-     */
-    public function getApproveContract()
-    {
-        $list = ContractApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('ContractInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("合同审批")
-     * @Apidoc\Desc("合同审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="合同状态(2合同通过3合同拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveContract()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveContract($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销合同申请")
-     * @Apidoc\Desc("撤销合同申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="合同记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = ContractInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('合同记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 71 - 114
application/api/controller/Dingtalk.php

@@ -1,129 +1,86 @@
 <?php
+
 namespace app\api\controller;
-use think\Db;
+
+use app\common\service\DingtalkService;
 use hg\apidoc\annotation as Apidoc;
 
+/**
+ * @Apidoc\Title("Dingtalk")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("5")
+ */
 class Dingtalk extends Base
 {
+    // 需要登录
+    protected $need_login = [];
 
-    //获取部门信息
-    public function get_department(){
-        $c = $this->get_obj()['obj'];
-        $req = new \OapiV2DepartmentListsubRequest;
-        $resp = $c->execute($req, $this->get_obj()['access_token'], "https://oapi.dingtalk.com/topapi/v2/department/listsub");
-        if(isset($resp->result) && $resp->result){
-            foreach ($resp->result as $value){
-                $id = Db::name('department')->where('dept_id',$value->dept_id)->value('id');
-                if(empty($id)){
-                    $data = array(
-                        'dept_id' => $value->dept_id,
-                        'name' => $value->name,
-                        'parent_id' => $value->parent_id,
-                    );
-                    Db::name('department')->insert($data);
-                }
-                //获取子部门信息
-                $dept_id_list = $this->get_son_department($value->dept_id);
-                if($dept_id_list){
-                    foreach ($dept_id_list as $v){
-                        $id = Db::name('department')->where('dept_id',$v)->value('id');
-                        if(empty($id)){
-                            $data = array(
-                                'dept_id' => $v,
-                                'name' => $this->get_department_name($v),
-                                'parent_id' => $value->dept_id,
-                            );
-                            Db::name('department')->insert($data);
-                        }
-                    }
-                }
-            }
-        }
+    public function initialize()
+    {
+        parent::initialize();
     }
-    //获取子部门列表
-    public function get_son_department($parent_id){
-        $c = $this->get_obj()['obj'];
-        $req = new \OapiV2DepartmentListsubRequest;
-        $req->setDeptId($parent_id);
-        $resp = $c->execute($req, $this->get_obj()['access_token'], "https://oapi.dingtalk.com/topapi/v2/department/listsubid");
-        $dept_id_list = array();
-        if(isset($resp->result) && $resp->result){
-            $dept_id_list = $resp->result->dept_id_list;
-        }
-        return $dept_id_list;
+
+    /**
+     * 获取鉴权需要的参数
+     *
+     * @Apidoc\Desc("设置企业内部应用H5微应用鉴权")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("url", type="string", require=true, desc="应用URL")
+     **/
+    public function get_auth(){
+        $url = input('url') ?: '';
+        $this->success('获取鉴权需要的参数',DingtalkService::generateAuthSignature($url));
     }
-    //获取部门名称
-    public function get_department_name($dept_id){
-        $c = $this->get_obj()['obj'];
-        $req = new \OapiV2DepartmentListsubRequest;
-        $req->setDeptId($dept_id);
-        $resp = $c->execute($req, $this->get_obj()['access_token'], "https://oapi.dingtalk.com/topapi/v2/department/get");
-        $name = '';
-        if(isset($resp->result) && $resp->result){
-            $name = $resp->result->name;
-        }
-        return $name;
+
+    /**
+     * 更新员工和部门
+     *
+     * @Apidoc\Method("POST")
+     **/
+    public function renew(){
+        DingtalkService::renew();
+        $this->success('更新员工和部门成功');
     }
-    //获取个部门用户信息
-    public function get_member_list(){
-        $list = Db::name('department')->column('dept_id');
-        foreach ($list as $value){
-            $list = $this->get_user_list($value);
-            if($list){
-                foreach ($list as $v){
-                    $id = Db::name('store_member')->where('unionid',$v->unionid)->value('id');
-                    if(empty($id)){
-                        $data = array(
-                            'unionid' => $v->unionid,
-                            'userid' => $v->userid,
-                            'name' => $v->name,
-                            'title' => isset($v->title)?$v->title:'',
-                            'email' => isset($v->email)?$v->email:'',
-                            'phone' => isset($v->mobile)?$v->mobile:'',
-                            'department' => implode(',',array_diff($v->dept_id_list,array(1))),
-                        );
-                        if($v->avatar){
-                            $data['headimg'] = $v->avatar;
-                        }
-                        Db::name('store_member')->insert($data);
-                    }
-                }
-            }
-        }
+
+
+    /**
+     * 获取部门列表
+     */
+    public function department_listsub()
+    {
+        $dept_id = input('dept_id');
+        $resp = DingtalkService::department_listsub($dept_id);
+        $this->success('获取部门列表', $resp);
     }
-    //获取部门用户详情
-    public function get_user_list($dept_id){
-        $c = $this->get_obj()['obj'];
-        $req = new \OapiV2UserListRequest;
-        $req->setDeptId($dept_id);
-        $req->setCursor("0");
-        $req->setSize("100");
-        $resp = $c->execute($req, $this->get_obj()['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/list");
-        $user_list = array();
-        if(isset($resp->result) && $resp->result && $resp->result->list){
-            $user_list = $resp->result->list;
-        }
-        return $user_list;
+
+    /**
+     * 获取部门详情
+     */
+    public function department_get()
+    {
+        $dept_id = input('dept_id');
+        $resp = DingtalkService::department_get($dept_id);
+        $this->success('获取部门详情', $resp);
     }
-    //通过免登码获取用户信息
-    public function get_user_info($code){
-        $c = $this->get_obj()['obj'];
-        $req = new \OapiV2UserGetuserinfoRequest;
-        $req->setCode($code);
-        $resp = $c->execute($req, $this->get_obj()['access_token'], "https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");
-        var_dump($resp);exit();
-        $user_info = array();
-        if(isset($resp->result) && $resp->result){
-            $user_info = $resp->result->dept_id_list;
-        }
-        return $user_info;
+
+    /**
+     * 获取部门用户详情
+     */
+    public function user_list()
+    {
+        $dept_id = input('dept_id');
+        $resp = DingtalkService::user_list($dept_id);
+        $this->success('获取部门用户详情', $resp);
     }
-    public function get_obj(){
-        $get_token_obj = new Dingtoken();
-        $access_token = $get_token_obj->get_company_token();
-        require_once env('root_path').'/vendor/dingapi/TopSdk.php';
-        date_default_timezone_set('Asia/Shanghai');
-        $c = new \DingTalkClient(\DingTalkConstant::$CALL_TYPE_OAPI, \DingTalkConstant::$METHOD_POST , \DingTalkConstant::$FORMAT_JSON);
-        return array('obj'=>$c,'access_token'=>$access_token);
+
+    /**
+     * 查询用户详情
+     */
+    public function get_users()
+    {
+        $userid = input('userid');
+        $resp = DingtalkService::user_get($userid);
+        $this->success('查询用户详情', $resp);
     }
+
 }

+ 0 - 25
application/api/controller/Dingtoken.php

@@ -1,25 +0,0 @@
-<?php
-namespace app\api\controller;
-
-use AlibabaCloud\SDK\Dingtalk\Voauth2_1_0\Dingtalk;
-use Darabonba\OpenApi\Models\Config;
-use AlibabaCloud\SDK\Dingtalk\Voauth2_1_0\Models\GetAccessTokenRequest;
-class Dingtoken extends Base
-{
-    public static function createClient(){
-        $config = new Config([]);
-        $config->protocol = "https";
-        $config->regionId = "central";
-        return new Dingtalk($config);
-    }
-    //获取企业内部凭证
-    public function get_company_token(){
-        $client = self::createClient();
-        $getAccessTokenRequest = new GetAccessTokenRequest([
-            "appKey" => "dingekepwoyycxfbtyvg",
-            "appSecret" => "EjM9WohvKHo3eNqZGGbQHhbjM80QzapdC_f_reYiOCyEFOtaG1qoG2KzEfpSoLWe"
-        ]);
-        $res = $client->getAccessToken($getAccessTokenRequest);
-        return $res->body->accessToken;
-    }
-}

+ 0 - 258
application/api/controller/Evection.php

@@ -1,258 +0,0 @@
-<?php
-
-namespace app\api\controller;
-
-use app\common\constant\CommonConstant;
-use AlibabaCloud\SDK\Dingtalk\Vyida_1_0\Models\GetFormDataByIDResponseBody\originator\name;
-use app\common\model\EvectionApprove;
-use app\common\model\LeaveApprove;
-use app\common\model\ApproveFlow;
-use app\common\model\EvectionInfo;
-use app\common\service\ApproveFlowService;
-use app\common\service\ApproveService;
-use app\common\service\EvectionInfoService;
-use think\App;
-use think\Db;
-use app\common\model\User;
-use hg\apidoc\annotation as Apidoc;
-use think\Request;
-
-
-
-/**
- * @Apidoc\Title("员工出差")
- * @Apidoc\Group("api")
- */
-class Evection extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取流程")
-     * @Apidoc\Desc("获取流程")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Returned("approve_user", type="array", desc="审批人列表")
-     * @Apidoc\Returned("approve_user.name", type="string", desc="姓名")
-     * @Apidoc\Returned("approve_user.headimg", type="string", desc="头像")
-     * @Apidoc\Returned("copy_user", type="array", desc="审批人列表")
-     * @Apidoc\Returned("copy_user.name", type="string", desc="姓名")
-     * @Apidoc\Returned("copy_user.headimg", type="string", desc="头像")
-     */
-    public function get_data()
-    {
-        $data = ApproveFlowService::get_data(CommonConstant::MODULE_3, $this->user);
-        $this->success('获取流程', $data);
-    }
-
-
-    /**
-     * @Apidoc\Title("出差申请")
-     * @Apidoc\Desc("出差申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Query("reason", type="string", desc="出差事由")
-     * @Apidoc\Query("start_time", type="string", desc="开始时间")
-     * @Apidoc\Query("end_time", type="string", desc="结束时间")
-     * @Apidoc\Query("document", type="string", desc="附件(多个用英文逗号隔开)")
-     * @Apidoc\Query("images", type="string", desc="图片(多个用英文逗号隔开)")
-     * @Apidoc\Query("type", type="integer",desc="出差类型:1=市内,2=市外")
-     * @Apidoc\Query("is_who", type="integer",desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Query("remark", type="string", desc="备注")
-     * @Apidoc\Query("peer_user", type="string", desc="同行员工数据")
-     * @Apidoc\Query("approve_user", type="string", desc="审批人id(多个用英文逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个用英文逗号隔开)")
-     */
-    public function create()
-    {
-        $reason = input('reason');
-        $start_time = input('start_time');
-        $end_time = input('end_time');
-        $document = input('document');
-        $images = input('images');
-        $type = input('type');
-        $is_who = input('is_who');
-        $remark = input('remark');
-        $peer_user = input('peer_user');
-        $approve_user = input('approve_user');
-        $copy_user = input('copy_user');
-        $params = compact("reason", "start_time", "end_time", "document", "images", "type", "is_who", "remark", "peer_user", "approve_user", "copy_user");
-        EvectionInfoService::create($params,$this->user);
-        $this->success('申请已提交,请等待审核');
-
-        if (empty($request_param['start_time']) || empty($request_param['end_time'])) $this->error('请选择出差时间');
-        if (empty($request_param['type'])) $this->error('请选择出差类型');
-        if (empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
-        $request_param['apply_user'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user'] : '';
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user'] : '';
-        if (!$flow_user) $this->error('请选择审批人');
-        $flow_info = EvectionInfo::create($request_param);//生成出差记录
-        $approve_res = ApproveFlow::getApproveData($flow_user, $copy_user, $flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num = $approve_res['flow_num'];
-        if (!empty($flow_data)) {
-            EvectionInfo::where('id', $flow_info->id)->update(['approve_num' => $flow_num]);
-            (new EvectionApprove())->saveAll($flow_data);
-        } else {
-            EvectionInfo::where('id', $flow_info->id)->update(['status' => 2]);
-        }
-        $this->success('出差已提交,请等待审核', ['detail' => -$flow_info>toArray()]);
-    }
-
-
-    /**
-     * @Apidoc\Title("我的出差记录(列表)")
-     * @Apidoc\Desc("我的出差记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("我的出差记录")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Query("sel_time", type="string", desc="时间查询")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("type", type="string", desc="出差类型(1市内2市外)")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="出差会员id")
-     */
-    public function getEvectionList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id', '=', $this->user_id];
-        if (input('get.status') > 0) $sel_where[] = ['status', '=', input('get.status')];
-        if (input('get.type') > 0) $sel_where[] = ['type', '=', input('get.type')];
-        $list = EvectionInfo::where($sel_where)->limit($this->off_set, $this->page_num)->select()->toArray();
-        $this->success('ok', ['list' => $list]);
-    }
-
-    /**
-     * @Apidoc\Title("我的出差详情")
-     * @Apidoc\Desc("我的出差详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="出差记录id")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("type", type="string", desc="出差类型(1市内2市外)")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="出差会员id")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="审批状态:0待审批(未到该审批人审批),1审批中(已到该审批人审批,还未审批)2审批通过3审批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次审批的时间,单位秒)")
-     * @Apidoc\Returned("peer_list", type="array", desc="同行员工")
-     * @Apidoc\Returned("peer_list.name", type="string", desc="同行员工名")
-     * @Apidoc\Returned("peer_list.headimg", type="string", desc="同行员工头像")
-     */
-    public function getEvectionDetail()
-    {
-        $id = input('get.id');
-        $detail = EvectionInfo::with('approveList')->where(['user_id' => $this->user_id])->where(['id' => $id])
-            ->limit($this->off_set, $this->page_num)
-            ->find()->toArray();
-        $detail['images_arr'] = $detail['images'] ? explode('|', $detail['images']) : null;
-        $peer_list = User::field('id,name,headimg')->where('id', 'in', $detail['peer_user'])->select()->toArray();
-        $detail['peer_list'] = !empty($peer_list) ? $peer_list : null;
-        $this->success('ok', ['detail' => $detail]);
-
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("password", type="string",require=true, desc="密码")
-     * @Apidoc\Returned("id", type="int", desc="出差记录id")
-     * @Apidoc\Returned("start_time", type="string", desc="出差记录id")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("type", type="string", desc="出差类型(1市内2市外)")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="出差会员id")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveEvection()
-    {
-        $list = EvectionApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user' => $this->user_id])
-            ->where('p.status', '>', '0')
-            ->leftJoin('EvectionInfo i', 'p.info_id = i.id')
-            ->limit($this->off_set, $this->page_num)
-            ->select()->toArray();
-        array_walk($list, function (&$v) {
-            $v['images_arr'] = $v['images'] ? explode('|', $v['images']) : null;
-        });
-        $this->success('ok', ['list' => $list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批出差记录")
-     * @Apidoc\Desc("审批出差记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2审批通过3审批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveEvection()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveEvection($approve_id, $this->user_id, $status, $remark);
-        if (!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销出差申请")
-     * @Apidoc\Desc("撤销出差申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="出差记录id")
-     */
-    public function cancelApply()
-    {
-        $id = input('post.id');
-        $apply_info = EvectionInfo::where('id', $id)->where('user_id', $this->user_id)->find();
-        if (!$apply_info) $this->error('出差记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 0 - 123
application/api/controller/General.php

@@ -1,123 +0,0 @@
-<?php
-namespace app\api\controller;
-
-use app\common\model\CarApprove;
-use app\common\model\ContractApprove;
-use app\common\model\DocumentApprove;
-use app\common\model\EvectionApprove;
-use app\common\model\LeaveApprove;
-use app\common\model\MaintainApprove;
-use app\common\model\OfferApprove;
-use hg\apidoc\annotation as Apidoc;
-use think\Db;
-/**
- * @Apidoc\Title("我的审批")
- * @Apidoc\Group("api")
- */
-class General extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-
-    /**
-     * @Apidoc\Title("我的审批")
-     * @Apidoc\Desc("我的审批")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Returned("id", type="int", desc="审批记录id")
-     * @Apidoc\Returned("create_at", type="string", desc="申请时间")
-     * @Apidoc\Returned("module", type="string", desc="所属模块")
-     * @Apidoc\Returned("approve_info", type="array", desc="申请记录详情")
-     * @Apidoc\Returned("approve_info.id", type="int", desc="申请记录详情id")
-     */
-    public function getAllApprove()
-    {
-        $field = "id,create_at,approve_user,module,status";
-        $where = ' approve_user = '.$this->user_id . ' AND status > 0 ';
-        $list=  Db::name('offer_approve')
-            ->field($field)
-            ->where($where)
-            ->unionAll("select $field FROM dd_car_approve WHERE $where")
-            ->unionAll("select $field FROM dd_document_approve WHERE $where")
-            ->unionAll("select $field FROM dd_evection_approve WHERE $where")
-            ->unionAll("select $field FROM dd_leave_approve WHERE $where")
-            ->unionAll("select $field FROM dd_maintain_approve WHERE $where")
-            ->unionAll("select $field FROM dd_contract_approve WHERE $where")
-            ->order('create_at desc,id desc')
-            ->limit($this->off_set,$this->page_num)
-            ->select();
-        foreach ($list as &$v) {
-            switch ($v['module']) {
-                case "car_approve":
-                    $v['approve_info'] = CarApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('CarInfo i','p.car_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "document_approve":
-                    $v['approve_info'] =DocumentApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('DocumentInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "evection_approve":
-                    $v['approve_info'] =   EvectionApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('EvectionInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "leave_approve":
-                    $v['approve_info']=  LeaveApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('LeaveInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "maintain_approve":
-                    $v['approve_info'] =MaintainApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('MaintainInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "offer_approve":
-                    $v['approve_info'] = OfferApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('OfferInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-                case "contract_approve":
-                    $v['approve_info'] = ContractApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-                        ->alias('p')
-                        ->where(['p.id'=>$v['id']])
-                        ->where('p.status','>','0')
-                        ->leftJoin('ContractInfo i','p.info_id = i.id')
-                        ->find()->toArray();
-                    break;
-            }
-        }
-
-        $this->success('ok',['list'=>$list]);
-
-    }
-
-
-
-}

+ 47 - 0
application/api/controller/Goods.php

@@ -0,0 +1,47 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\service\GoodsService;
+use hg\apidoc\annotation as Apidoc;
+
+/**
+ * @Apidoc\Title("商品")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("14")
+ */
+class Goods extends Base
+{
+    // 需要登录
+    protected $need_login = [];
+
+    public function initialize()
+    {
+        parent::initialize();
+    }
+
+    /**
+     * 商品列表
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("category_id", type="integer", require=false, desc="二级分类ID")
+     * @Apidoc\Param("search", type="string", require=false, desc="搜索 商品名称")
+     * @Apidoc\Returned("id", type="integer", desc="商品ID")
+     * @Apidoc\Returned("goods_name", type="integer", desc="商品名称")
+     * @Apidoc\Returned("sort", type="integer", desc="权重")
+     * @Apidoc\Returned("goods_stock", type="array", desc="规格列表",
+     *     @Apidoc\Returned("id", type="integer", desc="规格ID"),
+     *     @Apidoc\Returned("goods_id", type="integer", desc="商品ID"),
+     *     @Apidoc\Returned("name", type="string", desc="规格名称"),
+     *     @Apidoc\Returned("stock", type="string", desc="剩余库存"),
+     * )
+     */
+    public function get_list()
+    {
+        $category_id = input('category_id') ?: 0;
+        $search = input('search') ?: '';
+        $data = GoodsService::get_list($category_id, $search);
+        $this->success('商品列表', $data);
+    }
+
+}

+ 42 - 0
application/api/controller/Goodscategory.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\service\GoodsCategoryService;
+use hg\apidoc\annotation as Apidoc;
+
+/**
+ * @Apidoc\Title("商品分类")
+ * @Apidoc\Group("api")
+ * @Apidoc\Sort("13")
+ */
+class Goodscategory extends Base
+{
+    // 需要登录
+    protected $need_login = [];
+
+    public function initialize()
+    {
+        parent::initialize();
+    }
+
+    /**
+     * 商品分类列表
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Returned("id", type="integer", desc="分类ID")
+     * @Apidoc\Returned("pid", type="integer", desc="父ID")
+     * @Apidoc\Returned("name", type="string", desc="分类名称")
+     * @Apidoc\Returned("childlist", type="array", desc="子分类列表",
+     *     @Apidoc\Returned("id", type="integer", desc="分类ID"),
+     *     @Apidoc\Returned("pid", type="integer", desc="父ID"),
+     *     @Apidoc\Returned("name", type="string", desc="分类名称"),
+     * )
+     */
+    public function get_list()
+    {
+        $data = GoodsCategoryService::get_list([],1);
+        $this->success('商品分类列表', $data);
+    }
+
+}

+ 37 - 44
application/api/controller/Login.php

@@ -1,69 +1,62 @@
 <?php
+
 namespace app\api\controller;
-use Firebase\JWT\JWT;
-use think\Db;
+
+use app\common\service\DingtalkService;
+use app\common\model\User;
 use hg\apidoc\annotation as Apidoc;
-use app\api\controller\Dingtalk;
+
 /**
- * @Apidoc\Title("登录模块")
+ * @Apidoc\Title("登录")
  * @Apidoc\Group("api")
+ * @Apidoc\Sort("1")
  */
 class Login extends Base
 {
+    // 需要登录
+    protected $need_login = [];
+
+    public function initialize()
+    {
+        parent::initialize();
+    }
 
     /**
-     * @Apidoc\Title("登录")
-     * @Apidoc\Desc("登录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("登录")
-     * @Apidoc\Query("code", type="string",require=true, desc="钉钉授权code值")
+     * 登录
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("code", type="string",require=true, desc="免登授权码")
      * @Apidoc\Returned("data", type="string", desc="用户token")
      */
     public function login(){
-        $code = input('code');
-        if(empty($code)){
-            $this->error('参数错误');
+        $code = input('code') ?: '';
+        if(!$code){
+            $this->error('授权码错误');
         }
-        $user = (new Dingtalk())->get_user_info($code);
-        if(empty($user)){
-            $this->error('授权失败');
-        }
-        $member_id = Db::name('store_member')->where('userid',$user->userid)->value('id');
-        if(empty($member_id)){
+
+        $resp = DingtalkService::get_user_info($code);
+        $user = User::where('userid',$resp->userid)->value('id');
+        if(!$user){
             $this->error('不是内部人员');
         }
-        $token = $this->create_jwt($member_id);
+        $token = $this->createJwt($user);
         $this->success('登录成功',$token);
     }
 
     /**
-     * @Apidoc\Title("获取token")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Query("uid", type="string",require=true, desc="userid")
-     * @Apidoc\Returned("token", type="string", desc="用户token")
+     * 获取token
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Param("uid", type="string",require=true, desc="用户ID")
+     * @Apidoc\Returned("data", type="string", desc="用户token")
      */
-    public function  get_token(){
-        $uid = input('uid',1);
-        $token = $this->create_jwt($uid);
+    public function get_token(){
+        $uid = input('uid') ?: '';
+        if(!$uid){
+            $this->error('uid错误');
+        }
+        $token = $this->createJwt($uid);
         $this->success('获取成功',$token);
     }
 
-    //token加密
-    public function create_jwt($uid)
-    {
-        $key = md5(config('app.jwt')); //jwt的签发密钥,验证token的时候需要用到
-        $time = time(); //签发时间
-        $expire = $time + config('app.jwt_time'); //过期时间
-        $token = array(
-            "uid" => $uid,
-            "iss" => "https://zain.com",//签发组织
-            "aud" => "https://zain.com", //签发作者
-            "iat" => $time,
-            "nbf" => $time,
-            "exp" => $expire
-        );
-        $jwt = JWT::encode($token, $key);
-        return $jwt;
-    }
 }

+ 0 - 225
application/api/controller/Maintain.php

@@ -1,225 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\MaintainInfo;
-use app\common\model\MaintainApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("员工维修管理")
- * @Apidoc\Group("api")
- */
-class Maintain extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取维修审核流程")
-     * @Apidoc\Desc("获取维修流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(5,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(5,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修申请")
-     * @Apidoc\Desc("维修申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("title", type="string",desc="标题")
-     * @Apidoc\Query("content", type="string", desc="维修详细内容")
-     * @Apidoc\Query("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Query("address", type="string", desc="维修地址")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyMaintain()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = MaintainInfo::create($request_param);//生成维修记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 维修流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            MaintainInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new MaintainApprove())->saveAll($flow_data);
-        }else{
-            MaintainInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('维修已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @Apidoc\Title("维修记录(列表)")
-     * @Apidoc\Desc("维修记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     */
-    public function getMaintainList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        $list = MaintainInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修详情")
-     * @Apidoc\Desc("维修详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="维修记录id")
-     * @Apidoc\Returned("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="维修记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="维修状态:0待维修(未到该维修人维修),1维修中(已到该维修人维修,还未维修)2维修通过3维修拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="维修时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="维修备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="维修人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="维修人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="维修用时(上一次维修完成到本次维修的时间,单位秒)")
-     */
-    public function getMaintainInfo()
-    {
-        $id = input('get.id');
-        $detail = MaintainInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="维修日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="维修状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="维修时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="维修记录id")
-     * @Apidoc\Returned("remark", type="string", desc="维修备注")
-     */
-    public function getApproveMaintain()
-    {
-        $list = MaintainApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('MaintainInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修审批")
-     * @Apidoc\Desc("维修审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="维修状态(2维修通过3维修拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="维修备注")
-     */
-    public function approveMaintain()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveMaintain($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销维修申请")
-     * @Apidoc\Desc("撤销维修申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="维修记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = MaintainInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('维修记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 80 - 50
application/api/controller/Member.php

@@ -1,11 +1,15 @@
 <?php
+
 namespace app\api\controller;
-use think\Db;
-use app\common\model\User;
+
+use app\common\constant\CommonConstant;
+use app\common\service\UserService;
 use hg\apidoc\annotation as Apidoc;
+
 /**
- * @Apidoc\Title("个人中心")
+ * @Apidoc\Title("我的")
  * @Apidoc\Group("api")
+ * @Apidoc\Sort("2")
  */
 class Member extends Base
 {
@@ -16,69 +20,95 @@ class Member extends Base
     }
 
     /**
-     * @Apidoc\Title("获取个人信息")
-     * @Apidoc\Desc("个人信息")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("phone", type="int", desc="手机号")
-     * @Apidoc\Returned("name", type="string", desc="姓名")
+     * 获取个人信息
+     *
+     * @Apidoc\Method("POST")
+     * @Apidoc\Returned("avatar", type="string", desc="头像地址")
      * @Apidoc\Returned("nickname", type="string", desc="昵称")
-     * @Apidoc\Returned("headimg", type="string", desc="头像地址")
-     * @Apidoc\Returned("title", type="string", desc="职称")
+     * @Apidoc\Returned("name", type="string", desc="姓名")
+     * @Apidoc\Returned("mobile", type="string", desc="手机号码")
      * @Apidoc\Returned("department", type="string", desc="部门(多个部门以逗号分隔)")
+     * @Apidoc\Returned("title", type="string", desc="职位")
      * @Apidoc\Returned("signature", type="string", desc="个人签名")
+     * @Apidoc\Returned("signature_status", type="string", desc="签名状态:1=未操作,2=待审核,3=审核通过,4=审核驳回")
+     * @Apidoc\Returned("department_list", type="array", desc="部门列表")
+     * @Apidoc\Returned("subject", type="string", desc="主体名称")
+     * @Apidoc\Returned("subject_image", type="string", desc="主体图片")
      */
     public function user_info()
     {
-        $uid = $this->user_id;
-        $field = 'phone,name,nickname,headimg,title,department,signature';
-        $info = Db::name('store_member')->field($field)->where('id',$uid)->find();
-        $this->success('获取成功',$info);
+        $user = $this->user;
+        unset($user['status'],$user['is_deleted'],$user['create_at']);
+        $department_data = UserService::get_user_department_list($user['department']);;
+        $user['department_list'] = $department_data;
+        $user['subject'] = sysconf('subject');
+        $user['subject_image'] = sysconf('subject_image');
+        $this->success('获取成功', $user);
     }
+
     /**
-     * @Apidoc\Title("编辑个人信息")
-     * @Apidoc\Desc("个人信息")
+     * 编辑个人信息
+     *
      * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int", require=true, desc="修改的类型(1:昵称,2:签名,3:手机号)")
-     * @Apidoc\Query("nickname", type="string", desc="昵称")
-     * @Apidoc\Query("signature", type="string", desc="签名")
-     * @Apidoc\Query("phone", type="string", desc="手机号")
+     * @Apidoc\Param("type", type="integer", require=true, desc="类型:1=头像地址,2=昵称,3=手机号码,4=签名")
+     * @Apidoc\Param("avatar", type="string", require=false, desc="头像地址")
+     * @Apidoc\Param("nickname", type="string", require=false, desc="昵称")
+     * @Apidoc\Param("mobile", type="string", require=false, desc="手机号码")
+     * @Apidoc\Param("signature", type="string", require=false, desc="签名")
      */
     public function edit()
     {
-        $uid = $this->user_id;
-        $type = input('type');
-        $nickname = input('nickname');
-        $signature = input('signature');
-        $phone = input('phone');
-        if(!in_array($type,[1,2,3])){
-            $this->error('参数错误');
+        $type = input('type') ?: 0;
+        $avatar = input('avatar') ?: '';
+        $nickname = input('nickname') ?: '';
+        $mobile = input('mobile') ?: '';
+        $signature = input('signature') ?: '';
+
+        $data = [];
+        switch ($type){
+            case 1:
+                if (!$avatar) {
+                    $this->error('请上传头像');
+                }
+                break;
+            case 2:
+                if (!$nickname) {
+                    $this->error('请输入昵称');
+                }
+                break;
+            case 3:
+                if (!preg_match("/^1[23456789]\d{9}$/", $mobile)) {
+                    $this->error('手机号格式不正确');
+                }
+                break;
+            case 4:
+                if (!$signature) {
+                    $this->error('请上传签名');
+                }
+                break;
         }
-        if($type == 1){
-            if(empty($nickname)){
-                $this->error('参数错误');
-            }
-            $update_data['nickname'] = $nickname;
-        }elseif ($type == 2){
-            if(empty($signature)){
-                $this->error('参数错误');
-            }
-            $update_data['signature'] = $signature;
-        }elseif ($type == 2){
-            if(empty($phone)){
-                $this->error('参数错误');
-            }
-            if(!preg_match("/^1[23456789]\d{9}$/", $phone)){
+        if ($avatar) {
+            $data['avatar'] = $avatar;
+        }
+        if ($nickname) {
+            $data['nickname'] = $nickname;
+        }
+        if ($mobile) {
+            if (!preg_match("/^1[23456789]\d{9}$/", $mobile)) {
                 $this->error('手机号格式不正确');
             }
-            $update_data['phone'] = $phone;
+            $data['mobile'] = $mobile;
+        }
+        if ($signature) {
+            $data['signature'] = $signature;
+            $data['signature_status'] = CommonConstant::SIGNATURE_STATUS_2;
+        }
+
+        if ($data) {
+            $user = $this->user;
+            $user->save($data);
         }
-        Db::name('store_member')->where('id',$uid)->update($update_data);
         $this->success('编辑成功');
     }
-}
-
 
+}

+ 0 - 238
application/api/controller/Offer.php

@@ -1,238 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\OfferType;
-use app\common\model\OfferInfo;
-use app\common\model\OfferApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("员工呈批管理")
- * @Apidoc\Group("api")
- */
-class Offer extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("user_name", type="string",require=true, desc="会员名称")
-     * @Apidoc\Query("headimg", type="string",require=true, desc="密码")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(4,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(4,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取呈批类型")
-     * @Apidoc\Desc("获取呈批类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getOfferType()
-    {
-        $field = 'id,title';
-        $list = OfferType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("呈批申请")
-     * @Apidoc\Desc("呈批申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="呈批类型id")
-     * @Apidoc\Query("word_size", type="string",desc="发文字号")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("num", type="int", desc="申请数量")
-     * @Apidoc\Query("title", type="string", desc="标题")
-     * @Apidoc\Query("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Query("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyOffer()
-    {
-        $request_param = input('post.');
-        if(empty($request_param['type'])) $this->error('请选择呈批类型');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = OfferInfo::create($request_param);//生成呈批记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            OfferInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new OfferApprove())->saveAll($flow_data);
-        }else{
-            OfferInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('呈批已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-
-    /**
-     * @Apidoc\Title("呈批记录(列表)")
-     * @Apidoc\Desc("呈批记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="呈批类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int", desc="呈批类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     */
-    public function getOfferList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        $list = OfferInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-    /**
-     * @Apidoc\Title("呈批详情")
-     * @Apidoc\Desc("呈批详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="呈批记录id")
-     * @Apidoc\Returned("type", type="int", desc="呈批记录id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="呈批状态:0待呈批(未到该呈批人呈批),1呈批中(已到该呈批人呈批,还未呈批2呈批通过3呈批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次维修的时间,单位秒)")
-     */
-    public function getOfferInfo()
-    {
-        $id = input('get.id');
-        $detail = OfferInfo::with('approveList')->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="呈批类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("approve_id", type="int", desc="审批记录id")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveOffer()
-    {
-        $list = OfferApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('OfferInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批呈批记录")
-     * @Apidoc\Desc("审批呈批记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2呈批通过3呈批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveOffer()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveOffer($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销呈批申请")
-     * @Apidoc\Desc("撤销呈批申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="呈批记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = OfferInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('呈批记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-}
-
-

+ 0 - 236
application/api/controller/Schoolfile.php

@@ -1,236 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\DocumentInfo;
-use app\common\model\DocumentApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("学校文件")
- * @Apidoc\Group("api")
- */
-class Schoolfile extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取学校文件审核流程")
-     * @Apidoc\Desc("获取学校文件流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(6,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(6,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件申请")
-     * @Apidoc\Desc("学校文件申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("branch_id", type="int",desc="部门id")
-     * @Apidoc\Query("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Query("inscribe", type="string",desc="落款")
-     * @Apidoc\Query("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Query("document", type="string", desc="附件")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("file_number", type="string", desc="文件号")
-     * @Apidoc\Query("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyDocument()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = DocumentInfo::create($request_param);//生成学校文件记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 学校文件流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            DocumentInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new DocumentApprove())->saveAll($flow_data);
-        }else{
-            DocumentInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('学校文件已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @Apidoc\Title("学校文件记录(列表)")
-     * @Apidoc\Desc("学校文件记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("branch_id", type="int",desc="部门id")
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     *
-     *
-     */
-    public function getDocumentList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        $list = DocumentInfo::where($sel_where)->limit($this->off_set,$this->page_num)
-            ->order('id desc')
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件详情")
-     * @Apidoc\Desc("学校文件详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="学校文件记录id")
-     * @Apidoc\Returned("branch_id", type="int",desc="部门id")
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     * @Apidoc\Returned("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="学校文件记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="学校文件状态:0待审核学校文件,1学校文件审核中,2审核通过3审核拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="学校文件时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="学校文件备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="学校文件人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="学校文件人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="学校文件用时(上一次学校文件完成到本次学校文件的时间,单位秒)")
-     */
-    public function getDocumentInfo()
-    {
-        $id = input('get.id');
-        $detail = DocumentInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="学校文件类型id")
-     *
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     *
-     * @Apidoc\Returned("apply_date", type="string", desc="学校文件日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="学校文件状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="学校文件时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="学校文件记录id")
-     * @Apidoc\Returned("remark", type="string", desc="学校文件备注")
-     */
-    public function getApproveDocument()
-    {
-        $list = DocumentApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('DocumentInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件审批")
-     * @Apidoc\Desc("学校文件审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="学校文件状态(2学校文件通过3学校文件拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="学校文件备注")
-     */
-    public function approveDocument()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveDocument($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销学校文件申请")
-     * @Apidoc\Desc("撤销学校文件申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="学校文件记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = DocumentInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('学校文件记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 0 - 106
application/api/controller/Subscribe.php

@@ -1,106 +0,0 @@
-<?php
-namespace app\api\controller;
-
-use app\api\controller\Base;
-use think\Db;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("申购模块")
- * @Apidoc\Group("api")
- */
-class Subscribe extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-    /**
-     * @Apidoc\Title("获取商品导入模板地址")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("", type="string", desc="模板链接地址")
-     */
-    public function template_url()
-    {
-        $url = 'https://'.$_SERVER['HTTP_HOST'].'/template.xlsx';
-        $this->success('获取成功',$url);
-    }
-    /**
-     * @Apidoc\Title("获取商品导入后的商品信息")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("url", type="string", desc="导入文件上传后的路径")
-     * @Apidoc\Returned("", type="string", desc="模板链接地址")
-     */
-    public function goods_info()
-    {
-        $url = input('url');
-        if(empty($url)){
-            $this->error('参数错误');
-        }
-        $file_name = explode('/',$url);
-        $import_path = $_SERVER['DOCUMENT_ROOT'].'/upload/excel/'.end($file_name);
-        $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
-        $objExcel = $objReader->load($import_path);
-        $list = $objExcel->getActiveSheet()->toArray();
-        if(empty($list)){
-            $this->error('暂无数据');
-        }
-        $data = array();
-        foreach ($list as $k=>$v){
-            if($k > 0 && $v[0]){
-                //判断分类是否有
-                $old_cate_one_id = $cate_one_id = Db::name('goods_cate')->where('title',$v[1])->where('level',1)->value('id');
-                $old_cate_two_id = $cate_two_id = Db::name('goods_cate')->where('title',$v[2])->where('level',2)->value('id');
-                if(empty($cate_one_id)){
-                    Db::name('goods_cate')->insert(array('title'=>$v[1]));
-                    $cate_one_id = Db::name('goods_cate')->getLastInsID();
-                    Db::name('goods_cate')->insert(array('title'=>$v[2],'level'=>2,'pid'=>$cate_one_id));
-                    $cate_two_id = Db::name('goods_cate')->getLastInsID();
-                }
-                if(empty($cate_two_id)){
-                    Db::name('goods_cate')->insert(array('title'=>$v[2],'level'=>2,'pid'=>$cate_one_id));
-                    $cate_two_id = Db::name('goods_cate')->getLastInsID();
-                }
-                $goods_id = Db::name('store_goods')->where('name',$v[4])->value('id');
-                if(empty($old_cate_one_id) || empty($old_cate_two_id) || empty($goods_id)){
-                    Db::name('store_goods')->insert(array('name'=>$v[4],'brand'=>$v[3],'first_classify'=>$cate_one_id,'second_classify'=>$cate_two_id,'user_id'=>$this->user_id));
-                    $goods_id = Db::name('store_goods')->getLastInsID();
-                }
-                $specification_name_arr = explode(',',$v[5]);
-                $specification_value_arr = explode(',',$v[6]);
-                if(count($specification_name_arr) != count($specification_value_arr)){
-                    $this->error('规格信息有误');
-                }
-
-                $specification = '';
-                foreach ($specification_name_arr as $sk=>$sv){
-                    if($sk == 0){
-                        $specification = $sv.':'.$specification_value_arr[$sk];
-                    }else{
-                        $specification .= ','.$sv.':'.$specification_value_arr[$sk];
-                    }
-                    //保存规格键值
-                    $spec_id = Db::name('goods_spec')->where('goods_id',$goods_id)->where('spec_name',$sv)->where('spec_value',$specification_value_arr[$sk])->value('id');
-                    if(empty($spec_id)){
-                        Db::name('goods_spec')->insert(array('goods_id'=>$goods_id,'spec_name'=>$sv,'spec_value'=>$specification_value_arr[$sk]));
-                    }
-                }
-                $goods_item_id = Db::name('store_goods_item')->where('goods_id',$goods_id)->where('goods_spec',$specification)->value('id');
-                if(empty($goods_item_id)){
-                    Db::name('store_goods_item')->insert(array('goods_id'=>$goods_id, 'goods_spec'=>$specification, 'goods_no'=>$v[0]));
-                    $goods_item_id = Db::name('store_goods_item')->getLastInsID();
-                }
-                $data[] = array('name'=>$v[4],'specification'=>$specification,'num'=>$v[7],'price'=>$v[8],'goods_item_id'=>$goods_item_id);
-            }
-        }
-        $this->success('导入成功',$data);
-    }
-}
-
-

+ 0 - 10
application/api/controller/Task.php

@@ -1,10 +0,0 @@
-<?php
-namespace app\api\controller;
-
-class Task extends Base
-{
-
-
-
-
-}

+ 59 - 51
application/api/controller/Upload.php

@@ -1,49 +1,46 @@
 <?php
 
-// +----------------------------------------------------------------------
-// | ThinkAdmin
-// +----------------------------------------------------------------------
-// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://demo.thinkadmin.top
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
-// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
-// +----------------------------------------------------------------------
-
 namespace app\api\controller;
-use library\File;
 
+use library\File;
 use hg\apidoc\annotation as Apidoc;
+use think\Exception;
+
 /**
  * @Apidoc\Title("上传文件")
  * @Apidoc\Group("api")
+ * @Apidoc\Sort("3")
  */
 class Upload extends Base
 {
-    protected $id ;
+    protected $id;
     protected $key;
     protected $host;
 
-    public function initialize(){
-       $this->id =   sysconf('storage_oss_keyid');
-       $this->key =  sysconf('storage_oss_secret');
-       $this->host = "https://".sysconf('storage_oss_domain');
+    public function initialize()
+    {
+        $this->id = sysconf('storage_oss_keyid');
+        $this->key = sysconf('storage_oss_secret');
+        $this->host = "https://" . sysconf('storage_oss_domain');
     }
+
     /**
-     * @Apidoc\Title("上传文件接口(上传到本地(导入模板需要))")
-     * @Apidoc\Desc("获取配置")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("file", type="string",require=true, desc="表达提交的文件信息")
+     * @Apidoc\Title("上传文件接口(上传到本地)")
+     * @Apidoc\Desc("上传文件Desc")
+     * @Apidoc\Tag("上传文件Tag")
+     * @Apidoc\Method("POST")
+     * @Apidoc\Author("上传文件Author")
+     * @Apidoc\ParamType("formdata")
+     * @Apidoc\Param("file",type="file", require=true,desc="附件")
      * @Apidoc\Returned("url", type="string", desc="上传后的文件路径")
+     * @Apidoc\Returned("fullurl", type="string", desc="文件地址")
+     * @Apidoc\Returned("name", type="string", desc="文件名称")
+     * @Apidoc\Returned("size", type="string", desc="文件大小")
      */
     public function upload()
     {
-        if (!($file = $this->getUploadFile()) || empty($file)) {
+        $file = $this->request->file('file');
+        if (!$file) {
             $this->error('文件上传异常,文件可能过大或未上传!');
         }
         if (!$file->checkExt(strtolower(sysconf('storage_local_exts')))) {
@@ -52,41 +49,48 @@ class Upload extends Base
         if ($file->checkExt('php,sh')) {
             $this->error('可执行文件禁止上传到本地服务器!');
         }
+        $fileinfo = $file->getInfo();
         $this->safe = boolval(input('safe'));
         $this->uptype = $this->getUploadType();
         $this->extend = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);
-        $name = File::name($file->getPathname(), $this->extend, '', 'md5_file');
-        $info = File::instance($this->uptype)->save($name, file_get_contents($file->getRealPath()), $this->safe);
+        $subPath = date('Ymd');
+        $savePath = $subPath;
+        $filename = date('YmdHis') . uniqid();
+        $suffix = '.' . $this->extend;
+        $realpath = $savePath . '/' . $filename . $suffix;
+        try {
+            $info = File::instance($this->uptype)->save($realpath, file_get_contents($file->getRealPath()), $this->safe);
+        } catch (Exception $e) {
+            $this->error($e->getMessage());
+        }
         if (is_array($info) && isset($info['url'])) {
-            $url = $this->safe ? $name : $info['url'];
-            $this->success('上传成功',$url);
+            $url = $this->safe ? $realpath : $info['url'];
+            $data = [
+                'url' => '/' . $info['key'],
+                'fullurl' => $info['url'],
+                'name' => $fileinfo['name'],
+                'size' => $fileinfo['size'],
+            ];
+            $this->success('上传成功', $data);
         } else {
             $this->error('文件处理失败,请稍候再试!');
         }
     }
-    private function getUploadFile()
-    {
-        try {
-            return $this->request->file('file');
-        } catch (\Exception $e) {
-            $this->error(lang($e->getMessage()));
-        }
-    }
+
     private function getUploadType()
     {
         $this->uptype = input('uptype');
+        $this->uptype = 'local';
         if (!in_array($this->uptype, ['local', 'oss', 'qiniu'])) {
             $this->uptype = sysconf('storage_type');
         }
         return $this->uptype;
     }
+
     /**
      * @Apidoc\Title("获取OSS配置(用于上传文件到OSS使用)")
      * @Apidoc\Desc("获取配置")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="string",require=true, desc="文件要保存的目录名称(需前端创建好)")
+     * @Apidoc\Param("type", type="string",require=true, desc="文件要保存的目录名称(需前端创建好)")
      * @Apidoc\Returned("OSSAccessKeyId", type="string", desc="keyId")
      * @Apidoc\Returned("policy", type="string", desc="规则")
      * @Apidoc\Returned("Signature", type="string", desc="签名")
@@ -94,21 +98,23 @@ class Upload extends Base
      * @Apidoc\Returned("expire", type="string", desc="有效截止时间")
      * @Apidoc\Returned("key", type="string", desc="路径(前端生成的目录名称+/)")
      */
-    public function getSignedUrl(){
+    public function getSignedUrl()
+    {
 
-        $type=$this->request->get('type','image');
-        $data=$this->getPolicy($type.'/');
-        $this->success('操作成功',$data);
+        $type = $this->request->get('type', 'image');
+        $data = $this->getPolicy($type . '/');
+        $this->success('操作成功', $data);
     }
 
-    public function getPolicy($path,$maxSize=5000000){
+    public function getPolicy($path, $maxSize = 5000000)
+    {
         $now = time();
         $expire = 600; //设置该policy超时时间是10s. 即这个policy过了这个有效时间,将不能访问
         $end = $now + $expire;
         $expiration = $this->_gmt_iso8601($end);
         $policy = [
-            'expiration'=>$expiration,
-            'conditions'=>[
+            'expiration' => $expiration,
+            'conditions' => [
                 ['content-length-range', 1, $maxSize],
                 ['starts-with', '$key', $path],
             ]
@@ -128,13 +134,15 @@ class Upload extends Base
         $response['key'] = $path;
         return $response;
     }
-    protected function _gmt_iso8601($time) {
+
+    protected function _gmt_iso8601($time)
+    {
         $dtStr = date("c", $time);
         $mydatetime = new \DateTime($dtStr);
         $expiration = $mydatetime->format(\DateTime::ISO8601);
         $pos = strpos($expiration, '+');
         $expiration = substr($expiration, 0, $pos);
-        return $expiration."Z";
+        return $expiration . "Z";
     }
 
 }

+ 0 - 232
application/api/controller/UserCar.php

@@ -1,232 +0,0 @@
-<?php
-namespace app\api\controller;
-use AlibabaCloud\SDK\Dingtalk\Vyida_1_0\Models\GetFormDataByIDResponseBody\originator\name;
-use app\common\model\CarApprove;
-use app\common\model\ApproveFlow;
-use app\common\model\CarInfo;
-use app\common\service\ApproveService;
-use think\Db;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("用车管理")
- * @Apidoc\Group("api")
- */
-class UserCar extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(2,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(2,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("用车申请")
-     * @Apidoc\Desc("用车申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("departure", type="string",desc="出发地址")
-     * @Apidoc\Query("start_time", type="string", desc="出发时间")
-     * @Apidoc\Query("arrive", type="string", desc="到达地址")
-     * @Apidoc\Query("end_time", type="string", desc="返回时间")
-     * @Apidoc\Query("back_address", type="string", desc="返回地址")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyCar()
-    {
-        $departure = input('post.departure');
-        $start_time = input('post.start_time');
-        $arrive = input('post.arrive');
-        $end_time = input('post.end_time');
-        $back_address = input('post.back_address');
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;
-        $request_param['apply_user'] = $this->user_id;
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = CarInfo::create($request_param);//生成出差记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num = $approve_res['flow_num'];
-
-        if(!empty($flow_data)) {
-            CarInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new CarApprove())->saveAll($flow_data);
-        }else{
-            CarInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('用车申请已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @Apidoc\Title("我的申请用车记录(列表)")
-     * @Apidoc\Desc("我的申请用车记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Query("sel_time", type="string", desc="时间查询")
-     * @Apidoc\Returned("create_at", type="string", desc="提交申请用车时间")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="用车会员头像")
-     */
-    public function getApplyList()
-    {
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.sel_time'))  $sel_where[] = ['create|end_date','=',input('get.sel_time')];
-        $list = CarInfo::where($sel_where)
-            ->field('c.id,c.create_at,c.departure,c.start_time,c.arrive,c.end_time,c.back_address,u.name user_name,u.headimg')
-            ->alias('c')
-            ->leftJoin('StoreMember u','u.id = c.user_id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("用车记录详情")
-     * @Apidoc\Desc("用车记录详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="用车记录id")
-     * @Apidoc\Returned("create_at", type="string", desc="提交申请用车时间")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="审批状态:0待审批(未到该审批人审批),1审批中(已到该审批人审批,还未审批)2审批通过3审批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次审批的时间,单位秒)")
-     */
-    public function getApplyDetail()
-    {
-        $id = input('get.id');
-        $detail = CarInfo::field('c.id,c.create_at,c.departure,c.start_time,c.arrive,c.end_time,c.back_address,u.name user_name,u.headimg')
-            ->alias('c')->with('approveList')->where(['user_id'=>$this->user_id])->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveApply()
-    {
-        $list = CarApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('CarInfo i','p.car_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        array_walk($list,function (&$v){
-            $user_info = $this->userInfo('name,headimg');
-            $v['user_name'] = $user_info['name'];
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("撤销用车申请")
-     * @Apidoc\Desc("撤销用车申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="用车记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = CarInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('用车记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-    /**
-     * @Apidoc\Title("审批用车记录")
-     * @Apidoc\Desc("审批用车记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2维修通过3维修拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveCar()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveCar($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-}
-
-

+ 0 - 268
application/api/controller/UserLeave.php

@@ -1,268 +0,0 @@
-<?php
-namespace app\api\controller;
-use AlibabaCloud\SDK\Dingtalk\Vyida_1_0\Models\GetFormDataByIDResponseBody\originator\name;
-use app\common\model\LeaveApprove;
-use app\common\model\ApproveFlow;
-use app\common\model\LeaveInfo;
-use app\common\model\LeaveType;
-use app\common\service\ApproveService;
-use think\Db;
-use app\common\model\User;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("员工请假管理")
- * @Apidoc\Group("api")
- */
-class UserLeave extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(1,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(1,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取请假类型")
-     * @Apidoc\Desc("获取请假类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getLeaveType()
-    {
-        $field = 'id,title';
-        $user_info = LeaveType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['detail'=>$user_info]);
-    }
-
-    /**
-     * @Apidoc\Title("请假申请")
-     * @Apidoc\Desc("请假申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="请假类型id")
-     * @Apidoc\Query("start_date", type="string",desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Query("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Query("end_time", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Query("title", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Query("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Query("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Query("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Query("user_id", type="int", desc="请假会员id(自己请假可以不传,代为请假传请假人id)")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyVacate()
-    {
-        $request_param = input('post.');
-        if(empty($request_param['start_date']) || empty($request_param['end_date'])) $this->error('请选择请假期');
-        if(empty($request_param['type'])) $this->error('请选择请假类型');
-        if(empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
-        $request_param['apply_user'] = $this->user_id;// 申请会员id
-
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = LeaveInfo::create($request_param);//生成出差记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num = $approve_res['flow_num'];
-
-        if(!empty($flow_data)) {
-            LeaveInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new LeaveApprove())->saveAll($flow_data);
-        }else{
-            LeaveInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('请假已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-    }
-
-    /**
-     * @Apidoc\Title("我的请假记录(列表)")
-     * @Apidoc\Desc("我的请假记录")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",desc="页数")
-     * @Apidoc\Query("page_num", type="string", desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="请假类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Query("sel_time", type="string", desc="时间查询")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     */
-    public function getVacateList()
-    {
-        $all_type = LeaveType::getAllType();
-        $type = array_column($all_type,null,'id');
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        if(input('get.sel_time'))  $sel_where[] = ['start_date|end_date','=',input('get.sel_time')];
-        $list = LeaveInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        array_walk($list,function (&$v,$k)use ($type){
-            $list['type_name'] = $type[$v['type']]['title'];
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("我的请假详情")
-     * @Apidoc\Desc("我的请假详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="审批状态:0待审批(未到该审批人审批),1审批中(已到该审批人审批,还未审批)2审批通过3审批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次维修的时间,单位秒)")
-     */
-    public function getVacateDetail()
-    {
-        $id = input('get.id');
-        $detail = LeaveInfo::with('approveList')->where(['user_id'=>$this->user_id])->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $detail['images_arr'] = $detail['images'] ? explode('|',$detail['images']) : null;
-        $this->success('ok',['detail'=>$detail]);
-
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("id", type="int", desc="请假记录id")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveLeave()
-    {
-        $list = LeaveApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('LeaveInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        array_walk($list,function (&$v){
-            $v['images_arr'] =  $v['images'] ? explode('|',$v['images']) : null;
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批请假记录")
-     * @Apidoc\Desc("审批请假记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2审批通过3审批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveLeave()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveLeave($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销请假申请")
-     * @Apidoc\Desc("撤销请假申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = LeaveInfo::where('id',$id)->where('user_id|apply_user',$this->user_id)->find();
-        if(!$apply_info)$this->error('请假记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-}
-
-

+ 110 - 0
application/api/view/common/index_1.html

@@ -0,0 +1,110 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    {notempty name='vo.contract'}
+    <tr>
+        <td class="content">合同编号</td>
+        <td class="content">{foreach $vo.contract as $k=>$v}{$v.reason}<br/>{/foreach}</td>
+    </tr>
+    {/notempty}
+    <tr>
+        <td class="content">申购事由</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">申购类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    {notempty name='vo.data'}
+    <tr>
+        <td class="content">总金额</td>
+        <td class="content">{$vo.module_info.total_amount|default='--'}</td>
+    </tr>
+    {/notempty}
+    <tr>
+        <td class="content">预计申购完成日期</td>
+        <td class="content">{$vo.module_info.start_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">支付方式</td>
+        <td class="content">{$get_pay_type_list[$vo.module_info.pay_type]|default='--'}</td>
+    </tr>
+</table>
+{notempty name='vo.data'}
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30"></td>
+        <td class="content with-20">商品名称</td>
+        <td class="content with-20">总金额(元)</td>
+        <td class="content with-30">商品规格、单价、数量</td>
+    </tr>
+    {foreach $vo.data as $k=>$v}
+    <tr>
+        {if ($k eq 0)}<td class="content with-30" rowspan="{:count($vo.data)}">申购明细</td>{/if}
+        <td class="content with-20">{$v.goods_name}</td>
+        <td class="content with-20">{$v.total_price}</td>
+        <td class="content with-30">
+            {notempty name='v.goods_stock_text'}
+            {foreach name="v.goods_stock_text" item="vv"}规格:{$vv.name|default='--'} 单价:{$vv.price|default='--'} 数量:{$vv.stock|default='--'}<br/>{/foreach}
+            {/notempty}
+        </td>
+    </tr>
+    {/foreach}
+</table>
+{/notempty}
+{include file='common/index_approve'}

+ 88 - 0
application/api/view/common/index_10.html

@@ -0,0 +1,88 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.module_info.founder|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">来文单位名称</td>
+        <td class="content">{$vo.module_info.desc|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">收文序号</td>
+        <td class="content">{$vo.module_info.serial_number|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">文件名称</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">缓急程度</td>
+        <td class="content">{$get_degree_list[$vo.module_info.degree]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">收文日期</td>
+        <td class="content">{$vo.module_info.start_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">内容摘要</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 88 - 0
application/api/view/common/index_11.html

@@ -0,0 +1,88 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">拟稿部门</td>
+        <td class="content">{$vo.module_info.department|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">文件名称</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">落款</td>
+        <td class="content">{$vo.module_info.department_sign|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">上会情况</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">缓急程度</td>
+        <td class="content">{$get_degree_list[$vo.module_info.desc]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">拟发文时间</td>
+        <td class="content">{$vo.module_info.start_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">文件号</td>
+        <td class="content">{$vo.module_info.serial_number|default='--'}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 84 - 0
application/api/view/common/index_2.html

@@ -0,0 +1,84 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">呈批类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">发文字号</td>
+        <td class="content">{$vo.module_info.word_size|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">缓急程度</td>
+        <td class="content">{$get_degree_list[$vo.module_info.desc]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">印制份数</td>
+        <td class="content">{$vo.module_info.number|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">申请标题</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">申请内容</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 98 - 0
application/api/view/common/index_3.html

@@ -0,0 +1,98 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-50{
+        width:50%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    {notempty name='vo.apply'}
+    <tr>
+        <td class="content">采购审批单</td>
+        <td class="content">{$vo.apply.order_no|default='--'}</td>
+    </tr>
+    {else/}
+    <tr>
+        <td class="content">采购审批单</td>
+        <td class="content">否</td>
+    </tr>
+    {/notempty}
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">其它补充说明</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+</table>
+{notempty name='vo.data'}
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30"></td>
+        <td class="content with-20">商品名称</td>
+        <td class="content with-50">商品规格、数量</td>
+    </tr>
+    {foreach $vo.data as $k=>$v}
+    <tr>
+        {if ($k eq 0)}<td class="content with-30" rowspan="{:count($vo.data)}">入库明细</td>{/if}
+        <td class="content with-20">{$v.goods_name}</td>
+        <td class="content with-50">
+            {notempty name='v.goods_stock_text'}
+            {foreach name="v.goods_stock_text" item="vv"}规格:{$vv.name|default='--'} 数量:{$vv.stock|default='--'}<br/>{/foreach}
+            {/notempty}
+        </td>
+    </tr>
+    {/foreach}
+</table>
+{/notempty}
+{include file='common/index_approve'}

+ 91 - 0
application/api/view/common/index_4.html

@@ -0,0 +1,91 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-50{
+        width:50%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">物品用途</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">其它补充说明</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+</table>
+{notempty name='vo.data'}
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30"></td>
+        <td class="content with-20">商品名称</td>
+        <td class="content with-50">商品规格、数量</td>
+    </tr>
+    {foreach $vo.data as $k=>$v}
+    <tr>
+        {if ($k eq 0)}<td class="content with-30" rowspan="{:count($vo.data)}">领用明细</td>{/if}
+        <td class="content with-20">{$v.goods_name}</td>
+        <td class="content with-50">
+            {notempty name='v.goods_stock_text'}
+            {foreach name="v.goods_stock_text" item="vv"}规格:{$vv.name|default='--'} 数量:{$vv.stock|default='--'}<br/>{/foreach}
+            {/notempty}
+        </td>
+    </tr>
+    {/foreach}
+</table>
+{/notempty}
+{include file='common/index_approve'}

+ 97 - 0
application/api/view/common/index_5.html

@@ -0,0 +1,97 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">申请人</td>
+        <td class="content">{$vo.apply_user.name|default='--'}</td>
+    </tr>
+
+    <tr>
+        <td class="content">出差事由</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">出差开始时间</td>
+        <td class="content">{$vo.module_info.start_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">出差结束时间</td>
+        <td class="content">{$vo.module_info.end_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">出差类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    {if ($vo.type == 1)}
+    <tr>
+        <td class="content">是否跨关内关外</td>
+        <td class="content">{$get_is_who_list[$vo.module_info.is_who]|default='--'}</td>
+    </tr>
+    {/if}
+    <tr>
+        <td class="content">备注</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+    {notempty name='vo.data'}
+    <tr>
+        <td class="content">同行人员</td>
+        <td class="content">{foreach $vo.data as $k=>$v}{$v.name|default='--'}&nbsp;{/foreach}</td>
+    </tr>
+    {/notempty}
+</table>
+{include file='common/index_approve'}

+ 88 - 0
application/api/view/common/index_6.html

@@ -0,0 +1,88 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">申请人</td>
+        <td class="content">{$vo.apply_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">请假类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">请假开始时间</td>
+        <td class="content">{$vo.module_info.start_time|default='--'} {$vo.module_info.start_am|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">请假结束时间</td>
+        <td class="content">{$vo.module_info.end_time|default='--'} {$vo.module_info.end_am|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">请假时长</td>
+        <td class="content">{$vo.module_info.time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">请假原因</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">是否离"深"</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 84 - 0
application/api/view/common/index_7.html

@@ -0,0 +1,84 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">申请人</td>
+        <td class="content">{$vo.apply_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">出发地点</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">出发时间</td>
+        <td class="content">{$vo.module_info.start_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">到达地点</td>
+        <td class="content">{$vo.module_info.reach_address|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">返回时间</td>
+        <td class="content">{$vo.module_info.end_time|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">返回地点</td>
+        <td class="content">{$vo.module_info.end_address|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 92 - 0
application/api/view/common/index_8.html

@@ -0,0 +1,92 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    <tr>
+        <td class="content">维修类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">维修地点</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">具体内容</td>
+        <td class="content">{$vo.module_info.desc|default='--'}</td>
+    </tr>
+    {if ($vo.maintain_user_id > 0)}
+    <tr>
+        <td class="content">维修人员</td>
+        <td class="content">{$vo.maintain_user.name|default='--'}</td>
+    </tr>
+    {/if}
+    {if ($vo.module_info.feedback_status == 1)}
+    <tr>
+        <td class="content">维修结果</td>
+        <td class="content">{$vo.module_info.feedback|default='--'}</td>
+    </tr>
+    {else/}
+    {/if}
+    {if ($vo.module_info.comment_status == 1)}
+    <tr>
+        <td class="content">评分</td>
+        <td class="content">{$vo.module_info.comment_score|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">评价内容</td>
+        <td class="content">{$vo.module_info.comment|default='--'}</td>
+    </tr>
+    {else/}
+    {/if}
+</table>
+{include file='common/index_approve'}

+ 99 - 0
application/api/view/common/index_9.html

@@ -0,0 +1,99 @@
+<style>
+    table {
+        /*letter-spacing: 1px;*/
+        width: 100%;
+        border-collapse: collapse;
+        table-layout: fixed;
+    }
+    td {
+        text-align: left;
+    }
+    .content {
+        border: 1px solid black;
+    }
+    .with-30{
+        width:30%;
+    }
+    .with-20{
+        width:20%;
+    }
+    .with-70{
+        width:70%;
+    }
+    .align-center {
+        text-align: center;
+    }
+    .font-size-14{
+        font-size: 14pt;
+    }
+</style>
+<div class="align-center font-size-14">{$get_module_list[$vo.module]|default='--'}审批单</div>
+<table cellpadding="6">
+    <tr>
+        <td class="with-30">{$vo.subject|default='--'}</td>
+        <td class="with-70">&nbsp;&nbsp;创建时间:{$vo.apply_date|default='--'}</td>
+        <td></td>
+    </tr>
+</table>
+<table cellpadding="8">
+    <tr>
+        <td class="content with-30">审批编号</td>
+        <td class="content with-70">{$vo.order_no|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">审批状态</td>
+        <td class="content">{$get_approve_status_list[$vo.status]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人</td>
+        <td class="content">{$vo.create_user.name|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">创建人部门</td>
+        <td class="content">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</td>
+    </tr>
+    {notempty name='vo.apply'}
+    <tr>
+        <td class="content">采购审批单</td>
+        <td class="content">{$vo.apply.order_no|default='--'}</td>
+    </tr>
+    {else/}
+    <tr>
+        <td class="content">采购审批单</td>
+        <td class="content">否</td>
+    </tr>
+    {/notempty}
+    <tr>
+        <td class="content">合同类型</td>
+        <td class="content">{$get_type_list[$vo.type]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">合同编号</td>
+        <td class="content">{$vo.reason|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">缓急程度</td>
+        <td class="content">{$get_degree_list[$vo.module_info.desc]|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">印制份数</td>
+        <td class="content">{$vo.module_info.number|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">发放范围</td>
+        <td class="content">{$vo.module_info.scope|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">法务意见</td>
+        <td class="content">{$vo.module_info.legal_opinion|default='--'}</td>
+    </tr>
+    <tr>
+        <td class="content">附件</td>
+        <td class="content">{notempty name='vo.module_info.document_text'}{foreach $vo.module_info.document_text as $k=>$v} {$v.name}<br/>{/foreach}{/notempty}</td>
+    </tr>
+    <tr>
+        <td class="content">备注说明</td>
+        <td class="content">{$vo.module_info.remark|default='--'}</td>
+    </tr>
+</table>
+{include file='common/index_approve'}

+ 26 - 0
application/api/view/common/index_approve.html

@@ -0,0 +1,26 @@
+{notempty name='vo.approve'}
+<table cellpadding="8">
+    {foreach $vo.approve as $k=>$v}
+    <tr>
+        {if ($k eq 1)}<td class="content with-30" rowspan="{$vo.approve_count}">审批流程</td>{/if}
+        <td class="content with-70" style="line-height: 100%;">
+            {if $v.remark}<div style="line-height: 100%;">{$v.remark}</div> {/if}
+            <table cellpadding="0">
+                <tr>
+                    <td>{$v.user.name|default='--'}&nbsp;{$get_approve_status_list_admin[$v.status]|default='--'}</td>
+                    <td align="right">{$v.approve_time|default='--'}</td>
+                </tr>
+            </table>
+            {if ($v.user.signature_status eq 3 && $v.user.signature)}
+            <img src="{$v.user.signature}" height="30px" style="vertical-align:top;">
+            {/if}
+        </td>
+    </tr>
+    {/foreach}
+    {notempty name='vo.approve_copy'}
+    <tr>
+        <td class="content">抄送 {foreach $vo.approve_copy as $k=>$v}{$v.user.name|default='--'}&nbsp;{/foreach}</td>
+    </tr>
+    {/notempty}
+</table>
+{/notempty}

+ 139 - 0
application/approve/controller/ApproveFlow.php

@@ -0,0 +1,139 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\service\CommonService;
+use app\common\service\UserService;
+use library\Controller;
+
+/**
+ * 审批流程设置
+ */
+class ApproveFlow extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'ApproveFlow';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_module_list = CommonConstant::get_module_list();
+        $this->get_type_list = CommonConstant::get_type_list();
+        $this->get_user_type_list = CommonConstant::get_user_type_list();
+        $this->get_user_type_list_json = json_encode($this->get_user_type_list,JSON_UNESCAPED_UNICODE);
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $module = input('module');
+        $this->get_item_list = CommonService::get_item_list($module);
+
+        $this->title = $this->get_module_list[$module].'审批流程';
+        $query = $this->_query($this->table)
+            ->field('user_data',true)
+            ->where('module',$module);
+        $query->page(false);
+    }
+
+    /**
+     * 列表数据处理
+     * @param array $data
+     * @throws \Exception
+     */
+    protected function _index_page_filter(&$data)
+    {
+        foreach ($data as &$value) {
+        }
+    }
+
+
+    /**
+     * 编辑
+     * @auth true
+     */
+    public function edit()
+    {
+        $this->title = '编辑';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 表单处理
+     * @param array $data
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    protected function _form_filter(&$data)
+    {
+        if ($this->request->isGet()) {
+            if ($data) {
+                // 编辑获取数据时
+                $data['user_data_text'] = json_decode($data['user_data'], true);
+                $this->get_item_list = CommonService::get_item_list($data['module']);
+                $this->user_list = UserService::get_list(1);
+                $this->user_list_json = json_encode($this->user_list, JSON_UNESCAPED_UNICODE);
+            }
+        }
+        if ($this->request->isPost()) {
+            if ($data) {
+                // 编辑提交数据时
+                if (!isset_full($data, 'user_data')) {
+                    $this->error('请添加审批层级');
+                }
+                $user_data = array_filter($data['user_data']);
+                if (!$user_data) {
+                    $this->error('请添加审批层级!');
+                }
+                $save_data = [];
+                foreach ($user_data as $key => $val) {
+                    $save_data[] = [
+                        'user_type' => $val['user_type'],
+                        'userid' => $val['user_type'] == CommonConstant::USER_TYPE_1 ? '' : $val['userid'],
+                    ];
+                }
+                $data['user_data'] = json_encode($save_data, JSON_UNESCAPED_UNICODE);
+            }
+        }
+    }
+
+
+    /**
+     * 列表
+     */
+    public function flow()
+    {
+        $this->title = '审批流';
+        $list = $this->get_module_list;
+        return $this->fetch('', compact("list"));
+    }
+
+}

+ 137 - 0
application/approve/controller/ApproveInfo.php

@@ -0,0 +1,137 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\ApplyConstant;
+use app\common\constant\CommonConstant;
+use app\common\constant\OfferConstant;
+use app\common\service\ApproveInfoService;
+use app\common\service\CommonService;
+use app\common\model\ApproveInfo as model;
+use app\common\model\ApproveMaintainUser;
+use library\Controller;
+
+/**
+ * 审批申请
+ */
+class ApproveInfo extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'ApproveInfo';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_module_list = CommonConstant::get_module_list();
+        $this->get_approve_status_list = CommonConstant::get_approve_status_list();
+        $this->get_approve_status_list_admin = CommonConstant::get_approve_status_list_admin();
+        $this->get_is_who_list = CommonConstant::get_is_who_list();
+        $this->get_pay_type_list = ApplyConstant::get_pay_type_list();
+        $this->get_degree_list = OfferConstant::get_degree_list();
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $this->module = $module = input('module');
+        $status = input('status');
+        $create_at = input('create_at');
+        $order_no = input('order_no');
+        $reason = input('reason');
+        $type = input('type');
+        $desc = input('desc');
+        $create_data = [];
+        if ($create_at) {
+            foreach (explode(' - ', $create_at) as $key => $val) {
+                $create_data[] = $key == 0 ? "{$val} 00:00:00" : "{$val} 23:59:59";
+            }
+        }
+
+        $this->title = $this->get_module_list[$this->module] . '列表';
+        $this->get_type_list = CommonService::get_type_list($this->module);
+
+        $data = model::field('is_deleted', true)
+            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+            ->where('module', $this->module)
+            ->when($status > 0, function ($query) use ($status) {
+                $query->where('status', $status);
+            })
+            ->when($create_data, function ($query) use ($create_data) {
+                $query->where('create_at', 'BETWEEN', $create_data);
+            })
+            ->when($order_no, function ($query) use ($order_no) {
+                $query->where('order_no', 'like', '%' . $order_no . '%');
+            })
+            ->when($reason, function ($query) use ($reason) {
+                $query->where('reason', 'like', '%' . $reason . '%');
+            })
+            ->when($type > 0, function ($query) use ($type) {
+                $query->where('type', $type);
+            })
+            ->when($desc, function ($query) use ($desc, $module) {
+                if ($module == CommonConstant::MODULE_10) {
+                    $query->where('desc', 'like', '%' . $desc . '%');
+                } else {
+                    $query->where('desc', $desc);
+                }
+            })
+            ->with([
+                'createUser' => function ($query) {
+                    $query->field('id,userid,name,mobile');
+                },
+            ])
+            ->order('id desc');
+        self::_init($data);
+    }
+
+
+    /**
+     * 编辑
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '详情';
+        $data = ApproveInfoService::get_detail(input('id') ?: 0, [], CommonConstant::IS_WHO_0, 'detail');
+        if ($data) {
+            // 维修人员
+            $data['maintain_user'] = $data['module'] == CommonConstant::MODULE_8 && $data['maintain_user_id'] > 0 ? ApproveMaintainUser::field('id,name')->find($data['maintain_user_id']) : null;
+
+            $this->title = $this->get_module_list[$data['module']] . '详情';
+            $this->get_type_list = CommonService::get_type_list($data['module']);
+        }
+        return $this->fetch('form', ['vo' => $data]);
+    }
+
+}

+ 100 - 0
application/approve/controller/ApproveInfoLog.php

@@ -0,0 +1,100 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\ApplyConstant;
+use app\common\constant\CommonConstant;
+use app\common\constant\OfferConstant;
+use app\common\model\ApproveInfoLog as model;
+use app\common\service\CommonService;
+use library\Controller;
+
+/**
+ * 审批申请-审批人修改记录
+ */
+class ApproveInfoLog extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'ApproveInfoLog';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_module_list = CommonConstant::get_module_list();
+        $this->get_approve_status_list = CommonConstant::get_approve_status_list();
+        $this->get_approve_status_list_admin = CommonConstant::get_approve_status_list_admin();
+        $this->get_is_who_list = CommonConstant::get_is_who_list();
+        $this->get_pay_type_list = ApplyConstant::get_pay_type_list();
+        $this->get_degree_list = OfferConstant::get_degree_list();
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $this->info_id = $info_id = input('info_id') ?: 0;
+        $this->title = '审批人修改记录';
+
+        $data = model::field('before,after', true)
+            ->where('info_id',$info_id)
+            ->with([
+                'user'=>function($query){
+                    $query->field('id,userid,name,mobile');
+                }
+            ])
+            ->order('id desc');
+        self::_init($data);
+    }
+
+    /**
+     * 编辑
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '审批人修改记录详情';
+        $data = model::find(input('id') ?:0);
+        if($data){
+            $data = $data->toArray();
+            $data['before_text']['module_info']['document_text'] = isset($data['before_text']['module_info']['document']) ? json_decode($data['before_text']['module_info']['document'],true) : [];
+            $data['before_text']['module_info']['images_text'] = isset($data['before_text']['module_info']['images']) ? json_decode($data['before_text']['module_info']['images'],true) : [];
+            $data['after_text']['module_info']['document_text'] = isset($data['after_text']['module_info']['document']) ? json_decode($data['after_text']['module_info']['document'],true) : [];
+            $data['after_text']['module_info']['images_text'] = isset($data['after_text']['module_info']['images']) ? json_decode($data['after_text']['module_info']['images'],true) : [];
+
+            $this->title = '审批人修改记录详情-'.$this->get_module_list[$data['module']];
+            $this->get_type_list = CommonService::get_type_list($data['module']);
+        }
+        return $this->fetch('form', ['vo' => $data['before_text'],'vo2'=>$data['after_text']]);
+    }
+
+}

+ 158 - 0
application/approve/controller/ApproveMaintainUser.php

@@ -0,0 +1,158 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\constant\MaintainConstant;
+use app\common\model\ApproveMaintainUser as model;
+use library\Controller;
+
+/**
+ * 维修人员
+ */
+class ApproveMaintainUser extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'ApproveMaintainUser';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_type_title_list = MaintainConstant::get_type_title_list();
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $name = input('name');
+        $mobile = input('mobile');
+
+        $this->title = '维修人员列表';
+        $data = model::field('is_deleted', true)
+            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+            ->when($name, function ($query) use ($name) {
+                $query->where('name', 'like', '%' . $name . '%');
+            })
+            ->when($mobile, function ($query) use ($mobile) {
+                $query->where('mobile', 'like', '%' . $mobile . '%');
+            })
+            ->with([
+                'log' => function ($query) {
+                    $query->field('comment,create_at', true);
+                }
+            ]);
+        self::_init($data);
+    }
+
+    /**
+     * 列表数据处理
+     * @param array $data
+     * @throws \Exception
+     */
+    protected function _index_page_filter(&$data)
+    {
+        if($data) {
+            foreach ($data as &$value) {
+                $comment_count = !empty($value['log']) ? count($value['log']) : 0;
+                $comment_score = 0;
+                if (!empty($value['log'])) {
+                    foreach ($value['log'] as $k => $v) {
+                        $comment_score = bcadd($comment_score, $v['comment_score']);
+                    }
+                }
+                $log_score = $comment_score > 0 ? bcdiv($comment_score, $comment_count, 1) : 0;
+                $value['comment_count'] = $comment_count;
+                $value['comment_score'] = $comment_score;
+                $value['log_score'] = $log_score;
+            }
+        }
+    }
+
+
+    /**
+     * 添加
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function add()
+    {
+        $this->title = '添加';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 编辑
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '编辑';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 表单处理
+     * @param array $data
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    protected function _form_filter(&$data)
+    {
+        if ($this->request->isGet()) {
+
+        }
+        if ($this->request->isPost()) {
+
+        }
+    }
+
+
+    /**
+     * 删除
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function remove()
+    {
+        $this->applyCsrfToken();
+        $this->_delete($this->table);
+    }
+
+}

+ 59 - 0
application/approve/controller/ApproveMaintainUserLog.php

@@ -0,0 +1,59 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\model\ApproveMaintainUserLog as model;
+use library\Controller;
+
+/**
+ * 评价记录
+ */
+class ApproveMaintainUserLog extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'ApproveMaintainUserLog';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $this->user_id = $user_id = input('user_id') ?: 0;
+        $this->title = '评价记录';
+
+        $data = model::where('user_id', $user_id)
+            ->order('id desc');
+        self::_init($data);
+    }
+
+}

+ 312 - 0
application/approve/controller/Goods.php

@@ -0,0 +1,312 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\model\ApproveApplyGoods;
+use app\common\model\ApproveStockGoods;
+use app\common\model\ApproveUseGoods;
+use app\common\model\Goods as model;
+use app\common\model\GoodsStock;
+use app\common\service\GoodsCategoryService;
+use library\Controller;
+use think\Db;
+use think\Exception;
+
+/**
+ * 商品
+ */
+class Goods extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'Goods';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_status_list = CommonConstant::get_status_list();
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $status = input('status');
+        $goods_name = input('goods_name');
+
+        $this->title = '商品列表';
+        $data = model::field('is_deleted', true)
+            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+            ->when(array_key_exists($status, $this->get_status_list), function ($query) use ($status) {
+                $query->where('status', $status);
+            })
+            ->when($goods_name, function ($query) use ($goods_name) {
+                $query->where('goods_name', 'like', '%' . $goods_name . '%');
+            })
+            ->with([
+                'goodsCategoryOne' => function ($query) {
+                    $query->field('id,name');
+                },
+                'goodsCategory' => function ($query) {
+                    $query->field('id,name');
+                },
+                'goodsStock'
+            ])
+            ->order('sort desc,id desc');
+        self::_init($data);
+    }
+
+
+    /**
+     * 添加
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function add()
+    {
+        $this->title = '添加';
+        $this->_submit('form');
+    }
+
+    /**
+     * 编辑
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '编辑';
+        $this->_submit('form');
+    }
+
+    protected function _submit($template)
+    {
+        $id = input('id') ?: 0;
+        if ($this->request->isGet()) {
+            list($data) = [[]];
+            if ($id > 0) {
+                $info = model::field('is_deleted', true)
+                    ->with([
+                        'goodsStock'
+                    ])
+                    ->find($id);
+                if (!$info){
+                    $this->error('该商品不存在或已删除');
+                }
+                $info['first_classify'] = $info['goods_category_first'];
+                $info['second_classify'] = $info['goods_category_id'];
+                $data = $info;
+            }
+            $this->category_list = GoodsCategoryService::get_list([], 1);
+            return $this->fetch($template, ['vo' => $data]);
+        }
+        if ($this->request->isPost()) {
+            list($data) = [$this->request->post()];
+            if (!isset_full($data, 'goods_stock')) {
+                $this->error('请添加商品规格');
+            }
+            if (!array_filter($data['goods_stock'])) {
+                $this->error('请添加商品规格!');
+            }
+            $data['goods_category_first'] = $data['first_classify'];
+            $data['goods_category_id'] = $data['second_classify'];
+
+            if($id > 0){
+                $info = model::field('is_deleted', true)
+                    ->with([
+                        'goodsStock'
+                    ])
+                    ->find($id);
+                if (!$info){
+                    $this->error('该商品不存在或已删除');
+                }
+                $goods_info = model::field('id')
+                    ->where('goods_category_first', $data['goods_category_first'])
+                    ->where('goods_category_id', $data['goods_category_id'])
+                    ->where('goods_name', $data['goods_name'])
+                    ->where('is_deleted', CommonConstant::IS_DELETED_0)
+                    ->where('id', 'neq',$id)
+                    ->find();
+                if ($goods_info) {
+                    $this->error('该商品已存在不能重复添加');
+                }
+            } else{
+                $goods_info = model::field('id')
+                    ->where('goods_category_first', $data['goods_category_first'])
+                    ->where('goods_category_id', $data['goods_category_id'])
+                    ->where('goods_name', $data['goods_name'])
+                    ->where('is_deleted', CommonConstant::IS_DELETED_0)
+                    ->find();
+                if ($goods_info) {
+                    $this->error('该商品已存在不能重复添加');
+                }
+            }
+
+            Db::startTrans();
+            try {
+                if ($id > 0) {
+                    self::create_stock($id, $data,$info,'update');
+                    $info->force(true)->save($data);
+                } else {
+                    $result = model::create($data);
+                    $id = $result->id;
+                    self::create_stock($id, $data,[],'create');
+                }
+                Db::commit();
+            } catch (Exception $e) {
+                Db::rollback();
+                $this->error($e->getMessage());
+            }
+            $this->success('商品编辑成功!', 'javascript:history.back()');
+        }
+    }
+
+    protected function create_stock($id, $data,$info,$type)
+    {
+        $goods_stock = $data['goods_stock'];
+        $goods_stock_data = [];
+        $add_data = [];
+        $del_ids = [];
+        if ($type == 'update') {
+            // 编辑商品 编辑规格
+            foreach ($goods_stock as $key => $val) {
+                if (isset($val['id']) && $val['id'] > 0) {
+                    // 修改规格
+                    $goods_stock_data[$val['id']] = [
+                        'goods_id' => $id,
+                        'name' => $val['name'],
+                        'stock' => $val['stock'],
+                    ];
+                } else {
+                    // 添加规格
+                    $add_data[] = [
+                        'goods_id' => $id,
+                        'name' => $val['name'],
+                        'stock' => $val['stock'],
+                    ];
+                }
+            }
+
+            if(isset($info['goods_stock'])){
+                foreach ($info['goods_stock'] as $index) {
+                    if (array_key_exists($index['id'], $goods_stock_data)) {
+                        // 更新规格
+                        $save_data = $goods_stock_data[$index['id']];
+                        $index->save($save_data);
+                    } else {
+                        // 删除规格
+                        $del_ids[] = $index['id'];
+                    }
+                }
+            }
+
+            if ($add_data) {
+                GoodsStock::insertAll($add_data);
+            }
+            if ($del_ids) {
+                GoodsStock::where(['id' => ['IN', $del_ids]])->delete();
+            }
+        } else {
+            // 添加商品 添加规格
+            foreach ($goods_stock as $key => $val) {
+                $goods_stock_data[] = [
+                    'goods_id' => $id,
+                    'name' => $val['name'],
+                    'stock' => $val['stock'],
+                ];
+            }
+            if ($goods_stock_data) {
+                GoodsStock::insertAll($goods_stock_data);
+            }
+        }
+        return true;
+    }
+
+
+    /**
+     * 删除
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function remove()
+    {
+        $this->applyCsrfToken();
+        // 删除商品时,检验申请数据
+        $id = input('id') ?: 0;
+        $apply = ApproveApplyGoods::where('goods_id',$id)->column('info_id');
+        $stock = ApproveStockGoods::where('goods_id',$id)->column('info_id');
+        $use = ApproveUseGoods::where('goods_id',$id)->column('info_id');
+        $data = array_merge($apply,$stock);
+        $info_id = array_merge($data,$use);
+        if($info_id){
+            $approve = \app\common\model\ApproveInfo::field('id')
+                ->where('id','in',$info_id)
+                ->where('status',CommonConstant::STATUS_2)
+                ->where('is_deleted',CommonConstant::IS_DELETED_0)
+                ->find();
+            if($approve){
+                $this->error('存在有审批中的申请单,不能删除');
+            }
+        }
+        $this->_delete($this->table);
+    }
+
+    /**
+     * 启用
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function resume()
+    {
+        $this->applyCsrfToken();
+        $this->_save($this->table, ['status' => CommonConstant::STATUS_NORMAL]);
+    }
+
+    /**
+     * 禁用
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function forbid()
+    {
+        $this->applyCsrfToken();
+        $this->_save($this->table, ['status' => CommonConstant::STATUS_FROZEN]);
+    }
+
+}

+ 174 - 0
application/approve/controller/GoodsCategory.php

@@ -0,0 +1,174 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\model\Goods;
+use app\common\model\GoodsCategory as model;
+use app\common\service\GoodsCategoryService;
+use library\Controller;
+use library\tools\Data;
+
+/**
+ * 商品分类
+ */
+class GoodsCategory extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'GoodsCategory';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $this->title = '商品分类列表';
+        $query = $this->_query($this->table)
+            ->field('is_deleted', true)
+            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+            ->order('sort desc,id asc');
+        $query->page(false);
+    }
+
+    /**
+     * 列表数据处理
+     * @param array $data
+     * @throws \Exception
+     */
+    protected function _index_page_filter(&$data)
+    {
+        if ($data) {
+            foreach ($data as &$vo) {
+                $vo['ids'] = join(',', Data::getArrSubIds($data, $vo['id']));
+            }
+            $data = Data::arr2table($data);
+        }
+    }
+
+
+    /**
+     * 添加
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function add()
+    {
+        $this->title = '添加';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 编辑
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '编辑';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 表单处理
+     * @param array $data
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    protected function _form_filter(&$data)
+    {
+        if ($this->request->isGet()) {
+            $this->category_list = GoodsCategoryService::get_list([]);
+            $this->category_list = array_merge([['id' => '0', 'pid' => '-1', 'name' => '顶级']], $this->category_list ? $this->category_list->toArray() : []);
+        }
+        if ($this->request->isPost()) {
+
+        }
+    }
+
+
+    /**
+     * 删除
+     * @auth true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function remove()
+    {
+        $this->applyCsrfToken();
+        list($data) = [$this->request->post()];
+        $is_goods = Goods::field('id')
+            ->where('is_deleted', CommonConstant::IS_DELETED_0)
+            ->when($data, function ($query) use ($data) {
+                if ($data['pid'] == 0) {
+                    $query->where('goods_category_first', $data['id']);
+                } else {
+                    $query->where('goods_category_id', $data['id']);
+                }
+            })
+            ->find();
+        if ($is_goods) {
+            $this->error("该分类下有商品,不能删除!");
+        }
+
+        $this->_delete($this->table);
+    }
+
+    /**
+     * 删除结果处理
+     * @param boolean $result
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    protected function _remove_delete_result($result)
+    {
+        if ($result) {
+            list($data) = [$this->request->post()];
+            if ($data['pid'] == 0) {
+                model::where('pid', $data['id'])->update(['is_deleted' => CommonConstant::IS_DELETED_1]);
+            }
+            $this->success("删除成功!", '');
+        } else {
+            $this->error("删除失败,请稍候再试!");
+        }
+    }
+
+}

+ 64 - 0
application/approve/controller/GoodsStockLog.php

@@ -0,0 +1,64 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | ThinkAdmin
+// +----------------------------------------------------------------------
+// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://demo.thinkadmin.top
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
+// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
+// +----------------------------------------------------------------------
+
+namespace app\approve\controller;
+
+use app\common\constant\CommonConstant;
+use app\common\model\GoodsStockLog as model;
+use library\Controller;
+
+/**
+ * 商品入库记录
+ */
+class GoodsStockLog extends Controller
+{
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'GoodsStockLog';
+
+    /**
+     * 控制器初始化
+     */
+    protected function initialize()
+    {
+        $this->get_goods_stock_log_list = CommonConstant::get_goods_stock_log_list();
+    }
+
+    /**
+     * 列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function index()
+    {
+        $this->type = $type = input('type') ?: 0;
+        $this->goods_id = $goods_id = input('goods_id') ?: 0;
+        $this->title = '商品入库出库记录';
+
+        $data = model::when($type > 0, function ($query) use ($type) {
+            $query->where('type', $type);
+        })
+            ->where('goods_id', $goods_id)
+            ->order('id desc');
+        self::_init($data);
+    }
+
+}

+ 29 - 0
application/approve/view/approve_flow/flow.html

@@ -0,0 +1,29 @@
+{extend name='admin@main'}
+
+{block name="button"}{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    <table class="layui-table margin-top-10" lay-skin="line">
+        {notempty name='list'}
+        <thead>
+        <tr>
+            <th class='text-left nowrap'>名称</th>
+            <th class="text-center">操作</th>
+        </tr>
+        </thead>
+        {/notempty}
+        <tbody>
+        {foreach $list as $key=>$vo}
+        <tr>
+            <td class='text-left nowrap'>{$vo|default='--'}</td>
+            <td class='text-center nowrap'>
+                <a class="layui-btn layui-btn-xs" data-open='{:url("index")}?module={$key}'>编 辑</a>
+            </td>
+        </tr>
+        {/foreach}
+        </tbody>
+    </table>
+    {empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}
+</div>
+{/block}

+ 198 - 0
application/approve/view/approve_flow/form.html

@@ -0,0 +1,198 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    <form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+        <div class="layui-card-body">
+
+            {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
+            <input type='hidden' value='{$get_user_type_list_json}' id='get_user_type_list_json'>
+            <input type='hidden' value='{$user_list_json}' id='user_list_json'>
+
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7">模块</label>
+                <div class="layui-input-block">
+                    <input name="" placeholder="" value="{$get_module_list[$vo.module]}" class="layui-input layui-bg-gray" disabled>
+                    <p class="help-block"></p>
+                </div>
+            </div>
+
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7">审批流类型</label>
+                <div class="layui-input-block">
+                    <input name="" placeholder="" value="{$get_type_list[$vo.flow_type]}" class="layui-input layui-bg-gray" disabled>
+                    <p class="help-block"></p>
+                </div>
+            </div>
+
+            {eq name='vo.flow_item' value='0' }
+            {else}
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7">审批流项</label>
+                <div class="layui-input-block">
+                    <input name="" placeholder="" value="{$get_item_list[$vo.flow_item]}" class="layui-input layui-bg-gray" disabled>
+                    <p class="help-block"></p>
+                </div>
+            </div>
+            {/eq}
+
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7">审批层级</label>
+                <div class="layui-input-block"></div>
+            </div>
+            <div class="paramsData">
+                {notempty name='vo.user_data_text'}
+                {foreach name="vo.user_data_text" item="val" key="key"}
+                <div class="layui-form-item paramsItem{$key}">
+                    <label class="layui-form-label">第{$key+1}级:</label>
+                    <div class="layui-input-block">
+                        <div class="layui-input-inline">
+                            <select class="layui-select select1" name="user_data[{$key}][user_type]" id="c-user_type-{$key}" lay-filter="user_type">
+                                {foreach $get_user_type_list as $kk=>$vv}
+                                {eq name='val.user_type' value='$kk.""'}
+                                <option selected value="{$kk}">{$vv}</option>
+                                {else}
+                                <option value="{$kk}">{$vv}</option>
+                                {/eq}
+                                {/foreach}
+                            </select>
+                        </div>
+                        <div class="layui-input-inline paramsItemvalue paramsItemvalue{$key}" {eq name='val.user_type' value='1'}style="display:none" {/eq}>
+                            <select class="layui-select select2" name="user_data[{$key}][userid]" id="c-userid-{$key}">
+                                <option value="">请选择员工</option>
+                                {foreach $user_list as $k=>$v}
+                                {eq name='val.userid' value='$v.userid.""'}
+                                <option selected value="{$v.userid}">{$v.name}</option>
+                                {else}
+                                <option value="{$v.userid}">{$v.name}</option>
+                                {/eq}
+                                {/foreach}
+                            </select>
+                        </div>
+                        <div class="layui-input-inline">
+                            <button type="button" class="layui-btn layui-btn-sm layui-btn-danger" onclick="delParams('{$key}');">删除</button>
+                        </div>
+                    </div>
+                </div>
+                {/foreach}
+            {/notempty}
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7"></label>
+                <div class="layui-input-block">
+                    <button type="button" class="layui-btn layui-btn-sm layui-btn-primary" onclick="addParams();">+ 添加审批层级</button>
+                </div>
+            </div>
+        </div>
+        <div class="hr-line-dashed"></div>
+        <div class="layui-form-item text-center">
+            <button class="layui-btn" type='submit'>保存数据</button>
+<!--            <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>-->
+        </div>
+    </form>
+<script>
+    window.form.render();
+</script>
+</div>
+{/block}
+{block name="style"}{/block}
+{block name='script'}
+<script>
+
+    form.on('select(user_type)', function(data){
+        var str = data.elem.id;
+        var arr = str.split("-");
+        var key = arr[2];
+        console.log(arr);
+        if(data.value == 1){
+            $('.paramsItemvalue'+key).hide();
+        } else{
+            $('.paramsItemvalue'+key).show();
+        }
+    });
+
+    function addParams() {
+        var length = $('.paramsData').children().length;
+        var key = length;
+        var count = length+1;
+        var get_user_type_list_json = $.parseJSON($("#get_user_type_list_json").val());
+        var get_user_type_list_html = "";
+        var get_user_type_list_html2 = "";
+        var get_user_list_json = $.parseJSON($("#user_list_json").val());
+        var get_user_list_html = "";
+        var get_user_list_html2 = "";
+        $.each(get_user_type_list_json,function (index,element) {
+            get_user_type_list_html += '<option value='+index+'>'+element+'</option>';
+            if(index == 1){
+                get_user_type_list_html2 += '<dd lay-value='+index+' class="layui-this">'+element+'</dd>';
+            } else{
+                get_user_type_list_html2 += '<dd lay-value='+index+' class="">'+element+'</dd>';
+            }
+        })
+        $.each(get_user_list_json,function (index,element) {
+            get_user_list_html += '<option value='+element.userid+'>'+element.name+'</option>';
+            get_user_list_html2 += '<dd lay-value='+element.userid+' class="">'+element.name+'</dd>';
+        })
+        var html = '<div class="layui-form-item paramsItem'+key+'"> ' +
+            '<label class="layui-form-label">第'+count+'级:</label> ' +
+            '<div class="layui-input-block"> ' +
+            '<div class="layui-input-inline"> ' +
+            '<select class="layui-select select1" name="user_data['+key+'][user_type]" id="c-user_type-'+key+'" lay-filter="user_type">'+get_user_type_list_html+'</select> ' +
+            '<div class="layui-unselect layui-form-select">' +
+            '<div class="layui-select-title">' +
+            '<input type="text" placeholder="请选择" value="负责人主管" readonly="" class="layui-input layui-unselect">' +
+            '<i class="layui-edge"></i>' +
+            '</div> ' +
+            '<dl class="layui-anim layui-anim-upbit">'+get_user_type_list_html2+'</dl>' +
+            '</div>'+
+            '</div> ' +
+            '<div class="layui-input-inline paramsItemvalue paramsItemvalue'+key+'" style="display:none"> ' +
+            '<select class="layui-select select2" name="user_data['+key+'][userid]" id="c-userid-'+key+'"><option value="">请选择员工</option> ' +get_user_list_html+' </select> ' +
+            '<div class="layui-unselect layui-form-select">' +
+            '<div class="layui-select-title">' +
+            '<input type="text" placeholder="请选择员工" value="" readonly="" class="layui-input layui-unselect">' +
+            '<i class="layui-edge"></i>' +
+            '</div> ' +
+            '<dl class="layui-anim layui-anim-upbit">'+get_user_list_html2+'</dl>' +
+            '</div>'+
+            '</div> ' +
+            '<div class="layui-input-inline"> ' +
+            '<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" onclick="delParams('+key+');">删除</button> ' +
+            '</div> ' +
+            '</div> ' +
+            '</div>';
+        $(".paramsData").append(html);
+        form.render();
+    }
+    
+    function delParams(key) {
+        var length = $('.paramsData').children().length;
+        var count = length-1;
+        console.log(length);
+        if(key > 0 && key == count){
+            //删除的是最后一步(不是唯一一步)
+            $(".paramsItem" + key).remove();
+        } else{
+            //删除的是中间的一步,所有步骤序号重新排列
+            $(".paramsItem" + key).remove();
+            for(var i=key;i < length;i++){
+                var ii = i-1;
+                $(".paramsData .layui-form-item").eq(ii).attr("class","layui-form-item paramsItem"+ii);
+                $(".paramsData .layui-form-item").eq(ii).find(".layui-form-label").html("第"+i+"级:");
+                $(".paramsData .layui-form-item").eq(ii).find(".select1").attr("id","c-user_type-"+ii);
+                $(".paramsData .layui-form-item").eq(ii).find(".select1").attr('name',"user_data["+ii+"][user_type]");
+                $(".paramsData .layui-form-item").eq(ii).find(".select2").attr("id","c-userid-"+ii);
+                $(".paramsData .layui-form-item").eq(ii).find(".select2").attr('name',"user_data["+ii+"][userid]");
+                $(".paramsData .layui-form-item").eq(ii).find(".paramsItemvalue").attr("class","layui-input-inline paramsItemvalue paramsItemvalue"+ii);
+                $(".paramsData .layui-form-item").eq(ii).find(".layui-btn-danger").attr("onclick","delParams("+ii+");");
+            }
+        }
+    }
+</script>
+{/block}

+ 40 - 0
application/approve/view/approve_flow/index.html

@@ -0,0 +1,40 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {include file='approve_flow/index_search'}
+    <table class="layui-table margin-top-10" lay-skin="line">
+        {notempty name='list'}
+        <thead>
+        <tr>
+            <th class='text-left nowrap'>审批流类型</th>
+            <th class='text-left nowrap'>审批流项</th>
+            <th class="text-center">操作</th>
+        </tr>
+        </thead>
+        {/notempty}
+        <tbody>
+        {foreach $list as $key=>$vo}
+        <tr>
+            <td class='text-left nowrap'>
+                {eq name='vo.flow_type' value='0'}--{else}{$get_type_list[$vo.flow_type]}{/eq}
+            </td>
+            <td class='text-left nowrap'>
+                {eq name='vo.flow_item' value='0'}--{else}{$get_item_list[$vo.flow_item]}{/eq}
+            </td>
+            <td class='text-center nowrap'>
+                <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">编 辑</a>
+            </td>
+        </tr>
+        {/foreach}
+        </tbody>
+    </table>
+    {empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}
+</div>
+{/block}

+ 1 - 0
application/approve/view/approve_flow/index_search.html

@@ -0,0 +1 @@
+

+ 35 - 0
application/approve/view/approve_info/form.html

@@ -0,0 +1,35 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {switch vo.module}
+    {case 1} {include file='approve_info/form_1'} {/case}
+    {case 2} {include file='approve_info/form_2'} {/case}
+    {case 3} {include file='approve_info/form_3'} {/case}
+    {case 4} {include file='approve_info/form_4'} {/case}
+    {case 5} {include file='approve_info/form_5'} {/case}
+    {case 6} {include file='approve_info/form_6'} {/case}
+    {case 7} {include file='approve_info/form_7'} {/case}
+    {case 8} {include file='approve_info/form_8'} {/case}
+    {case 9} {include file='approve_info/form_9'} {/case}
+    {case 10} {include file='approve_info/form_10'} {/case}
+    {case 11} {include file='approve_info/form_11'} {/case}
+    {default /}
+    {/switch}
+    <script>
+        window.form.render();
+    </script>
+</div>
+{/block}
+{block name="style"}
+<style></style>
+{/block}
+{block name='script'}
+<script></script>
+{/block}

+ 179 - 0
application/approve/view/approve_info/form_1.html

@@ -0,0 +1,179 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                {notempty name='vo.contract'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">合同编号</label>
+                    <div class="layui-input-block">
+                        {foreach $vo.contract as $k=>$v}
+                        <p>{$v.reason}</p>
+                        {/foreach}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {/notempty}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申购事由</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申购类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {notempty name='vo.data'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">总金额</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.total_amount|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {/notempty}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">预计申购完成日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">支付方式</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$get_pay_type_list[$vo.module_info.pay_type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+                {notempty name='vo.data'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申购商品</label>
+                    <div class="layui-input-block">
+                        <table class="layui-table">
+                            {foreach $vo.data as $k=>$v}
+                            <thead>
+                            <tr>
+                                <td style="width: 20%">商品ID</td>
+                                <td>{$v.goods_id|default='--'}</td>
+                            </tr>
+                            </thead>
+                            <tr>
+                                <td>商品编号</td>
+                                <td>{$v.goods_no|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品名称</td>
+                                <td>{$v.goods_name|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品品牌</td>
+                                <td>{$v.goods_brand|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>总金额</td>
+                                <td>{$v.total_price|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品规格</td>
+                                <td>
+                                    <table class="layui-table">
+                                        <tr>
+                                            <td>规格名称</td>
+                                            <td>单价</td>
+                                            <td>数量</td>
+                                        </tr>
+                                        {notempty name='v.goods_stock_text'}
+                                        {foreach name="v.goods_stock_text" item="vv"}
+                                        <tr>
+                                            <td>{$vv.name|default='--'}</td>
+                                            <td>{$vv.price|default='--'}</td>
+                                            <td>{$vv.stock|default='--'}</td>
+                                        </tr>
+                                        {/foreach}
+                                        {/notempty}
+                                    </table>
+                                </td>
+                            </tr>
+                            {/foreach}
+                        </table>
+                    </div>
+                </div>
+                {/notempty}
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 115 - 0
application/approve/view/approve_info/form_10.html

@@ -0,0 +1,115 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.founder|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">来文单位名称</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.desc|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">收文序号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.serial_number|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">文件名称</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">缓急程度</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.degree]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">收文日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">内容摘要</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 115 - 0
application/approve/view/approve_info/form_11.html

@@ -0,0 +1,115 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">拟稿部门</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.department|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">文件名称</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">落款</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.department_sign|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">上会情况</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.remark|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">缓急程度</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">拟发文时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">文件号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.serial_number|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 107 - 0
application/approve/view/approve_info/form_2.html

@@ -0,0 +1,107 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">呈批类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">发文字号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.word_size|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">缓急程度</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">印制份数</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.number|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请标题</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请内容</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 152 - 0
application/approve/view/approve_info/form_3.html

@@ -0,0 +1,152 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                {notempty name='vo.apply'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">采购审批单</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('edit')}?id={$vo.apply.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                {else/}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">采购审批单</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="否"
+                               class="layui-input border-0" disabled>
+                    </div>
+                </div>
+                {/notempty}
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+                {notempty name='vo.data'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">入库商品</label>
+                    <div class="layui-input-block">
+                        <table class="layui-table">
+                            {foreach $vo.data as $k=>$v}
+                            <thead>
+                            <tr>
+                                <td style="width: 20%">商品ID</td>
+                                <td>{$v.goods_id|default='--'}</td>
+                            </tr>
+                            </thead>
+                            <tr>
+                                <td>商品编号</td>
+                                <td>{$v.goods_no|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品名称</td>
+                                <td>{$v.goods_name|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品品牌</td>
+                                <td>{$v.goods_brand|default='--'}</td>
+                            </tr>
+<!--                            <tr>-->
+<!--                                <td>总金额</td>-->
+<!--                                <td>{$v.total_price|default='&#45;&#45;'}</td>-->
+<!--                            </tr>-->
+                            <tr>
+                                <td>商品规格</td>
+                                <td>
+                                    <table class="layui-table">
+                                        <tr>
+                                            <td>规格名称</td>
+<!--                                            <td>单价</td>-->
+                                            <td>数量</td>
+                                        </tr>
+                                        {notempty name='v.goods_stock_text'}
+                                        {foreach name="v.goods_stock_text" item="vv"}
+                                        <tr>
+                                            <td>{$vv.name|default='--'}</td>
+<!--                                            <td>{$vv.price|default='&#45;&#45;'}</td>-->
+                                            <td>{$vv.stock|default='--'}</td>
+                                        </tr>
+                                        {/foreach}
+                                        {/notempty}
+                                    </table>
+                                </td>
+                            </tr>
+                            {/foreach}
+                        </table>
+                    </div>
+                </div>
+                {/notempty}
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+    <div class="hr-line-dashed"></div>
+</form>

+ 123 - 0
application/approve/view/approve_info/form_4.html

@@ -0,0 +1,123 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">物品用途</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+                {notempty name='vo.data'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">领用商品</label>
+                    <div class="layui-input-block">
+                        <table class="layui-table">
+                            {foreach $vo.data as $k=>$v}
+                            <thead>
+                            <tr>
+                                <td style="width: 20%">商品ID</td>
+                                <td>{$v.goods_id|default='--'}</td>
+                            </tr>
+                            </thead>
+                            <tr>
+                                <td>商品编号</td>
+                                <td>{$v.goods_no|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品名称</td>
+                                <td>{$v.goods_name|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品品牌</td>
+                                <td>{$v.goods_brand|default='--'}</td>
+                            </tr>
+                            <tr>
+                                <td>商品规格</td>
+                                <td>
+                                    <table class="layui-table">
+                                        <tr>
+                                            <td>规格名称</td>
+                                            <td>数量</td>
+                                        </tr>
+                                        {notempty name='v.goods_stock_text'}
+                                        {foreach name="v.goods_stock_text" item="vv"}
+                                        <tr>
+                                            <td>{$vv.name|default='--'}</td>
+                                            <td>{$vv.stock|default='--'}</td>
+                                        </tr>
+                                        {/foreach}
+                                        {/notempty}
+                                    </table>
+                                </td>
+                            </tr>
+                            {/foreach}
+                        </table>
+                    </div>
+                </div>
+                {/notempty}
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 151 - 0
application/approve/view/approve_info/form_5.html

@@ -0,0 +1,151 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.apply_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出差事由</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出差开始时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出差结束时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.end_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出差类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {if ($vo.type == 1)}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">是否跨关内关外</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$get_is_who_list[$vo.module_info.is_who]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {/if}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">备注</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+                {notempty name='vo.data'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">同行人员</label>
+                    <div class="layui-input-block">
+                        <table class="layui-table">
+                            <thead>
+                            <tr>
+                                <th class='text-left nowrap'>名称</th>
+                            </tr>
+                            </thead>
+                            {foreach $vo.data as $k=>$v}
+                            <tr>
+                                <td>{$v.name|default='--'}</td>
+                            </tr>
+                            {/foreach}
+                        </table>
+                    </div>
+                </div>
+                {/notempty}
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 130 - 0
application/approve/view/approve_info/form_6.html

@@ -0,0 +1,130 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.apply_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">请假类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">请假开始时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.start_time|default='--'} {$vo.module_info.start_am|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">请假结束时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.end_time|default='--'} {$vo.module_info.end_am|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">请假时长</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">请假原因</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">是否离"深"</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 125 - 0
application/approve/view/approve_info/form_7.html

@@ -0,0 +1,125 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.apply_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出发地点</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">出发时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.start_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">到达地点</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.reach_address|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">返回时间</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.end_time|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">返回地点</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder=""
+                               value="{$vo.module_info.end_address|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 167 - 0
application/approve/view/approve_info/form_8.html

@@ -0,0 +1,167 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">维修类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">维修地点</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">具体内容</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.desc|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">图片</label>
+                    <div class="layui-input-block">
+                        {notempty name='vo.module_info.images_text'}
+                        {foreach $vo.module_info.images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        {/notempty}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {if ($vo.maintain_user_id > 0)}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">维修人员</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.maintain_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('approve_maintain_user/edit')}?id={$vo.maintain_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                {/if}
+            </div>
+        </div>
+    </div>
+
+    {if ($vo.module_info.feedback_status == 1)}
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">维修结果</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">反馈结果</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.feedback|default='--'}</textarea>
+                        <p class="help-block padding-left-10"></p>
+                    </div>
+                </div>
+                {notempty name='vo.module_info.feedback_images_text'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">反馈图片</label>
+                    <div class="layui-input-block">
+                        {foreach $vo.module_info.feedback_images_text as $k=>$v}
+                        <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                             class="margin-right-10 margin-bottom-10">
+                        {/foreach}
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {/notempty}
+
+            </div>
+        </div>
+    </div>
+    {else/}
+    {/if}
+
+    {if ($vo.module_info.comment_status == 1)}
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">评价</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">评分</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.comment_score|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">评价内容</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.comment|default='--'}</textarea>
+                        <p class="help-block padding-left-10"></p>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    {else/}
+    {/if}
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 134 - 0
application/approve/view/approve_info/form_9.html

@@ -0,0 +1,134 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-tab layui-tab-card think-bg-white">
+        <ul class="layui-tab-title notselect">
+            <li data-type="store-config-type-sms1">审批申请信息</li>
+        </ul>
+        <div class="layui-tab-content">
+
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">审批状态</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_approve_status_list[$vo.status]}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">申请日期</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply_date|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.create_user.name|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('/user/member/edit')}?id={$vo.create_user.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">创建人部门</label>
+                    <div class="layui-input-block">
+                        <p class="padding-left-10 padding-top-10">{foreach $vo.department_data as $k=>$v} {$v.name}&nbsp;{/foreach}</p>
+                    </div>
+                </div>
+
+                {notempty name='vo.apply'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">采购审批单</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.apply.order_no|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block padding-left-10">
+                            <a href="admin.html#{:url('edit')}?id={$vo.apply.id}" target="_blank">查看</a>
+                        </p>
+                    </div>
+                </div>
+                {else/}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">采购审批单</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="否"
+                               class="layui-input border-0" disabled>
+                    </div>
+                </div>
+                {/notempty}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">合同类型</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">合同编号</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">缓急程度</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">印制份数</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.number|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">发放范围</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.scope|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">法务意见</label>
+                    <div class="layui-input-block">
+                        <input name="" placeholder="" value="{$vo.module_info.legal_opinion|default='--'}"
+                               class="layui-input border-0" disabled>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+                {include file='approve_info/form_document'}
+                <div class="layui-form-item">
+                    <label class="layui-form-label color-green font-w7">备注说明</label>
+                    <div class="layui-input-block">
+                        <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                        <p class="help-block"></p>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+
+    {include file='approve_info/form_approve'}
+
+    <div class="hr-line-dashed"></div>
+</form>

+ 57 - 0
application/approve/view/approve_info/form_approve.html

@@ -0,0 +1,57 @@
+<div class="layui-tab layui-tab-card think-bg-white">
+    <ul class="layui-tab-title notselect">
+        <li data-type="store-config-type-sms1">审批流程</li>
+    </ul>
+    <div class="layui-tab-content">
+
+        <div class="layui-card-body">
+            <div class="layui-form-item">
+                <label class="layui-form-label color-green font-w7"></label>
+                <div class="layui-input-block">
+                    <fieldset class="layui-elem-field layui-field-title">
+                        <legend>审批流程</legend>
+                    </fieldset>
+                    <ul class="layui-timeline">
+                        {notempty name='vo.approve'}
+                        {foreach $vo.approve as $k=>$v}
+                        <li class="layui-timeline-item">
+                            <i class="layui-icon layui-timeline-axis"></i>
+                            <div class="layui-timeline-content layui-text">
+                                <h4 class="layui-timeline-title">{if ($v.group == 1)}发起申请{else/}审批人{/if}</h4>
+                                <h3 class="layui-timeline-title">{$v.user.name}<span>({if ($v.group ==1)}创建人{else/}{$get_approve_status_list_admin[$v.status]}{/if})</span></h3>
+                                {if ($v.status gt 2)}
+                                <ul>
+                                    <li>本次审批时长:{$v.time_text}</li>
+                                    <li>审批意见:{$v.remark}</li>
+                                </ul>
+                                {else/}
+                                {/if}
+                                <p>{$v.approve_time}</p>
+                            </div>
+                        </li>
+                        {/foreach}
+                        {/notempty}
+                        {notempty name='vo.approve_copy'}
+                        {foreach $vo.approve_copy as $k=>$v}
+                        <li class="layui-timeline-item">
+                            <i class="layui-icon layui-timeline-axis"></i>
+                            <div class="layui-timeline-content layui-text">
+                                <h4 class="layui-timeline-title">抄送人</h4>
+                                <h3 class="layui-timeline-title">{$v.user.name}</h3>
+                            </div>
+                        </li>
+                        {/foreach}
+                        {/notempty}
+
+                        <li class="layui-timeline-item">
+                            <i class="layui-icon layui-timeline-axis"></i>
+                            <div class="layui-timeline-content layui-text">
+                                <div class="layui-timeline-title">--</div>
+                            </div>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 11 - 0
application/approve/view/approve_info/form_document.html

@@ -0,0 +1,11 @@
+<div class="layui-form-item">
+    <label class="layui-form-label color-green font-w7">附件</label>
+    <div class="layui-input-block">
+        {notempty name='vo.module_info.document_text'}
+        {foreach $vo.module_info.document_text as $k=>$v}
+        <p><a href="{$v.fullurl}" target="_blank">{$v.name}</a></p>
+        {/foreach}
+        {/notempty}
+        <p class="help-block"></p>
+    </div>
+</div>

+ 26 - 0
application/approve/view/approve_info/index.html

@@ -0,0 +1,26 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<!--<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>-->
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {switch module}
+    {case 1} {include file='approve_info/index_1'} {/case}
+    {case 2} {include file='approve_info/index_2'} {/case}
+    {case 3} {include file='approve_info/index_3'} {/case}
+    {case 4} {include file='approve_info/index_4'} {/case}
+    {case 5} {include file='approve_info/index_5'} {/case}
+    {case 6} {include file='approve_info/index_6'} {/case}
+    {case 7} {include file='approve_info/index_7'} {/case}
+    {case 8} {include file='approve_info/index_8'} {/case}
+    {case 9} {include file='approve_info/index_9'} {/case}
+    {case 10} {include file='approve_info/index_10'} {/case}
+    {case 11} {include file='approve_info/index_11'} {/case}
+    {default /}
+    {/switch}
+</div>
+{/block}

+ 40 - 0
application/approve/view/approve_info/index_1.html

@@ -0,0 +1,40 @@
+{include file='approve_info/index_search_1'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>申请事由</th>
+        <th class='text-left nowrap'>申购类型</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_type_list[$vo.type]}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 40 - 0
application/approve/view/approve_info/index_10.html

@@ -0,0 +1,40 @@
+{include file='approve_info/index_search_10'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>来文单位</th>
+        <th class='text-left nowrap'>文件名称</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.desc}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_11.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_11'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>文件名称</th>
+        <th class='text-left nowrap'>拟发文时间</th>
+        <th class='text-left nowrap'>缓急程度</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$vo.start_time}</td>
+        <td class='text-left nowrap'>{$get_degree_list[$vo.desc]}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_2.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_2'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>申请标题</th>
+        <th class='text-left nowrap'>呈批类型</th>
+        <th class='text-left nowrap'>缓急程度</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_type_list[$vo.type]}</td>
+        <td class='text-left nowrap'>{$get_degree_list[$vo.desc]}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 36 - 0
application/approve/view/approve_info/index_3.html

@@ -0,0 +1,36 @@
+{include file='approve_info/index_search_3'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 38 - 0
application/approve/view/approve_info/index_4.html

@@ -0,0 +1,38 @@
+{include file='approve_info/index_search_4'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>物品用途</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_5.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_5'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>出差事由</th>
+        <th class='text-left nowrap'>出差类型</th>
+        <th class='text-left nowrap'>出差时间</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_type_list[$vo.type]}</td>
+        <td class='text-left nowrap'>{$vo.start_time} - {$vo.end_time}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_6.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_6'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>请假原因</th>
+        <th class='text-left nowrap'>请假类型</th>
+        <th class='text-left nowrap'>请假时间</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_type_list[$vo.type]}</td>
+        <td class='text-left nowrap'>{$vo.start_time} - {$vo.end_time}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_7.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_7'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>出发地点</th>
+        <th class='text-left nowrap'>出发时间</th>
+        <th class='text-left nowrap'>返回时间</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$vo.start_time}</td>
+        <td class='text-left nowrap'>{$vo.end_time}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 42 - 0
application/approve/view/approve_info/index_8.html

@@ -0,0 +1,42 @@
+{include file='approve_info/index_search_8'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>维修地点</th>
+        <th class='text-left nowrap'>维修类型</th>
+        <th class='text-left nowrap'>具体内容</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_type_list[$vo.type]}</td>
+        <td class='text-left nowrap'>{$vo.desc}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 40 - 0
application/approve/view/approve_info/index_9.html

@@ -0,0 +1,40 @@
+{include file='approve_info/index_search_9'}
+<table class="layui-table margin-top-10" lay-skin="line">
+    {notempty name='list'}
+    <thead>
+    <tr>
+        <th class='text-left nowrap'>申请ID</th>
+        <th class='text-left nowrap'>提交人</th>
+        <th class='text-left nowrap'>审批状态</th>
+        <th class='text-left nowrap'>创建时间</th>
+        <th class='text-left nowrap'>审批编号</th>
+        <th class='text-left nowrap'>申请日期</th>
+        <th class='text-left nowrap'>合同编号</th>
+        <th class='text-left nowrap'>缓急程度</th>
+        <th class="text-center nowrap">操作</th>
+    </tr>
+    </thead>
+    {/notempty}
+    <tbody>
+    {foreach $list as $key=>$vo}
+    <tr>
+        <td class='text-left nowrap'>{$vo.id}</td>
+        <td class='text-left nowrap'>
+            <p>用户姓名:{$vo.create_user.name|default='--'}</p>
+            <p class="color-desc">手机号码:{$vo.create_user.mobile|default="--"}</p>
+        </td>
+        <td class='text-left nowrap'><strong>{$get_approve_status_list[$vo.status]}</strong></td>
+        <td class='text-left nowrap'>{$vo.create_at}</td>
+        <td class='text-left nowrap'>{$vo.order_no}</td>
+        <td class='text-left nowrap'>{$vo.apply_date}</td>
+        <td class='text-left nowrap'>{$vo.reason}</td>
+        <td class='text-left nowrap'>{$get_degree_list[$vo.desc]}</td>
+        <td class='text-center nowrap'>
+            <a class="layui-btn layui-btn-xs layui-bg-blue" data-open="{:url('approve_info_log/index')}?info_id={$vo.id}">审批人修改记录</a>
+            <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详 情</a>
+        </td>
+    </tr>
+    {/foreach}
+    </tbody>
+</table>
+{empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}

+ 73 - 0
application/approve/view/approve_info/index_search_1.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+<!--        <div class="layui-form-item layui-inline">-->
+<!--            <label class="layui-form-label">用户姓名</label>-->
+<!--            <div class="layui-input-inline">-->
+<!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+<!--            </div>-->
+<!--        </div>-->
+<!--        <div class="layui-form-item layui-inline">-->
+<!--            <label class="layui-form-label">手机号码</label>-->
+<!--            <div class="layui-input-inline">-->
+<!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+<!--            </div>-->
+<!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">申购事由</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入申购事由" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">申购类型</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="type">
+                    <option value="">请选择</option>
+                    {foreach $get_type_list as $k=>$v}
+                    {eq name='Think.get.type' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 64 - 0
application/approve/view/approve_info/index_search_10.html

@@ -0,0 +1,64 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">来文单位名称</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.desc|default=''}" placeholder="请输入来文单位名称" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">文件名称</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入文件名称" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 73 - 0
application/approve/view/approve_info/index_search_11.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">文件名称</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入文件名称" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">缓急程度</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="desc">
+                    <option value="">请选择</option>
+                    {foreach $get_degree_list as $k=>$v}
+                    {eq name='Think.get.desc' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 88 - 0
application/approve/view/approve_info/index_search_2.html

@@ -0,0 +1,88 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">申请标题</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入申请标题" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">呈批类型</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="type">
+                    <option value="">请选择</option>
+                    {foreach $get_type_list as $k=>$v}
+                    {eq name='Think.get.type' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">缓急程度</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="desc">
+                    <option value="">请选择</option>
+                    {foreach $get_degree_list as $k=>$v}
+                    {eq name='Think.get.desc' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 52 - 0
application/approve/view/approve_info/index_search_3.html

@@ -0,0 +1,52 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 58 - 0
application/approve/view/approve_info/index_search_4.html

@@ -0,0 +1,58 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">物品用途</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入物品用途" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 73 - 0
application/approve/view/approve_info/index_search_5.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">出差事由</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入出差事由" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">出差类型</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="type">
+                    <option value="">请选择</option>
+                    {foreach $get_type_list as $k=>$v}
+                    {eq name='Think.get.type' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 73 - 0
application/approve/view/approve_info/index_search_6.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">请假原因</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入请假原因" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">请假类型</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="type">
+                    <option value="">请选择</option>
+                    {foreach $get_type_list as $k=>$v}
+                    {eq name='Think.get.type' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 58 - 0
application/approve/view/approve_info/index_search_7.html

@@ -0,0 +1,58 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">出发地点</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入出发地点" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 73 - 0
application/approve/view/approve_info/index_search_8.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">维修地点</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入维修地点" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">维修类型</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="type">
+                    <option value="">请选择</option>
+                    {foreach $get_type_list as $k=>$v}
+                    {eq name='Think.get.type' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 73 - 0
application/approve/view/approve_info/index_search_9.html

@@ -0,0 +1,73 @@
+<fieldset>
+    <legend>条件搜索</legend>
+    <form class="layui-form layui-form-pane form-search" onsubmit="return false" action="{:request()->url()}" method="get" autocomplete="off">
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">用户姓名</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="name" value="{$Think.get.name|default=''}" placeholder="请输入用户姓名" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="layui-form-item layui-inline">-->
+        <!--            <label class="layui-form-label">手机号码</label>-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input name="mobile" value="{$Think.get.mobile|default=''}" placeholder="请输入手机号码" class="layui-input">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批状态</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="status">
+                    <option value="">请选择审批状态</option>
+                    {foreach $get_approve_status_list as $k=>$v}
+                    {eq name='Think.get.status' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">创建时间</label>
+            <div class="layui-input-inline">
+                <input data-date-range name="create_at" value="{$Think.get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">审批编号</label>
+            <div class="layui-input-inline">
+                <input name="order_no" value="{$Think.get.order_no|default=''}" placeholder="请输入审批编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">合同编号</label>
+            <div class="layui-input-inline">
+                <input name="reason" value="{$Think.get.reason|default=''}" placeholder="请输入合同编号" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <label class="layui-form-label">缓急程度</label>
+            <div class="layui-input-inline">
+                <select class="layui-select" name="desc">
+                    <option value="">请选择</option>
+                    {foreach $get_degree_list as $k=>$v}
+                    {eq name='Think.get.desc' value='$k.""'}
+                    <option selected value="{$k}">{$v}</option>
+                    {else}
+                    <option value="{$k}">{$v}</option>
+                    {/eq}
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item layui-inline">
+            <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            <button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
+        </div>
+    </form>
+    <script>
+        form.render();
+        // laydate.render({range: true, elem: '[name="create_at"]'})
+    </script>
+</fieldset>

+ 33 - 0
application/approve/view/approve_info_log/form.html

@@ -0,0 +1,33 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {switch vo.module}
+    {case 1} {include file='approve_info_log/form_1'} {/case}
+    {case 2} {include file='approve_info_log/form_2'} {/case}
+    {case 3} {include file='approve_info_log/form_3'} {/case}
+    {case 4} {include file='approve_info_log/form_4'} {/case}
+    {case 5} {include file='approve_info_log/form_5'} {/case}
+    {case 6} {include file='approve_info_log/form_6'} {/case}
+    {case 7} {include file='approve_info_log/form_7'} {/case}
+    {case 8} {include file='approve_info_log/form_8'} {/case}
+    {case 9} {include file='approve_info_log/form_9'} {/case}
+    {case 10} {include file='approve_info_log/form_10'} {/case}
+    {case 11} {include file='approve_info_log/form_11'} {/case}
+    {default /}
+    {/switch}
+    <script>
+        window.form.render();
+    </script>
+</div>
+{/block}
+{block name="style"}{/block}
+{block name='script'}
+<script></script>
+{/block}

+ 284 - 0
application/approve/view/approve_info_log/form_1.html

@@ -0,0 +1,284 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购事由</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {notempty name='vo.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">总金额</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.total_amount|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {/notempty}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">预计申购完成日期</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">支付方式</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_pay_type_list[$vo.module_info.pay_type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>总金额</td>
+                                            <td>{$v.total_price|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+                                                        <td>单价</td>
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock_text'}
+                                                    {foreach name="v.goods_stock_text" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+                                                        <td>{$vv.price|default='--'}</td>
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购事由</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {notempty name='vo2.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">总金额</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.total_amount|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {/notempty}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">预计申购完成日期</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">支付方式</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_pay_type_list[$vo2.module_info.pay_type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo2.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申购商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo2.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>总金额</td>
+                                            <td>{$v.total_price|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+                                                        <td>单价</td>
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock'}
+                                                    {foreach name="v.goods_stock" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+                                                        <td>{$vv.price|default='--'}</td>
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 174 - 0
application/approve/view/approve_info_log/form_10.html

@@ -0,0 +1,174 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">创建人</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.founder|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">来文单位名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.desc|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">收文序号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.serial_number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">收文日期</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">内容摘要</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.degree]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">创建人</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.founder|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">来文单位名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.desc|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">收文序号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.serial_number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">收文日期</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">内容摘要</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo2.module_info.degree]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 176 - 0
application/approve/view/approve_info_log/form_11.html

@@ -0,0 +1,176 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">拟稿部门</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.department|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">落款</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.department_sign|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">上会情况</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.remark|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">拟发文时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.serial_number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">拟稿部门</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.department|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件名称</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">落款</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.department_sign|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">上会情况</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.remark|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo2.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">拟发文时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">文件号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.serial_number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 160 - 0
application/approve/view/approve_info_log/form_2.html

@@ -0,0 +1,160 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">呈批类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">发文字号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.word_size|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">印制份数</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申请标题</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申请内容</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">呈批类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">发文字号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.word_size|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_degree_list[$vo2.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">印制份数</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申请标题</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">申请内容</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 212 - 0
application/approve/view/approve_info_log/form_3.html

@@ -0,0 +1,212 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">入库商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+<!--                                        <tr>-->
+<!--                                            <td>总金额</td>-->
+<!--                                            <td>{$v.total_price|default='&#45;&#45;'}</td>-->
+<!--                                        </tr>-->
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+<!--                                                        <td>单价</td>-->
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock_text'}
+                                                    {foreach name="v.goods_stock_text" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+<!--                                                        <td>{$vv.price|default='&#45;&#45;'}</td>-->
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo2.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">入库商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo2.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+<!--                                        <tr>-->
+<!--                                            <td>总金额</td>-->
+<!--                                            <td>{$v.total_price|default='&#45;&#45;'}</td>-->
+<!--                                        </tr>-->
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+<!--                                                        <td>单价</td>-->
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock'}
+                                                    {foreach name="v.goods_stock" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+<!--                                                        <td>{$vv.price|default='&#45;&#45;'}</td>-->
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 192 - 0
application/approve/view/approve_info_log/form_4.html

@@ -0,0 +1,192 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">物品用途</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">领用商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock_text'}
+                                                    {foreach name="v.goods_stock_text" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">物品用途</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">其它补充说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo2.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">领用商品</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        {foreach $vo2.data as $k=>$v}
+                                        <thead>
+                                        <tr>
+                                            <td style="width: 20%">商品ID</td>
+                                            <td>{$v.goods_id|default='--'}</td>
+                                        </tr>
+                                        </thead>
+                                        <tr>
+                                            <td>商品编号</td>
+                                            <td>{$v.goods_no|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品名称</td>
+                                            <td>{$v.goods_name|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品品牌</td>
+                                            <td>{$v.goods_brand|default='--'}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>商品规格</td>
+                                            <td>
+                                                <table class="layui-table">
+                                                    <tr>
+                                                        <td>规格名称</td>
+                                                        <td>数量</td>
+                                                    </tr>
+                                                    {notempty name='v.goods_stock'}
+                                                    {foreach name="v.goods_stock" item="vv"}
+                                                    <tr>
+                                                        <td>{$vv.name|default='--'}</td>
+                                                        <td>{$vv.stock|default='--'}</td>
+                                                    </tr>
+                                                    {/foreach}
+                                                    {/notempty}
+                                                </table>
+                                            </td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 228 - 0
application/approve/view/approve_info_log/form_5.html

@@ -0,0 +1,228 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差事由</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差开始时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差结束时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.end_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {if ($vo.type == 1)}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">是否跨关内关外</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_is_who_list[$vo.module_info.is_who]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {/if}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">同行人员</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        <thead>
+                                        <tr>
+                                            <th class='text-left nowrap'>名称</th>
+                                        </tr>
+                                        </thead>
+                                        {foreach $vo.data as $k=>$v}
+                                        <tr>
+                                            <td>{$v.name|default='--'}</td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差事由</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差开始时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差结束时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.end_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出差类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {if ($vo2.type == 1)}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">是否跨关内关外</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$get_is_who_list[$vo2.module_info.is_who]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {/if}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            {notempty name='vo2.data'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">同行人员</label>
+                                <div class="layui-input-block">
+                                    <table class="layui-table">
+                                        <thead>
+                                        <tr>
+                                            <th class='text-left nowrap'>名称</th>
+                                        </tr>
+                                        </thead>
+                                        {foreach $vo2.data as $k=>$v}
+                                        <tr>
+                                            <td>{$v.name|default='--'}</td>
+                                        </tr>
+                                        {/foreach}
+                                    </table>
+                                </div>
+                            </div>
+                            {/notempty}
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 186 - 0
application/approve/view/approve_info_log/form_6.html

@@ -0,0 +1,186 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假开始时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.start_time|default='--'} {$vo.module_info.start_am|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假结束时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.end_time|default='--'} {$vo.module_info.end_am|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假时长</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假原因</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">是否离"深"</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假开始时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.start_time|default='--'} {$vo2.module_info.start_am|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假结束时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.end_time|default='--'} {$vo2.module_info.end_am|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假时长</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">请假原因</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">是否离"深"</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 176 - 0
application/approve/view/approve_info_log/form_7.html

@@ -0,0 +1,176 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出发地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出发时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">到达地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.reach_address|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">返回时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.end_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">返回地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo.module_info.end_address|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出发地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">出发时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.start_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">到达地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.reach_address|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">返回时间</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.end_time|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">返回地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder=""
+                                           value="{$vo2.module_info.end_address|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 122 - 0
application/approve/view/approve_info_log/form_8.html

@@ -0,0 +1,122 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">维修类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">维修地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">具体内容</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.desc|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo.module_info.images_text'}
+                                    {foreach $vo.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">维修类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">维修地点</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">具体内容</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.desc|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">图片</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.images_text'}
+                                    {foreach $vo2.module_info.images_text as $k=>$v}
+                                    <img data-tips-image src="{$v}" style="height: 300px;vertical-align:top"
+                                         class="margin-right-10 margin-bottom-10">
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 174 - 0
application/approve/view/approve_info_log/form_9.html

@@ -0,0 +1,174 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+
+    <div class="layui-form-item">
+        <div class="layui-input-block">
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改前信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">合同类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">合同编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">印制份数</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">发放范围</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.scope|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">法务意见</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo.module_info.legal_opinion|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            {include file='approve_info/form_document'}
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">备注说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-input-inline" style="width:49%">
+                <div class="layui-tab layui-tab-card think-bg-white">
+                    <ul class="layui-tab-title notselect">
+                        <li data-type="store-config-type-sms1">修改后信息</li>
+                    </ul>
+                    <div class="layui-tab-content">
+
+                        <div class="layui-card-body">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">审批编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.order_no|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">合同类型</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_type_list[$vo2.type]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">合同编号</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.reason|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">缓急程度</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$get_degree_list[$vo2.module_info.desc]|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">印制份数</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.number|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">发放范围</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.scope|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">法务意见</label>
+                                <div class="layui-input-block">
+                                    <input name="" placeholder="" value="{$vo2.module_info.legal_opinion|default='--'}"
+                                           class="layui-input border-0" disabled>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">附件</label>
+                                <div class="layui-input-block">
+                                    {notempty name='vo2.module_info.document_text'}
+                                    {foreach $vo2.module_info.document_text as $k=>$v}
+                                    <p><a href="{$v.fullurl}" target="_blank">{$v.fullurl}</a></p>
+                                    {/foreach}
+                                    {/notempty}
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-green font-w7">备注说明</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-input border-0" style="height: 100px" disabled>{$vo2.module_info.remark|default='--'}</textarea>
+                                    <p class="help-block"></p>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="hr-line-dashed"></div>
+</form>

+ 41 - 0
application/approve/view/approve_info_log/index.html

@@ -0,0 +1,41 @@
+{extend name='admin@main'}
+
+{block name="button"}
+
+<button class="layui-btn layui-btn-sm layui-btn-primary" type='button' onclick="javascript:history.back()">返回</button>
+
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {include file='approve_info_log/index_search'}
+    <table class="layui-table margin-top-10" lay-skin="line">
+        {notempty name='list'}
+        <thead>
+        <tr>
+            <th class='text-left nowrap'>审批人</th>
+            <th class='text-left nowrap'>修改时间</th>
+            <th class="text-center">操作</th>
+        </tr>
+        </thead>
+        {/notempty}
+        <tbody>
+        {foreach $list as $key=>$vo}
+        <tr>
+            <td class='text-left nowrap'>
+                <p>用户姓名:{$vo.user.name|default='--'}</p>
+                <p class="color-desc">手机号码:{$vo.user.mobile|default="--"}</p>
+            </td>
+            <td class='text-left nowrap'>
+                {$vo.create_at|default="--"}
+            </td>
+            <td class='text-center nowrap'>
+                <a class="layui-btn layui-btn-xs" data-open="{:url('edit')}?id={$vo.id}">详情</a>
+            </td>
+        </tr>
+        {/foreach}
+        </tbody>
+    </table>
+    {empty name='list'}<span class="notdata">没 有 记 录 哦!</span>{else}{$pagehtml|raw|default=''}{/empty}
+</div>
+{/block}

Some files were not shown because too many files changed in this diff