fixed 代码库对接类目
This commit is contained in:
parent
b072ce49d2
commit
4079ff8f38
@ -24,18 +24,17 @@ class CodeModule extends BaseController
|
||||
{
|
||||
$params = $request->param();
|
||||
$con = [];
|
||||
|
||||
$con = Tool::getOptionalQuery(['customer_guid', 'LIKE'], ['code_module_catetory_guid', '='], ['code_module_name', 'LIKE'], ['code_module_audit', '='],);
|
||||
|
||||
$con = Tool::getOptionalQuery(['a.code_module_category_guid', '='], ['code_module_name', 'LIKE'], ['code_module_audit', '='],);
|
||||
|
||||
$query = ModelCodeModule::where($con)
|
||||
->alias('a')
|
||||
->leftjoin('customer b', 'a.customer_guid = b.customer_guid')
|
||||
->leftjoin('code_module_category c', 'a.code_module_category_guid = c.code_module_category_guid')
|
||||
->field([
|
||||
'a.code_module_id',
|
||||
'a.code_module_guid',
|
||||
'a.customer_guid',
|
||||
'b.customer_name',
|
||||
'a.code_module_catetory_guid',
|
||||
'c.code_module_category_name',
|
||||
'a.code_module_category_guid',
|
||||
'a.code_module_name',
|
||||
'a.code_module_html',
|
||||
'a.code_module_style',
|
||||
@ -54,19 +53,18 @@ class CodeModule extends BaseController
|
||||
public function addCodeModule(Request $request): array
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('code_module');
|
||||
Tool::adminLockTableWrite(['code_module', 'dictionary', 'code_module_category']);
|
||||
try {
|
||||
$params = $request->param();
|
||||
$this->validate($params, [
|
||||
'code_module_catetory_guid|类目' => 'require',
|
||||
'code_module_category_guid|类目' => 'require',
|
||||
'code_module_name|代码块名称' => 'require',
|
||||
'code_module_html|html内容' => 'require',
|
||||
'code_module_sort|排序' => 'require',
|
||||
'code_module_audit|审核状态' => 'require'
|
||||
]);
|
||||
$model = ModelCodeModule::create($params, [
|
||||
'customer_guid',
|
||||
'code_module_catetory_guid',
|
||||
'code_module_category_guid',
|
||||
'code_module_name',
|
||||
'code_module_html',
|
||||
'code_module_style',
|
||||
@ -93,11 +91,11 @@ class CodeModule extends BaseController
|
||||
public function editCodeModule(Request $request): array
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('code_module');
|
||||
Tool::adminLockTableWrite(['code_module', 'dictionary', 'code_module_category']);
|
||||
try {
|
||||
$params = $request->param();
|
||||
$this->validate($params, [
|
||||
'code_module_catetory_guid|类目' => 'require',
|
||||
'code_module_category_guid|类目' => 'require',
|
||||
'code_module_name|代码块名称' => 'require',
|
||||
'code_module_html|html内容' => 'require',
|
||||
'code_module_sort|排序' => 'require',
|
||||
@ -106,8 +104,7 @@ class CodeModule extends BaseController
|
||||
$model = ModelCodeModule::where('code_module_guid', $params['code_module_guid'])->find();
|
||||
if (!$model) throwErrorMsg("该代码块不存在", 1);
|
||||
$model->allowField([
|
||||
'customer_guid',
|
||||
'code_module_catetory_guid',
|
||||
'code_module_category_guid',
|
||||
'code_module_name',
|
||||
'code_module_html',
|
||||
'code_module_style',
|
||||
@ -132,7 +129,7 @@ class CodeModule extends BaseController
|
||||
public function deleteCodeModule(Request $request): array
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('code_module');
|
||||
Tool::adminLockTableWrite(['code_module', 'dictionary', 'code_module_category']);
|
||||
try {
|
||||
$params = $request->param();
|
||||
$this->validate($params, [
|
||||
@ -190,7 +187,287 @@ class CodeModule extends BaseController
|
||||
$params = $request->param();
|
||||
$data = [
|
||||
array_values(ModelCodeModule::EXCELFIELD),
|
||||
['默认值1', '默认值2', '默认值3', '默认值4', '默认值5', '默认值6', '默认值7', '默认值8',]
|
||||
[
|
||||
'卡片',
|
||||
'超级卡片',
|
||||
'<div class="wrapper">
|
||||
|
||||
<div class="card radius shadowDepth1">
|
||||
<div class="card__image border-tlr-radius">
|
||||
<img src="http://lorempixel.com/400/200/sports/" alt="image" class="border-tlr-radius">
|
||||
</div>
|
||||
|
||||
<div class="card__content card__padding">
|
||||
<div class="card__share">
|
||||
<div class="card__social">
|
||||
<a class="share-icon facebook" href="#"><span class="fa fa-facebook"></span></a>
|
||||
<a class="share-icon twitter" href="#"><span class="fa fa-twitter"></span></a>
|
||||
<a class="share-icon googleplus" href="#"><span class="fa fa-google-plus"></span></a>
|
||||
</div>
|
||||
|
||||
<a id="share" class="share-toggle share-icon" href="#"></a>
|
||||
</div>
|
||||
|
||||
<div class="card__meta">
|
||||
<a href="#">Web Design</a>
|
||||
<time>17th March</time>
|
||||
</div>
|
||||
|
||||
<article class="card__article">
|
||||
<h2><a href="#">Material Design Card - For Blog Post Article</a></h2>
|
||||
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus harum...</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="card__action">
|
||||
|
||||
<div class="card__author">
|
||||
<img src="http://lorempixel.com/40/40/sports/" alt="user">
|
||||
<div class="card__author-content">
|
||||
By <a href="#">John Doe</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="text-center">Created By <a href="https://twitter.com/mithicher">Mithicher Baro</a></p>
|
||||
</div>',
|
||||
`@import 'https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css';
|
||||
@import 'https://fonts.googleapis.com/css?family=Roboto:700,400';
|
||||
/*
|
||||
* Basic Reset
|
||||
*/
|
||||
|
||||
*,
|
||||
*:after,
|
||||
*:before {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Basics Styles
|
||||
*/
|
||||
html {
|
||||
font-size: 62.5%;
|
||||
}
|
||||
body {
|
||||
background-color: #eee;
|
||||
font-family: Roboto;
|
||||
font-weight: 400;
|
||||
font-size: 1.6em;
|
||||
line-height: 1.6;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #3498db;
|
||||
}
|
||||
a:hover {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
h2 {
|
||||
line-height: 1.2;
|
||||
margin-bottom: 1.6rem;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
max-width: 400px;
|
||||
margin: 50px auto;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helpers
|
||||
*/
|
||||
.border-tlr-radius {
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
}
|
||||
|
||||
.text-center { text-align: center; }
|
||||
|
||||
.radius { border-radius: 2px; }
|
||||
|
||||
.padding-tb { padding-top: 1.6rem; padding-bottom: 1.6rem;}
|
||||
|
||||
.shadowDepth0 { box-shadow: 0 1px 3px rgba(0,0,0, 0.12); }
|
||||
|
||||
.shadowDepth1 {
|
||||
box-shadow:
|
||||
0 1px 3px rgba(0,0,0, 0.12),
|
||||
0 1px 2px rgba(0,0,0, 0.24);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Card Styles
|
||||
*/
|
||||
|
||||
.card {
|
||||
background-color: #fff;
|
||||
margin-bottom: 1.6rem;
|
||||
}
|
||||
|
||||
.card__padding {
|
||||
padding: 1.6rem;
|
||||
}
|
||||
|
||||
.card__image {
|
||||
min-height: 100px;
|
||||
background-color: #eee;
|
||||
}
|
||||
.card__image img {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.card__content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* card meta */
|
||||
.card__meta time {
|
||||
font-size: 1.5rem;
|
||||
color: #bbb;
|
||||
margin-left: 0.8rem;
|
||||
}
|
||||
|
||||
/* card article */
|
||||
.card__article a {
|
||||
text-decoration: none;
|
||||
color: #444;
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
.card__article a:hover {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
/* card action */
|
||||
.card__action {
|
||||
overflow: hidden;
|
||||
padding-right: 1.6rem;
|
||||
padding-left: 1.6rem;
|
||||
padding-bottom: 1.6rem;
|
||||
}
|
||||
|
||||
.card__author {}
|
||||
|
||||
.card__author img,
|
||||
.card__author-content {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.card__author img{
|
||||
border-radius: 50%;
|
||||
margin-right: 0.6em;
|
||||
}
|
||||
|
||||
.card__share {
|
||||
float: right;
|
||||
position: relative;
|
||||
margin-top: -42px;
|
||||
}
|
||||
|
||||
.card__social {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
visibility: hidden;
|
||||
width: 160px;
|
||||
transform: translateZ(0);
|
||||
transform: translateX(0px);
|
||||
transition: transform 0.35s ease;
|
||||
}
|
||||
.card__social--active {
|
||||
visibility: visible;
|
||||
/*z-index: 3;*/
|
||||
transform: translateZ(0);
|
||||
transform: translateX(-48px);
|
||||
transition: transform 0.35s ease;
|
||||
}
|
||||
|
||||
.share-toggle {
|
||||
z-index: 2;
|
||||
}
|
||||
.share-toggle:before {
|
||||
content: "\f1e0";
|
||||
font-family: 'FontAwesome';
|
||||
color: #3498db;
|
||||
}
|
||||
.share-toggle.share-expanded:before {
|
||||
content: "\f00d";
|
||||
}
|
||||
|
||||
.share-icon {
|
||||
display: inline-block;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
background-color: #fff;
|
||||
transition: all 0.3s ease;
|
||||
outline: 0;
|
||||
|
||||
box-shadow:
|
||||
0 2px 4px rgba(0,0,0, 0.12),
|
||||
0 2px 4px rgba(0,0,0, 0.24);
|
||||
}
|
||||
.share-icon:hover,
|
||||
.share-icon:focus {
|
||||
box-shadow:
|
||||
0 3px 6px rgba(0,0,0, 0.12),
|
||||
0 3px 6px rgba(0,0,0, 0.24);
|
||||
|
||||
-webkit-transform: scale(1.2);
|
||||
-moz-transform: scale(1.2);
|
||||
-ms-transform: scale(1.2);
|
||||
-o-transform: scale(1.2);
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
.facebook {
|
||||
background-color: #3b5998;
|
||||
}
|
||||
.twitter {
|
||||
background-color: #00abe3;
|
||||
}
|
||||
.googleplus {
|
||||
background-color: #d3492c;
|
||||
}
|
||||
|
||||
.facebook,
|
||||
.twitter,
|
||||
.googleplus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.facebook:hover,
|
||||
.twitter:hover,
|
||||
.googleplus:hover {
|
||||
color: #eee;
|
||||
}
|
||||
`,
|
||||
`$(document).ready(function($) {
|
||||
|
||||
$('.card__share > a').on('click', function(e){
|
||||
e.preventDefault() // prevent default action - hash doesn't appear in url
|
||||
$(this).parent().find( 'div' ).toggleClass( 'card__social--active' );
|
||||
$(this).toggleClass('share-expanded');
|
||||
});
|
||||
|
||||
});
|
||||
`,
|
||||
'1',
|
||||
]
|
||||
];
|
||||
$excel = (new Excel())->exporTsheet($data);
|
||||
$excel->save('代码块导入模板.xlsx');
|
||||
@ -201,6 +478,7 @@ class CodeModule extends BaseController
|
||||
*/
|
||||
public function importExcel(Request $request): array
|
||||
{
|
||||
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('code_module');
|
||||
$msg = ModelCodeModule::importExcel($file);
|
||||
|
@ -9,6 +9,8 @@ use app\common\arw\adjfut\src\Excel;
|
||||
use app\Request;
|
||||
use app\common\exception\Tool;
|
||||
use think\facade\Db;
|
||||
use app\common\model\Dictionary\Dictionary as ModelDictionary;
|
||||
use app\common\model\Code\CodeModuleCategory as ModelCodeModuleCategory;
|
||||
|
||||
class CodeModule extends BaseModel
|
||||
{
|
||||
@ -23,8 +25,7 @@ class CodeModule extends BaseModel
|
||||
protected $schema = [
|
||||
'code_module_id' => 'int',
|
||||
'code_module_guid' => 'string',
|
||||
'customer_guid' => 'string',
|
||||
'code_module_catetory_guid' => 'string',
|
||||
'code_module_category_guid' => 'string',
|
||||
'code_module_name' => 'string',
|
||||
'code_module_html' => '',
|
||||
'code_module_style' => '',
|
||||
@ -53,14 +54,12 @@ class CodeModule extends BaseModel
|
||||
|
||||
// excel导入/下载模板表头
|
||||
public const EXCELFIELD = [
|
||||
'customer_guid' => '所属客户',
|
||||
'code_module_catetory_guid' => '类目',
|
||||
'code_module_category_guid' => '类目',
|
||||
'code_module_name' => '代码块名称',
|
||||
'code_module_html' => 'html内容',
|
||||
'code_module_style' => 'style内容',
|
||||
'code_module_script' => 'script内容',
|
||||
'code_module_sort' => '排序',
|
||||
'code_module_audit' => '审核状态',
|
||||
];
|
||||
|
||||
/**
|
||||
@ -99,7 +98,6 @@ class CodeModule extends BaseModel
|
||||
public static function exportExcel(array $select): void
|
||||
{
|
||||
$data = [[
|
||||
'所属客户',
|
||||
'类目',
|
||||
'代码块名称',
|
||||
'html内容',
|
||||
@ -109,9 +107,13 @@ class CodeModule extends BaseModel
|
||||
'审核状态'
|
||||
]];
|
||||
foreach ($select as $key => $val) {
|
||||
|
||||
// 根据字典值获取审核状态名称
|
||||
$audit_status = ModelDictionary::getDictionaryData('audit_status');
|
||||
$val['code_module_audit'] = ModelDictionary::getDataDictionaryName($audit_status, $val['code_module_audit']);
|
||||
|
||||
$data[] = [
|
||||
$val['customer_guid'],
|
||||
$val['code_module_catetory_guid'],
|
||||
$val['code_module_category_name'],
|
||||
$val['code_module_name'],
|
||||
$val['code_module_html'],
|
||||
$val['code_module_style'],
|
||||
@ -135,6 +137,7 @@ class CodeModule extends BaseModel
|
||||
$msg = [];
|
||||
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite(['code_module', 'dictionary', 'code_module_category']);
|
||||
try {
|
||||
$excel = new Excel($file);
|
||||
$data = $excel->parseExcel(
|
||||
@ -146,15 +149,17 @@ class CodeModule extends BaseModel
|
||||
foreach ($data as $line => $value) {
|
||||
try {
|
||||
$model = self::importExcelInit($value);
|
||||
$msg[] = "{$line} <span style='color:#27af49'>新增成功!</span><br>";
|
||||
$msg[] = "{$line} <span style='color:#27af49'>代码库:【{$value['code_module_name']}】新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
}
|
||||
Db::commit();
|
||||
Tool::unlockTable();
|
||||
return implode(', ', $msg);
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
Tool::unlockTable();
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
@ -167,19 +172,25 @@ class CodeModule extends BaseModel
|
||||
*/
|
||||
public static function importExcelInit(array $value): void
|
||||
{
|
||||
$customer_guid = $value['customer_guid'];
|
||||
$code_module_catetory_guid = $value['code_module_catetory_guid'];
|
||||
$code_module_category_guid = $value['code_module_category_guid'];
|
||||
$code_module_name = $value['code_module_name'];
|
||||
$code_module_html = $value['code_module_html'];
|
||||
$code_module_style = $value['code_module_style'];
|
||||
$code_module_script = $value['code_module_script'];
|
||||
$code_module_sort = $value['code_module_sort'];
|
||||
$code_module_audit = $value['code_module_audit'];
|
||||
// $code_module_audit = $value['code_module_audit'];
|
||||
|
||||
$code_module_catetory = ModelCodeModuleCategory::where('code_module_category_name', $code_module_category_guid)->find();
|
||||
if (!$code_module_catetory) throwErrorMsg($code_module_category_guid . "不存在,请重新确认!");
|
||||
$code_module_category_guid = $code_module_catetory->code_module_category_guid;
|
||||
|
||||
// $audit_status = ModelDictionary::getDictionaryData('audit_status');
|
||||
// $code_module_audit = ModelDictionary::getDataDictionaryValue($audit_status, $code_module_category_guid);
|
||||
$code_module_audit = 2;
|
||||
|
||||
self::create(
|
||||
[
|
||||
'customer_guid' => $customer_guid,
|
||||
'code_module_catetory_guid' => $code_module_catetory_guid,
|
||||
'code_module_category_guid' => $code_module_category_guid,
|
||||
'code_module_name' => $code_module_name,
|
||||
'code_module_html' => $code_module_html,
|
||||
'code_module_style' => $code_module_style,
|
||||
@ -188,8 +199,7 @@ class CodeModule extends BaseModel
|
||||
'code_module_audit' => $code_module_audit,
|
||||
],
|
||||
[
|
||||
'customer_guid',
|
||||
'code_module_catetory_guid',
|
||||
'code_module_category_guid',
|
||||
'code_module_name',
|
||||
'code_module_html',
|
||||
'code_module_style',
|
||||
|
Loading…
Reference in New Issue
Block a user