mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 06:30:49 +00:00
!274 批量操作未读信息和批量申请采购单
Merge pull request !274 from 杨建炊/fix-release-1.0.0/yjc-migrate
This commit is contained in:
commit
95b2182558
@ -48,7 +48,7 @@ class Controller extends BaseController
|
|||||||
return $this->log->add($targetId, $targetField);
|
return $this->log->add($targetId, $targetField);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function success($data, $msg = "")
|
public function success($data=[], $msg = "")
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
"success" => true,
|
"success" => true,
|
||||||
|
|||||||
@ -74,4 +74,15 @@ class WebsiteMessageController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function batchRead(Request $request)
|
||||||
|
{
|
||||||
|
$params = $request->validate([
|
||||||
|
'ids' => 'required|array'
|
||||||
|
], [
|
||||||
|
'ids.required' => '需要操作的ids'
|
||||||
|
]);
|
||||||
|
WebsiteMessages::query()->whereIn('id', $params['ids'])->update(['status' => 1]);
|
||||||
|
return $this->success();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,11 @@ class PurchaseRecordController extends Controller
|
|||||||
if (!empty($request->start_time) && !empty($request->end_time)) {
|
if (!empty($request->start_time) && !empty($request->end_time)) {
|
||||||
$builder->whereBetween('created_at', [$request->start_time, $request->end_time]);
|
$builder->whereBetween('created_at', [$request->start_time, $request->end_time]);
|
||||||
}
|
}
|
||||||
|
if (!empty($request->date_start_time) && !empty($request->date_end_time)) {
|
||||||
|
$dateStart = Carbon::parse($request->date_start_time)->toDateString();
|
||||||
|
$dateEnd = Carbon::parse($request->date_end_time)->subDay()->toDateString();
|
||||||
|
$builder->whereBetween('date', [$dateStart, $dateEnd]);
|
||||||
|
}
|
||||||
if (!empty($request->title)) {
|
if (!empty($request->title)) {
|
||||||
$builder->whereHas('goodsSku', function ($query) use ($request) {
|
$builder->whereHas('goodsSku', function ($query) use ($request) {
|
||||||
$query->where('name', 'like', '%' . $request->title . '%');
|
$query->where('name', 'like', '%' . $request->title . '%');
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.searchBox[data-v-3852f03c]{display:flex;align-items:center;flex-wrap:wrap;white-space:nowrap}.searchBox .row[data-v-3852f03c]{font-size:14px;margin-bottom:20px;margin-right:15px;display:flex;align-items:center}.bgBox[data-v-3852f03c]{position:relative;border-radius:5px;background-color:#f5f2f2;margin-bottom:15px;padding:15px 30px 15px 0}.bgBox .close[data-v-3852f03c]{color:red;position:absolute;right:5px;top:5px;font-size:20px;cursor:pointer}.btn[data-v-3852f03c]{display:flex;align-items:center;font-size:14px;color:#409eff;cursor:pointer;width:-moz-fit-content;width:fit-content}
|
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.searchBox[data-v-3db31744]{display:flex;align-items:center;flex-wrap:wrap;white-space:nowrap}.searchBox .row[data-v-3db31744]{font-size:14px;margin-bottom:20px;margin-right:15px;display:flex;align-items:center}.bgBox[data-v-3db31744]{position:relative;border-radius:5px;background-color:#f5f2f2;margin-bottom:15px;padding:15px 30px 15px 0}.bgBox .close[data-v-3db31744]{color:red;position:absolute;right:5px;top:5px;font-size:20px;cursor:pointer}.btn[data-v-3db31744]{display:flex;align-items:center;font-size:14px;color:#409eff;cursor:pointer;width:-moz-fit-content;width:fit-content}.opaBox[data-v-3db31744]{margin-bottom:15px}
|
||||||
1
public/dist/css/763.8f9393d3.css
vendored
1
public/dist/css/763.8f9393d3.css
vendored
@ -1 +0,0 @@
|
|||||||
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.aside-show[data-v-0f97ca5c]{transition:all .3s;opacity:0;width:0!important}.aside-hide[data-v-0f97ca5c]{transition:all .3s;opacity:1;width:200px!important}.el-container[data-v-0f97ca5c]{height:100vh}.el-aside[data-v-0f97ca5c]{background-color:#d3dce6;color:#333;overflow-x:hidden}.el-aside[data-v-0f97ca5c]::-webkit-scrollbar{width:8px}.el-aside[data-v-0f97ca5c]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3);border-radius:20px}.el-main[data-v-0f97ca5c]{background-color:#f0f2f5;color:#333;padding:0 0!important}.el-main[data-v-0f97ca5c]::-webkit-scrollbar{width:10px}.el-main[data-v-0f97ca5c]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3)}.box-card[data-v-0f97ca5c]{min-height:calc(100vh - 120px);margin:10px}.conent[data-v-0f97ca5c]{width:100%;min-height:calc(100vh - 200px);position:relative}.add[data-v-0f97ca5c]{cursor:pointer;font-size:16px;color:#606266}.head[data-v-0f97ca5c]{padding:10px;background-color:#fff;border-bottom:1px solid #f6f6f6;box-shadow:0 1px 4px rgba(0,21,41,.08)}.head ul[data-v-0f97ca5c]{display:flex;justify-content:space-between}.head ul li[data-v-0f97ca5c]{display:flex;align-items:center}.head ul li .right[data-v-0f97ca5c]{margin-left:20px}.head ul li .token[data-v-0f97ca5c]{cursor:pointer}.head ul li .msg[data-v-0f97ca5c]{margin-right:15px;font-size:20px;cursor:pointer}.head ul li .msg[data-v-0f97ca5c]:hover{color:#409eff}.el-aside[data-v-0f97ca5c]{background:#282c34;box-shadow:2px 0 6px rgba(0,21,41,.35)}[data-v-0f97ca5c] .el-menu{border:none}.el-menu-item[data-v-0f97ca5c]:hover{outline:0!important;background:#5470c6!important}.el-menu-item.is-active[data-v-0f97ca5c]{color:#fff!important;background:#5470c6!important}.el-menu-item-group__title[data-v-0f97ca5c]{padding:0 0!important}.msgbox[data-v-0f97ca5c]{padding:20px}.msgbox .numtag[data-v-0f97ca5c]{padding:1px 4px;font-size:12px;background:red;color:#fff;margin-left:10px;border-radius:50%}.msgbox .listbox[data-v-0f97ca5c]{height:550px;overflow:auto}.msgbox .listbox .item[data-v-0f97ca5c]{color:#555;font-size:14px;padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #d7d7d7}.msgbox .listbox .item .title[data-v-0f97ca5c]{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;position:relative}.msgbox .listbox .item .title.notread[data-v-0f97ca5c]:after{position:absolute;left:-14px;width:7px;height:7px;border-radius:50%;top:8px;content:"";background:red}.msgbox .listbox .item .title .tit[data-v-0f97ca5c]{font-size:16px;width:calc(100% - 150px)}.msgbox .listbox .item .title span[data-v-0f97ca5c]{font-size:12px;color:#777}.msgbox .listbox .item .title span.not[data-v-0f97ca5c]{color:#409eff;cursor:pointer}.msgbox .listbox .item .info[data-v-0f97ca5c]{margin-bottom:10px;display:flex;justify-content:space-between}.msgbox .listbox .item .info .tit[data-v-0f97ca5c]{font-size:14px;width:calc(100% - 200px)}.msgbox .listbox .item .info .time[data-v-0f97ca5c]{font-size:14px}.bottom[data-v-0f97ca5c]{display:flex;align-items:center;justify-content:center;padding:20px 0;border-top:1px solid #d7d7d7}[data-v-0f97ca5c] .vanmsgbox .el-tabs__content{display:none}[data-v-0f97ca5c] .vanmsgbox .el-tabs--border-card{box-shadow:none}[data-v-0f97ca5c] .vanmsgbox .el-dialog__body{padding:0!important}
|
|
||||||
1
public/dist/css/850.4fa8ccec.css
vendored
Normal file
1
public/dist/css/850.4fa8ccec.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.aside-show[data-v-5d94a0ff]{transition:all .3s;opacity:0;width:0!important}.aside-hide[data-v-5d94a0ff]{transition:all .3s;opacity:1;width:200px!important}.el-container[data-v-5d94a0ff]{height:100vh}.el-aside[data-v-5d94a0ff]{background-color:#d3dce6;color:#333;overflow-x:hidden}.el-aside[data-v-5d94a0ff]::-webkit-scrollbar{width:8px}.el-aside[data-v-5d94a0ff]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3);border-radius:20px}.el-main[data-v-5d94a0ff]{background-color:#f0f2f5;color:#333;padding:0 0!important}.el-main[data-v-5d94a0ff]::-webkit-scrollbar{width:10px}.el-main[data-v-5d94a0ff]::-webkit-scrollbar-thumb{background-color:hsla(220,4%,58%,.3)}.box-card[data-v-5d94a0ff]{min-height:calc(100vh - 120px);margin:10px}.conent[data-v-5d94a0ff]{width:100%;min-height:calc(100vh - 200px);position:relative}.add[data-v-5d94a0ff]{cursor:pointer;font-size:16px;color:#606266}.head[data-v-5d94a0ff]{padding:10px;background-color:#fff;border-bottom:1px solid #f6f6f6;box-shadow:0 1px 4px rgba(0,21,41,.08)}.head ul[data-v-5d94a0ff]{display:flex;justify-content:space-between}.head ul li[data-v-5d94a0ff]{display:flex;align-items:center}.head ul li .right[data-v-5d94a0ff]{margin-left:20px}.head ul li .token[data-v-5d94a0ff]{cursor:pointer}.head ul li .msg[data-v-5d94a0ff]{margin-right:15px;font-size:20px;cursor:pointer}.head ul li .msg[data-v-5d94a0ff]:hover{color:#409eff}.el-aside[data-v-5d94a0ff]{background:#282c34;box-shadow:2px 0 6px rgba(0,21,41,.35)}[data-v-5d94a0ff] .el-menu{border:none}.el-menu-item[data-v-5d94a0ff]:hover{outline:0!important;background:#5470c6!important}.el-menu-item.is-active[data-v-5d94a0ff]{color:#fff!important;background:#5470c6!important}.el-menu-item-group__title[data-v-5d94a0ff]{padding:0 0!important}.msgbox[data-v-5d94a0ff]{padding:20px}.msgbox .numtag[data-v-5d94a0ff]{padding:1px 4px;font-size:12px;background:red;color:#fff;margin-left:10px;border-radius:50%}.msgbox .listbox[data-v-5d94a0ff]{height:550px;overflow:auto}.msgbox .listbox .item[data-v-5d94a0ff]{color:#555;font-size:14px;padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #d7d7d7}.msgbox .listbox .item .title[data-v-5d94a0ff]{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;position:relative}.msgbox .listbox .item .title.notread[data-v-5d94a0ff]:after{position:absolute;left:-14px;width:7px;height:7px;border-radius:50%;top:8px;content:"";background:red}.msgbox .listbox .item .title .tit[data-v-5d94a0ff]{font-size:16px;width:calc(100% - 150px)}.msgbox .listbox .item .title span[data-v-5d94a0ff]{font-size:12px;color:#777}.msgbox .listbox .item .title span.not[data-v-5d94a0ff]{color:#409eff;cursor:pointer}.msgbox .listbox .item .info[data-v-5d94a0ff]{margin-bottom:10px;display:flex;justify-content:space-between}.msgbox .listbox .item .info .tit[data-v-5d94a0ff]{font-size:14px;width:calc(100% - 200px)}.msgbox .listbox .item .info .time[data-v-5d94a0ff]{font-size:14px}.bottom[data-v-5d94a0ff]{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid #d7d7d7}[data-v-5d94a0ff] .vanmsgbox .el-tabs__content{display:none}[data-v-5d94a0ff] .vanmsgbox .el-tabs--border-card{box-shadow:none}[data-v-5d94a0ff] .vanmsgbox .el-dialog__body{padding:0!important}
|
||||||
2
public/dist/index.html
vendored
2
public/dist/index.html
vendored
@ -1 +1 @@
|
|||||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.04652b46.js"></script><script defer="defer" src="js/app.30de8ae3.js"></script><link href="css/chunk-vendors.77489a8d.css" rel="stylesheet"><link href="css/app.7e37f273.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.04652b46.js"></script><script defer="defer" src="js/app.f1ce3c3c.js"></script><link href="css/chunk-vendors.77489a8d.css" rel="stylesheet"><link href="css/app.7e37f273.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||||
2
public/dist/js/120.5d42b8fb.js
vendored
Normal file
2
public/dist/js/120.5d42b8fb.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/120.5d42b8fb.js.map
vendored
Normal file
1
public/dist/js/120.5d42b8fb.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
public/dist/js/134.57e92ad2.js
vendored
2
public/dist/js/134.57e92ad2.js
vendored
File diff suppressed because one or more lines are too long
1
public/dist/js/134.57e92ad2.js.map
vendored
1
public/dist/js/134.57e92ad2.js.map
vendored
File diff suppressed because one or more lines are too long
1
public/dist/js/206.229a99a8.js.map
vendored
1
public/dist/js/206.229a99a8.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/206.f31f5e61.js.map
vendored
Normal file
1
public/dist/js/206.f31f5e61.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/417.060d078f.js.map
vendored
1
public/dist/js/417.060d078f.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/417.5d40a6d8.js.map
vendored
Normal file
1
public/dist/js/417.5d40a6d8.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
|||||||
"use strict";(self["webpackChunkerp"]=self["webpackChunkerp"]||[]).push([[688],{4702:function(e,t,a){a.r(t),a.d(t,{default:function(){return p}});var r=function(){var e=this,t=e._self._c;return t("div",[t("el-card",{attrs:{"body-style":{padding:"20px 20px 0 20px"}}},[t("el-form",{ref:"form",attrs:{inline:!0,model:e.form}},[t("el-form-item",{attrs:{label:"查询类别:"}},[t("el-select",{attrs:{placeholder:"全部"},model:{value:e.form.targetField,callback:function(t){e.$set(e.form,"targetField",t)},expression:"form.targetField"}},e._l(e.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"操作用户"}},[t("el-select",{attrs:{placeholder:"输入操作用户"},model:{value:e.form.userId,callback:function(t){e.$set(e.form,"userId",t)},expression:"form.userId"}},e._l(e.options1,(function(e){return t("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),t("el-form-item",{attrs:{label:"操作时间:"}},[t("el-date-picker",{attrs:{type:"datetimerange","range-separator":"-","start-placeholder":"起","end-placeholder":"止","value-format":"yyyy-MM-dd HH:mm:ss"},model:{value:e.value1,callback:function(t){e.value1=t},expression:"value1"}})],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.query(1)}}},[e._v("查询")])],1)],1)],1),t("el-card",{staticStyle:{"margin-top":"10px"}},[t("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[t("el-table-column",{attrs:{prop:"id",label:"序号",width:"70"}}),t("el-table-column",{attrs:{prop:"created_at",label:"时间",width:"200"}}),t("el-table-column",{attrs:{prop:"target_field",label:"类别",width:"100"}}),t("el-table-column",{attrs:{prop:"before_update",label:"操作前",resizable:e.ture}}),t("el-table-column",{attrs:{prop:"after_update",label:"操作后",resizable:e.ture}}),t("el-table-column",{attrs:{prop:"user.name",label:"操作人",width:"100"}})],1),t("div",{staticClass:"block"},[t("el-pagination",{attrs:{"current-page":e.current_page,"page-sizes":[15,50,100],"page-size":e.per_page,layout:"total, sizes, prev, pager, next, jumper",total:e.Paginationdata.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)],1)},l=[],n=a(2900),i=a(6791),u={data(){return{options:[{value:"cost",label:"成本"},{value:"stock",label:"库存"},{value:"inventory",label:"库存盘点"},{value:"status",label:"状态"},{value:"set",label:"设置"}],options1:[],form:{targetField:"",userId:""},value1:"",loading:!0,tableData:[],Paginationdata:{},current_page:1,per_page:15,moudule:"goods"}},methods:{getList(){let e={userId:this.form.userId,target_field:this.form.targetField,moudule:this.moudule,target_id:this.$route.query.id,startTime:this.value1[0],endTime:this.value1[1],page:this.current_page,per_page:this.per_page};(0,i.m)(e).then((e=>{this.tableData=e.data.data,this.Paginationdata=e.data.meta})),this.loading=!1},handleSizeChange(e){this.per_page=e,this.query(1)},handleCurrentChange(e){this.current_page=e,this.query(this.current_page)},getUser(){(0,n.Lh)().then((e=>{this.options1=e.data.data}))},query(e){let t={userId:this.form.userId,target_field:this.form.targetField,page:e,per_page:this.per_page,moudule:this.moudule,target_id:this.$route.query.id,startTime:this.value1[0],endTime:this.value1[1]};const a=r(t);function r(e){const t={};for(const a in e)0!==e[a]&&!e[a]||""===e[a].toString().replace(/(^\s*)|(\s*$)/g,"")||(t[a]=e[a]);return t}(0,i.m)(a).then((e=>{this.tableData=e.data.data,this.Paginationdata=e.data.meta}))}},mounted(){this.getList(),this.getUser()}},o=u,s=a(1001),d=(0,s.Z)(o,r,l,!1,null,"891ad2ec",null),p=d.exports},6791:function(e,t,a){a.d(t,{m:function(){return l}});var r=a(8430);function l(e){return(0,r.Z)({url:"/api/logs",method:"get",params:e})}},2900:function(e,t,a){a.d(t,{A0:function(){return d},AX:function(){return o},Lh:function(){return n},RF:function(){return i},Uy:function(){return l},f7:function(){return u},nO:function(){return s}});var r=a(8430);function l(){return(0,r.Z)({url:"/api/roles",method:"get"})}function n(e){return(0,r.Z)({url:"/api/users",method:"get",params:e})}function i(e){return(0,r.Z)({url:"/api/users",method:"post",data:e})}function u(e){return(0,r.Z)({url:`/api/users/${e}`,method:"get"})}function o(e,t){return(0,r.Z)({url:`/api/users/${e}`,method:"patch",data:t})}function s(e){return(0,r.Z)({url:"/api/website_message",method:"get",params:e})}function d(e,t){return(0,r.Z)({url:`/api/website_message/${e}`,method:"patch",data:t})}}}]);
|
"use strict";(self["webpackChunkerp"]=self["webpackChunkerp"]||[]).push([[688],{4702:function(e,t,a){a.r(t),a.d(t,{default:function(){return p}});var r=function(){var e=this,t=e._self._c;return t("div",[t("el-card",{attrs:{"body-style":{padding:"20px 20px 0 20px"}}},[t("el-form",{ref:"form",attrs:{inline:!0,model:e.form}},[t("el-form-item",{attrs:{label:"查询类别:"}},[t("el-select",{attrs:{placeholder:"全部"},model:{value:e.form.targetField,callback:function(t){e.$set(e.form,"targetField",t)},expression:"form.targetField"}},e._l(e.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"操作用户"}},[t("el-select",{attrs:{placeholder:"输入操作用户"},model:{value:e.form.userId,callback:function(t){e.$set(e.form,"userId",t)},expression:"form.userId"}},e._l(e.options1,(function(e){return t("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),t("el-form-item",{attrs:{label:"操作时间:"}},[t("el-date-picker",{attrs:{type:"datetimerange","range-separator":"-","start-placeholder":"起","end-placeholder":"止","value-format":"yyyy-MM-dd HH:mm:ss"},model:{value:e.value1,callback:function(t){e.value1=t},expression:"value1"}})],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.query(1)}}},[e._v("查询")])],1)],1)],1),t("el-card",{staticStyle:{"margin-top":"10px"}},[t("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[t("el-table-column",{attrs:{prop:"id",label:"序号",width:"70"}}),t("el-table-column",{attrs:{prop:"created_at",label:"时间",width:"200"}}),t("el-table-column",{attrs:{prop:"target_field",label:"类别",width:"100"}}),t("el-table-column",{attrs:{prop:"before_update",label:"操作前",resizable:e.ture}}),t("el-table-column",{attrs:{prop:"after_update",label:"操作后",resizable:e.ture}}),t("el-table-column",{attrs:{prop:"user.name",label:"操作人",width:"100"}})],1),t("div",{staticClass:"block"},[t("el-pagination",{attrs:{"current-page":e.current_page,"page-sizes":[15,50,100],"page-size":e.per_page,layout:"total, sizes, prev, pager, next, jumper",total:e.Paginationdata.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)],1)},l=[],n=a(2900),i=a(6791),u={data(){return{options:[{value:"cost",label:"成本"},{value:"stock",label:"库存"},{value:"inventory",label:"库存盘点"},{value:"status",label:"状态"},{value:"set",label:"设置"}],options1:[],form:{targetField:"",userId:""},value1:"",loading:!0,tableData:[],Paginationdata:{},current_page:1,per_page:15,moudule:"goods"}},methods:{getList(){let e={userId:this.form.userId,target_field:this.form.targetField,moudule:this.moudule,target_id:this.$route.query.id,startTime:this.value1[0],endTime:this.value1[1],page:this.current_page,per_page:this.per_page};(0,i.m)(e).then((e=>{this.tableData=e.data.data,this.Paginationdata=e.data.meta})),this.loading=!1},handleSizeChange(e){this.per_page=e,this.query(1)},handleCurrentChange(e){this.current_page=e,this.query(this.current_page)},getUser(){(0,n.Lh)().then((e=>{this.options1=e.data.data}))},query(e){let t={userId:this.form.userId,target_field:this.form.targetField,page:e,per_page:this.per_page,moudule:this.moudule,target_id:this.$route.query.id,startTime:this.value1[0],endTime:this.value1[1]};const a=r(t);function r(e){const t={};for(const a in e)0!==e[a]&&!e[a]||""===e[a].toString().replace(/(^\s*)|(\s*$)/g,"")||(t[a]=e[a]);return t}(0,i.m)(a).then((e=>{this.tableData=e.data.data,this.Paginationdata=e.data.meta}))}},mounted(){this.getList(),this.getUser()}},o=u,s=a(1001),d=(0,s.Z)(o,r,l,!1,null,"891ad2ec",null),p=d.exports},6791:function(e,t,a){a.d(t,{m:function(){return l}});var r=a(8430);function l(e){return(0,r.Z)({url:"/api/logs",method:"get",params:e})}},2900:function(e,t,a){a.d(t,{A0:function(){return d},AX:function(){return o},Lh:function(){return n},RF:function(){return i},Uy:function(){return l},Vb:function(){return p},f7:function(){return u},nO:function(){return s}});var r=a(8430);function l(){return(0,r.Z)({url:"/api/roles",method:"get"})}function n(e){return(0,r.Z)({url:"/api/users",method:"get",params:e})}function i(e){return(0,r.Z)({url:"/api/users",method:"post",data:e})}function u(e){return(0,r.Z)({url:`/api/users/${e}`,method:"get"})}function o(e,t){return(0,r.Z)({url:`/api/users/${e}`,method:"patch",data:t})}function s(e){return(0,r.Z)({url:"/api/website_message",method:"get",params:e})}function d(e,t){return(0,r.Z)({url:`/api/website_message/${e}`,method:"patch",data:t})}function p(e){return(0,r.Z)({url:"/api/website_message/batchRead",method:"post",data:e})}}}]);
|
||||||
//# sourceMappingURL=688.c1783454.js.map
|
//# sourceMappingURL=688.1ffe9e5d.js.map
|
||||||
1
public/dist/js/688.1ffe9e5d.js.map
vendored
Normal file
1
public/dist/js/688.1ffe9e5d.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/688.c1783454.js.map
vendored
1
public/dist/js/688.c1783454.js.map
vendored
File diff suppressed because one or more lines are too long
2
public/dist/js/763.e09c890d.js
vendored
2
public/dist/js/763.e09c890d.js
vendored
File diff suppressed because one or more lines are too long
1
public/dist/js/763.e09c890d.js.map
vendored
1
public/dist/js/763.e09c890d.js.map
vendored
File diff suppressed because one or more lines are too long
1
public/dist/js/839.aa0c84c2.js.map
vendored
1
public/dist/js/839.aa0c84c2.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/839.f5901bd7.js.map
vendored
Normal file
1
public/dist/js/839.f5901bd7.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
public/dist/js/850.3d04d1d4.js
vendored
Normal file
2
public/dist/js/850.3d04d1d4.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/850.3d04d1d4.js.map
vendored
Normal file
1
public/dist/js/850.3d04d1d4.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/931.79e27d13.js.map
vendored
Normal file
1
public/dist/js/931.79e27d13.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/931.c12ad990.js.map
vendored
1
public/dist/js/931.c12ad990.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/967.0072dd64.js.map
vendored
Normal file
1
public/dist/js/967.0072dd64.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/967.1e40c1e4.js.map
vendored
1
public/dist/js/967.1e40c1e4.js.map
vendored
File diff suppressed because one or more lines are too long
2
public/dist/js/app.30de8ae3.js
vendored
2
public/dist/js/app.30de8ae3.js
vendored
File diff suppressed because one or more lines are too long
2
public/dist/js/app.f1ce3c3c.js
vendored
Normal file
2
public/dist/js/app.f1ce3c3c.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
8
resources/frontend/src/api/user.js
vendored
8
resources/frontend/src/api/user.js
vendored
@ -60,3 +60,11 @@ export function messageRead(id, data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function messageReadAll(data) {
|
||||||
|
return http({
|
||||||
|
url: `/api/website_message/batchRead`,
|
||||||
|
method: "post",
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@ -81,6 +81,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
|
<div>
|
||||||
|
<el-button v-if="curTopTab == '0'" icon="el-icon-finished" :disabled="msgList.length ? false : true" @click="markHasRead()">标记全部已读</el-button>
|
||||||
|
</div>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
:current-page="page"
|
:current-page="page"
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
@ -99,7 +102,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { removeToken } from "@/util/auth"
|
import { removeToken } from "@/util/auth"
|
||||||
import { getMenu } from "../api/menu.js"
|
import { getMenu } from "../api/menu.js"
|
||||||
import { websiteMessage, messageRead } from "../api/user.js"
|
import { websiteMessage, messageRead, messageReadAll } from "../api/user.js"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -242,6 +245,17 @@ export default {
|
|||||||
this.page = 1
|
this.page = 1
|
||||||
this.pageSize = e
|
this.pageSize = e
|
||||||
this.getMsgList()
|
this.getMsgList()
|
||||||
|
},
|
||||||
|
markHasRead() {
|
||||||
|
let ids = []
|
||||||
|
this.msgList.forEach(it => {
|
||||||
|
ids.push(it.id)
|
||||||
|
})
|
||||||
|
messageReadAll({ids: ids}).then((res) => {
|
||||||
|
this.page = 1
|
||||||
|
this.getMsgList()
|
||||||
|
this.getNoReadNum()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -429,7 +443,7 @@ export default {
|
|||||||
.bottom{
|
.bottom{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: space-between;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
border-top: 1px solid #D7D7D7;
|
border-top: 1px solid #D7D7D7;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,19 @@
|
|||||||
@change="handleSearch()">
|
@change="handleSearch()">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>采购时间:</span>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="buyTime"
|
||||||
|
type="datetimerange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
style="width: 340px"
|
||||||
|
@change="handleSearch()">
|
||||||
|
</el-date-picker>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<span>审核状态:</span>
|
<span>审核状态:</span>
|
||||||
<el-select v-model="filter.status" placeholder="请选择" clearable @change="handleSearch()">
|
<el-select v-model="filter.status" placeholder="请选择" clearable @change="handleSearch()">
|
||||||
@ -35,8 +48,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-table v-loading="loading" :data="procureList" style="width: 100%" border>
|
<div class="opaBox">
|
||||||
|
<el-button type="primary" :disabled="chooseList.length ? false : true" icon="el-icon-s-check" @click="batchExamine">批量审核</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="procureList" style="width: 100%" border ref="cesTable" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" align="center" width="50" :selectable="selectable"></el-table-column>
|
||||||
<el-table-column prop="goods_sku.id" label="商品id" width="80" align="center" />
|
<el-table-column prop="goods_sku.id" label="商品id" width="80" align="center" />
|
||||||
<el-table-column prop="goods_sku.name" label="商品名称" />
|
<el-table-column prop="goods_sku.name" label="商品名称" />
|
||||||
<el-table-column prop="external_sku_id" label="商品编码" />
|
<el-table-column prop="external_sku_id" label="商品编码" />
|
||||||
@ -79,7 +98,7 @@
|
|||||||
|
|
||||||
<el-dialog title="审核" :visible.sync="dialogVisible" width="500px">
|
<el-dialog title="审核" :visible.sync="dialogVisible" width="500px">
|
||||||
<el-form label-width="90px">
|
<el-form label-width="90px">
|
||||||
<el-form-item label="采购数量:">
|
<el-form-item label="采购数量:" v-if="opaType == 'normal'">
|
||||||
<el-input v-model="curInfo.num" type="number" clearable></el-input>
|
<el-input v-model="curInfo.num" type="number" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审核状态:">
|
<el-form-item label="审核状态:">
|
||||||
@ -109,12 +128,14 @@ export default {
|
|||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
total: 0,
|
total: 0,
|
||||||
procureList: [],
|
procureList: [],
|
||||||
|
chooseList: [],
|
||||||
filter: {
|
filter: {
|
||||||
title: '',
|
title: '',
|
||||||
external_sku_id: '',
|
external_sku_id: '',
|
||||||
status: ''
|
status: ''
|
||||||
},
|
},
|
||||||
addTime: [],
|
addTime: [],
|
||||||
|
buyTime: [],
|
||||||
curInfo: {},
|
curInfo: {},
|
||||||
commitloading: false,
|
commitloading: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
@ -122,7 +143,8 @@ export default {
|
|||||||
{ id: 0, name: '待审核' },
|
{ id: 0, name: '待审核' },
|
||||||
{ id: 1, name: '审核通过' },
|
{ id: 1, name: '审核通过' },
|
||||||
{ id: 2, name: '审核不通过' }
|
{ id: 2, name: '审核不通过' }
|
||||||
]
|
],
|
||||||
|
opaType: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -133,7 +155,9 @@ export default {
|
|||||||
per_page: this.pageSize,
|
per_page: this.pageSize,
|
||||||
...this.filter,
|
...this.filter,
|
||||||
start_time: this.addTime ? this.addTime[0] : '',
|
start_time: this.addTime ? this.addTime[0] : '',
|
||||||
end_time: this.addTime ? this.addTime[1] : ''
|
end_time: this.addTime ? this.addTime[1] : '',
|
||||||
|
date_start_time: this.buyTime ? this.buyTime[0] : '',
|
||||||
|
date_end_time: this.buyTime ? this.buyTime[1] : ''
|
||||||
}
|
}
|
||||||
getPurchaseLog(params).then((res) => {
|
getPurchaseLog(params).then((res) => {
|
||||||
this.procureList = res.data.data
|
this.procureList = res.data.data
|
||||||
@ -158,6 +182,7 @@ export default {
|
|||||||
},
|
},
|
||||||
toExamine(row) {
|
toExamine(row) {
|
||||||
this.curInfo = JSON.parse(JSON.stringify(row))
|
this.curInfo = JSON.parse(JSON.stringify(row))
|
||||||
|
this.opaType = 'normal'
|
||||||
this.dialogVisible = true
|
this.dialogVisible = true
|
||||||
},
|
},
|
||||||
commitCheck() {
|
commitCheck() {
|
||||||
@ -167,13 +192,26 @@ export default {
|
|||||||
}
|
}
|
||||||
this.commitloading = true
|
this.commitloading = true
|
||||||
let params = {
|
let params = {
|
||||||
purchaseOrders: [{
|
purchaseOrders: []
|
||||||
|
}
|
||||||
|
if(this.opaType == 'normal') {
|
||||||
|
params.purchaseOrders = [{
|
||||||
id: this.curInfo.id,
|
id: this.curInfo.id,
|
||||||
status: this.curInfo.status,
|
status: this.curInfo.status,
|
||||||
num: this.curInfo.num
|
num: this.curInfo.num
|
||||||
}]
|
}]
|
||||||
|
} else {
|
||||||
|
for (let index = 0; index < this.chooseList.length; index++) {
|
||||||
|
params.purchaseOrders.push({
|
||||||
|
id: this.chooseList[index].id,
|
||||||
|
status: this.curInfo.status,
|
||||||
|
num: this.chooseList[index].num
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
examinePurchase(params).then((res) => {
|
examinePurchase(params).then((res) => {
|
||||||
|
this.chooseList = []
|
||||||
|
this.$refs.cesTable.clearSelection()
|
||||||
this.$message({ type: "success", message: "操作成功!" })
|
this.$message({ type: "success", message: "操作成功!" })
|
||||||
this.commitloading = false
|
this.commitloading = false
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
@ -181,6 +219,23 @@ export default {
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.commitloading = false
|
this.commitloading = false
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
batchExamine() {
|
||||||
|
this.curInfo = {
|
||||||
|
status: 0
|
||||||
|
}
|
||||||
|
this.opaType = 'batch'
|
||||||
|
this.dialogVisible = true
|
||||||
|
},
|
||||||
|
handleSelectionChange(val) {
|
||||||
|
this.chooseList = val
|
||||||
|
},
|
||||||
|
selectable(row, index) {
|
||||||
|
if (row.status == 1) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -226,4 +281,7 @@ export default {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
.opaBox{
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -81,6 +81,8 @@ Route::middleware(['auth:api', 'check.permissions'])->group(function () {
|
|||||||
Route::resource('supplier', 'Supplier\SuppliersController', ['only' => ['index', 'update', 'store','destroy']]);
|
Route::resource('supplier', 'Supplier\SuppliersController', ['only' => ['index', 'update', 'store','destroy']]);
|
||||||
//站内信
|
//站内信
|
||||||
Route::resource('website_message', 'Message\WebsiteMessageController', ['only' => ['index', 'update']]);
|
Route::resource('website_message', 'Message\WebsiteMessageController', ['only' => ['index', 'update']]);
|
||||||
|
Route::post('website_message/batchRead', [\App\Http\Controllers\Message\WebsiteMessageController::class, 'batchRead']);
|
||||||
|
|
||||||
//仓库管理-采购单
|
//仓库管理-采购单
|
||||||
Route::resource('supplier/purchase_record', 'Supplier\PurchaseRecordController',['only' => ['index', 'store','update']]);
|
Route::resource('supplier/purchase_record', 'Supplier\PurchaseRecordController',['only' => ['index', 'store','update']]);
|
||||||
//报损单
|
//报损单
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user