feat(backend): 初始化中储粮后端后台代码与数据库脚本
这个提交包含在:
@@ -0,0 +1,159 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
|
||||
<style>
|
||||
.el-form-item__label {
|
||||
width: 120px !important;
|
||||
}
|
||||
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.search-select .el-input--suffix .el-input__inner {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.el-form-item__content {
|
||||
margin-left: 120px !important;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 160px;
|
||||
height: 140px;
|
||||
border-radius: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<div id="vue" data-id="{$id}" v-cloak>
|
||||
<el-form ref="form" :rules="rules" :model="formData" label-width="90px">
|
||||
<el-form-item label="所属仓库:" prop="gid">
|
||||
<el-select style="width: 330px;" v-model="formData.gid" filterable clearable
|
||||
placeholder="请您选择所属仓库">
|
||||
<el-option
|
||||
v-for="item in granaryList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="记录年份:" prop="test_date">
|
||||
<el-date-picker
|
||||
style="width: 330px;"
|
||||
value-format="yyyy"
|
||||
v-model="formData.test_date"
|
||||
type="year"
|
||||
placeholder="请您选择记录年份">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="报告类型:" prop="title">
|
||||
<el-radio-group size="small" v-model="formData.type">
|
||||
<el-radio-button :label="1">满仓验收</el-radio-button>
|
||||
<el-radio-button :label="2">春普</el-radio-button>
|
||||
<el-radio-button :label="3">秋普</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="图册:" prop="content">
|
||||
<el-upload
|
||||
action="{:url('Upload/uploadImg')}"
|
||||
:before-upload="beforeUpImage"
|
||||
:on-success="upImageSuccess"
|
||||
:on-remove="removeUpImage"
|
||||
:file-list="fileList"
|
||||
list-type="picture-card"
|
||||
accept=".jpg,.jpeg,.png,.gif.JPG,.JPEG,.PNG,.GIF"
|
||||
multiple
|
||||
name="image"
|
||||
>
|
||||
<template slot="file" slot-scope="{file}">
|
||||
<img
|
||||
class="el-upload-list__item-thumbnail"
|
||||
:src="file.url" alt="file.name"
|
||||
>
|
||||
<div v-show="file.title" class="img-bg">{{file.title}}</div>
|
||||
<span class="el-upload-list__item-actions">
|
||||
<span
|
||||
class="el-upload-list__item-preview"
|
||||
>
|
||||
<a style="color: #fff;" :href="file.url" target="_blank">
|
||||
<i class="el-icon-zoom-in"></i>
|
||||
</a>
|
||||
</span>
|
||||
<span
|
||||
@click="handleShowAlbumDialog(file)"
|
||||
class="el-upload-list__item-edit"
|
||||
>
|
||||
<i class="el-icon-edit"></i>
|
||||
</span>
|
||||
<span
|
||||
class="el-upload-list__item-delete"
|
||||
@click="removeUpImage(file)"
|
||||
>
|
||||
<i class="el-icon-delete"></i>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
<i class="el-icon-plus"></i>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:" prop="status">
|
||||
<el-radio style="margin-right: 0;" v-model="formData.status" :label="1" border size="small">显示</el-radio>
|
||||
<el-radio v-model="formData.status" :label="2" border size="small">隐藏</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="el-icon-s-promotion" type="primary" @click="submit" size="small">提交</el-button>
|
||||
<el-button icon="el-icon-switch-button" plain @click="closeLayerDialog" size="small">关闭</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<!-- 图册标题弹框 -->
|
||||
<div class="album-dialog">
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
title="设置标题"
|
||||
:visible.sync="showAlbumDialog"
|
||||
width="40%"
|
||||
>
|
||||
<div class="form">
|
||||
<el-form ref="albumForm" :rules="albumRules" :model="albumFormData" label-width="90px">
|
||||
<el-form-item label="标题:" prop="title">
|
||||
<el-input style="width: 330px;" maxlength="50" placeholder="请您输入标题" show-word-limit v-model="albumFormData.title"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="showAlbumDialog = false" size="small" icon="el-icon-switch-button">取 消</el-button>
|
||||
<el-button type="primary" size="small" @click="handleSaveTitle" icon="el-icon-position">提 交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
|
||||
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
|
||||
@@ -0,0 +1,194 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/css/vvv.css">
|
||||
<style>
|
||||
.el-form-item__label {
|
||||
width: 120px !important;
|
||||
}
|
||||
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.el-form-item__error {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.search-select .el-input--suffix .el-input__inner {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.layui-layer-title {
|
||||
background: #605ca8 !important;
|
||||
}
|
||||
</style>
|
||||
<div id="vue" v-cloak>
|
||||
<div class="screen-container">
|
||||
<div class="screen-container-show">
|
||||
<div class="screen-container-left display-flex">
|
||||
<el-button size="small" @click="refreshPage" icon="el-icon-refresh" circle type="primary"></el-button>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
@change="handleClearDate('startTime')"
|
||||
size="small"
|
||||
v-model="search.startTime"
|
||||
type="datetime"
|
||||
placeholder="选择起始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
@change="handleClearDate('endTime')"
|
||||
size="small"
|
||||
v-model="search.endTime"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex">
|
||||
<el-select @clear="handleClearSelect('gid')" clearable filterable size="small" style="width: 220px;"
|
||||
v-model="search.gid" placeholder="所属仓库">
|
||||
<el-option
|
||||
v-for="item in granaryList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-select screen-container-right display-flex keyword">
|
||||
<el-select size="small" v-model="search.status" filterable @clear="handleClearSelect('status')"
|
||||
clearable placeholder="状态">
|
||||
<el-option
|
||||
v-for="item in statusOpt"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex">
|
||||
<el-date-picker
|
||||
@change="handleClearDate('test_date')"
|
||||
size="small"
|
||||
value-format="yyyy"
|
||||
style="width: 220px;"
|
||||
v-model="search.test_date"
|
||||
type="year"
|
||||
placeholder="记录年份">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex" style="position: relative; top: 2px;">
|
||||
<el-radio-group @input="handelTypeRadio" size="small" v-model="search.type">
|
||||
<el-radio-button :label="0">全部</el-radio-button>
|
||||
<el-radio-button :label="1">满仓验收</el-radio-button>
|
||||
<el-radio-button :label="2">春普</el-radio-button>
|
||||
<el-radio-button :label="3">秋普</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex">
|
||||
<el-button @click="searchData" size="small" type="success" plain icon="el-icon-search">搜索
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex keyword">
|
||||
<el-button @click="add" size="small" type="primary" plain icon="el-icon-plus">添加
|
||||
</el-button>
|
||||
<el-button icon="el-icon-delete" type="danger" @click="del" size="small" plain>删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vue-table background-white color-666">
|
||||
<el-table :data="tableData" border highlight-current-row v-loading="listLoading"
|
||||
@sort-change="sortChange" element-loading-text="拼命加载中..."
|
||||
@selection-change="handleSelectionChange" style="width: 100%">
|
||||
<el-table-column type="selection" width="60" align="center"></el-table-column>
|
||||
<el-table-column width="120" label="操作"
|
||||
show-overflow-tooltip
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<el-dropdown trigger="click">
|
||||
<el-button size="small" plain type="primary">
|
||||
操作<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<el-button size="small" @click="edit(scope.row.id)" type="primary" icon="el-icon-edit">
|
||||
编辑
|
||||
</el-button>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<el-button size="small" @click="dell(scope.row.id)" type="danger" icon="el-icon-delete">
|
||||
删除
|
||||
</el-button>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="id" width="70" label="ID" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="granary.name" label="所属仓库" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="type" width="150" label="报告类型" show-overflow-tooltip
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span v-if="scope.row.type == 1">{{scope.row.test_date}}年满仓验收</span>
|
||||
<span v-if="scope.row.type == 2">{{scope.row.test_date}}年春普</span>
|
||||
<span v-if="scope.row.type == 3">{{scope.row.test_date}}年秋普</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" width="120" label="状态" show-overflow-tooltip
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
:active-value="1"
|
||||
:inactive-value="2"
|
||||
@change="statusChange(scope.row)"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" width="160" :formatter="dateFormat" label="创建时间" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
<div class="layout-pagination">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
|
||||
<script src="__CDN__/assets/tool/libs/moment.js"></script>
|
||||
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
|
||||
<script src="__CDN__/assets/layer/layer.js"></script>
|
||||
在新工单中引用
屏蔽一个用户