update new function
parent
43c817d0db
commit
91b785b7ea
|
|
@ -59,6 +59,32 @@ namespace Journeys_WantHome.Controllers
|
||||||
this._httpContextAccessor = httpContextAccessor;
|
this._httpContextAccessor = httpContextAccessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Route("kolProjectViewList")]
|
||||||
|
public ActionResult KolProjectViewList(IFormCollection obj) {
|
||||||
|
kolProjectViewResult ret = new kolProjectViewResult();
|
||||||
|
authToken token = new authToken(this._httpContextAccessor);
|
||||||
|
if (token.user_isLogin == false)
|
||||||
|
{
|
||||||
|
HttpContext.Response.Cookies.Delete("token_key");
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "99999";
|
||||||
|
ret.message = "非登入狀態!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
string project_uid = obj["project_uid"].ToString();
|
||||||
|
|
||||||
|
List<kolProjectView> kolProjectViews = conn.Query<kolProjectView>("select * from kolProjectView where project_uid = @project_uid order by kol_uid, optionItem_order", new { project_uid = project_uid }).ToList();
|
||||||
|
|
||||||
|
foreach (kolProjectView objView in kolProjectViews)
|
||||||
|
{
|
||||||
|
ret.detail.Add(new kolProjectViewDetail(objView));
|
||||||
|
}
|
||||||
|
|
||||||
|
ret.ret = "yes";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("fileService")]
|
[Route("fileService")]
|
||||||
public ActionResult FileService(string uid) {
|
public ActionResult FileService(string uid) {
|
||||||
|
|
@ -1843,6 +1869,13 @@ namespace Journeys_WantHome.Controllers
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class kolProjectViewResult
|
||||||
|
{
|
||||||
|
public string ret { get; set; } = "no";
|
||||||
|
public string err_code { get; set; } = "0000";
|
||||||
|
public string message { get; set; } = "";
|
||||||
|
public List<kolProjectViewDetail> detail { get; set; } = new List<kolProjectViewDetail>();
|
||||||
|
}
|
||||||
public class kolProjectListResult
|
public class kolProjectListResult
|
||||||
{
|
{
|
||||||
public string ret { get; set; } = "no";
|
public string ret { get; set; } = "no";
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,33 @@ using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
public class DbTableClass
|
public class DbTableClass
|
||||||
{
|
{
|
||||||
|
[Table("kolProjectView")]
|
||||||
|
public class kolProjectView
|
||||||
|
{
|
||||||
|
public string kol_name { get; set; } = "";
|
||||||
|
public string kol_uid { get; set; } = "";
|
||||||
|
public string kol_descript { get; set; } = "";
|
||||||
|
public string kol_photo { get; set; } = "";
|
||||||
|
public string project_uid { get; set; } = "";
|
||||||
|
public string kolProject_uid { get; set; } = "";
|
||||||
|
public string kolProject_isExec { get; set; } = "";
|
||||||
|
public string kolProject_noExecReason { get; set; } = "";
|
||||||
|
public string kolProject_memo { get; set; } = "";
|
||||||
|
public string user_uid { get; set; } = "";
|
||||||
|
public string user_name { get; set; } = "";
|
||||||
|
public DateTime kolProject_modifydate { get; set; }
|
||||||
|
public string optionItem_uid { get; set; } = "";
|
||||||
|
public string mediaItem_uid { get; set; } = "";
|
||||||
|
public string kolProjectPrice_date { get; set; } = "";
|
||||||
|
public int kolProjectPrice_cost { get; set; }
|
||||||
|
public string kolProjectPrice_num { get; set; } = "";
|
||||||
|
public string kolProjectPrice_other { get; set; } = "";
|
||||||
|
public string mediaItem_name { get; set; } = "";
|
||||||
|
public string optionItem_name { get; set; } = "";
|
||||||
|
public int optionItem_order { get; set; } = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
[Table("kolfiles")]
|
[Table("kolfiles")]
|
||||||
public class kolfiles
|
public class kolfiles
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
using Dapper;
|
||||||
|
using Dapper.Contrib.Extensions;
|
||||||
|
using NPOI.SS.Formula.Functions;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using static DbTableClass;
|
||||||
|
|
||||||
|
public class kolProjectViewDetail : kolProjectView
|
||||||
|
{
|
||||||
|
DbConn dbConn = new DbConn();
|
||||||
|
SqlConnection conn = new SqlConnection(GlobalClass.appsettings("ConnectionStrings:SQLConnectionString"));
|
||||||
|
|
||||||
|
public List<kolProjectEvaluate> kolProjectEvaluates = new List<kolProjectEvaluate>();
|
||||||
|
|
||||||
|
private kolProjectView _kolProjectView;
|
||||||
|
|
||||||
|
public kolProjectViewDetail() {
|
||||||
|
_kolProjectView = new kolProjectView();
|
||||||
|
}
|
||||||
|
|
||||||
|
public kolProjectViewDetail(kolProjectView kolProjectView)
|
||||||
|
{
|
||||||
|
this._kolProjectView = kolProjectView;
|
||||||
|
|
||||||
|
Type dataType = _kolProjectView.GetType();
|
||||||
|
|
||||||
|
foreach (var prop in dataType.GetProperties())
|
||||||
|
{
|
||||||
|
string propName = prop.Name;
|
||||||
|
var valueProperty = dataType.GetProperty(propName);
|
||||||
|
object propValue = valueProperty.GetValue(_kolProjectView, null);
|
||||||
|
|
||||||
|
this.GetType().GetProperty(propName).SetValue(this, propValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
kolProjectEvaluates = conn.Query<kolProjectEvaluate>("select * from kolProjectEvaluate where kolProject_uid = @kolProject_uid ", new { kolProject_uid = _kolProjectView.kolProject_uid}).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -853,3 +853,228 @@
|
||||||
</div><!-- /.modal-dialog -->
|
</div><!-- /.modal-dialog -->
|
||||||
</div>
|
</div>
|
||||||
</form><!-- /.modal -->
|
</form><!-- /.modal -->
|
||||||
|
|
||||||
|
<!-- .modal -->
|
||||||
|
<form id="clientPreivewForm" name="clientPreviewForm">
|
||||||
|
<div class="modal fade" id="clientPreviewModal" tabindex="-1" role="dialog" aria-labelledby="clientPreviewModalLabel" data-backdrop="static" aria-hidden="true">
|
||||||
|
<!-- .modal-dialog -->
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<!-- .modal-content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<!-- .modal-header -->
|
||||||
|
<div class="modal-header">
|
||||||
|
<h6 id="socialModalLabel" class="modal-title inline-editable">
|
||||||
|
<span class="sr-only">KOL Profile</span> <input id="previewKol_name1" type="text" class="form-control form-control-lg" value="" placeholder="KOL Profile" readonly="readonly " required="">
|
||||||
|
</h6>
|
||||||
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
|
<span aria-hidden="true">×</span><span class="sr-only">Close</span>
|
||||||
|
</button>
|
||||||
|
</div><!-- /.modal-header -->
|
||||||
|
<!-- .modal-body -->
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input02" class="col-md-3">KOL 名稱</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<input type="text" class="form-control" id="previewKol_name" value="" readonly="readonly">
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input03" class="col-md-3">KOL 介紹</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<textarea class="form-control" id="previewKol_descript" readonly="readonly"></textarea>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">聯繫方式</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_contact">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">KOL 成員</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_member">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">KOL 類型</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_type">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">粉絲輪廓</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_fans">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">粉絲男女比</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_sexualRatio">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section-block">
|
||||||
|
<h6 class="section-title"> 年齡層占比 </h6><!-- metric row -->
|
||||||
|
<div class="metric-row">
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="13to17"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 13-17歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="18to24"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 18-24歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="25to34"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 25-34歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="35to44"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 35-44歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="45to54"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 45-54歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="55to64"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 55-64歲占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
<!-- metric column -->
|
||||||
|
<div class="col-12 col-sm-6 col-lg-3">
|
||||||
|
<!-- .metric -->
|
||||||
|
<div class="card-metric">
|
||||||
|
<div class="metric">
|
||||||
|
<p class="metric-value h4">
|
||||||
|
<span class="value" id="64up"></span>
|
||||||
|
</p>
|
||||||
|
<h2 class="metric-label"> 65歲以上占比 </h2>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.metric -->
|
||||||
|
</div><!-- /metric column -->
|
||||||
|
</div><!-- /metric row -->
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- .card-body -->
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title"> 社群平台 </h4><!-- .table-responsive -->
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover" style="min-width: 678px" id="preview_media_table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th> 平台 </th>
|
||||||
|
<th> 網址 </th>
|
||||||
|
<th> 粉絲數</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="align-middle"> Instagram </td>
|
||||||
|
<td class="align-middle"> https://www.instagram.com/zamy_ding/ </td>
|
||||||
|
<td class="align-middle"> 754000 </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div><!-- /.table-responsive -->
|
||||||
|
</div><!-- /.card-body -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- form column -->
|
||||||
|
<label for="input04" class="col-md-3">合作過類型</label> <!-- /form column -->
|
||||||
|
<!-- form column -->
|
||||||
|
<div class="col-md-9 mb-3">
|
||||||
|
<div class="">
|
||||||
|
<label id="previewKol_tags">Yes, hire me</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /form column -->
|
||||||
|
</div>
|
||||||
|
</div><!-- /.modal-body -->
|
||||||
|
<!-- .modal-footer -->
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-light" data-toggle="modal" data-target="#clientPreviewModal">Close</button>
|
||||||
|
</div><!-- /.modal-footer -->
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
|
</form><!-- /.modal -->
|
||||||
|
|
|
||||||
|
|
@ -198,3 +198,64 @@
|
||||||
</div><!-- /.modal-dialog -->
|
</div><!-- /.modal-dialog -->
|
||||||
</div>
|
</div>
|
||||||
</form><!-- /.modal -->
|
</form><!-- /.modal -->
|
||||||
|
|
||||||
|
<!-- .modal -->
|
||||||
|
<form id="clientPreivewForm" name="clientPreviewForm">
|
||||||
|
<div class="modal fade" id="clientPreviewModal" tabindex="-1" role="dialog" aria-labelledby="clientPreviewModalLabel" data-backdrop="static" aria-hidden="true">
|
||||||
|
<!-- .modal-dialog -->
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<!-- .modal-content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<!-- .modal-header -->
|
||||||
|
<div class="modal-header">
|
||||||
|
<h6 id="socialModalLabel" class="modal-title inline-editable">
|
||||||
|
<span class="sr-only">KOL Profile</span> <input id="previewKol_name1" type="text" class="form-control form-control-lg" value="" placeholder="KOL Profile" readonly="readonly " required="">
|
||||||
|
</h6>
|
||||||
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
|
<span aria-hidden="true">×</span><span class="sr-only">Close</span>
|
||||||
|
</button>
|
||||||
|
</div><!-- /.modal-header -->
|
||||||
|
<!-- .modal-body -->
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<!-- .card-body -->
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title"> 合作對象與評價 </h4><!-- .table-responsive -->
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover" style="min-width: 678px" id="preview_kol_table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th> 合作對象 </th>
|
||||||
|
<th> 平台 </th>
|
||||||
|
<th> 規格 </th>
|
||||||
|
<th style="text-align: right;"> 報價 </th>
|
||||||
|
<th> 執行 </th>
|
||||||
|
<th> 評價 </th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="align-middle"> https://www.instagram.com/zamy_ding/ </td>
|
||||||
|
<td class="align-middle"> Instagram </td>
|
||||||
|
<td class="align-middle"> https://www.instagram.com/zamy_ding/ </td>
|
||||||
|
<td class="align-middle"> 754000 </td>
|
||||||
|
<td class="align-middle"> 754000 </td>
|
||||||
|
<td class="align-middle"> 754000 </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div><!-- /.table-responsive -->
|
||||||
|
</div><!-- /.card-body -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- /.modal-body -->
|
||||||
|
<!-- .modal-footer -->
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-light" data-toggle="modal" data-target="#clientPreviewModal">Close</button>
|
||||||
|
</div><!-- /.modal-footer -->
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
|
</form><!-- /.modal -->
|
||||||
|
|
@ -970,7 +970,7 @@ $(document).ready(function () {
|
||||||
render: function render(data, type, row, meta) {
|
render: function render(data, type, row, meta) {
|
||||||
var ret = '';
|
var ret = '';
|
||||||
ret += '<div class="user-avatar user-avatar-xxl">';
|
ret += '<div class="user-avatar user-avatar-xxl">';
|
||||||
ret += ' <a href="javascript: void();" data-uid="' + row.kol_uid + '" data-method="edit"><img src="' + row.kol_photo + '" alt=""></a>';
|
ret += ' <a href="javascript: void();" data-uid="' + row.kol_uid + '" data-method="preview"><img src="' + row.kol_photo + '" alt=""></a>';
|
||||||
ret += '</div>';
|
ret += '</div>';
|
||||||
return ret;
|
return ret;
|
||||||
//return row.gift_city + row.gift_area + row.gift_address;
|
//return row.gift_city + row.gift_area + row.gift_address;
|
||||||
|
|
@ -1771,7 +1771,111 @@ function buttonClick2(obj) {
|
||||||
|
|
||||||
mainPos = mainTable.fnGetPosition($('#' + uid)[0]);
|
mainPos = mainTable.fnGetPosition($('#' + uid)[0]);
|
||||||
|
|
||||||
|
if (type == "preview") {
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
method: "get",
|
||||||
|
kol_uid: uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/kolAddEditDelGet",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
cleanPreviewData();
|
||||||
|
|
||||||
|
var obj = data.kol;
|
||||||
|
|
||||||
|
|
||||||
|
$('#previewKol_name').val(obj.kol_name).trigger('change');
|
||||||
|
$('#previewKol_descript').val(obj.kol_descript).trigger('change');
|
||||||
|
$('#previewKol_contact').html(obj.kol_contact1 + ' / ' + obj.kol_contact2).trigger('change');
|
||||||
|
|
||||||
|
var makeupStr = '';
|
||||||
|
|
||||||
|
$.each(obj.makeups, function (key, value) {
|
||||||
|
makeupStr += value.optionItem_name + ", ";
|
||||||
|
});
|
||||||
|
|
||||||
|
makeupStr = makeupStr.trim().replace(/,+$/, '');
|
||||||
|
|
||||||
|
|
||||||
|
$('#previewKol_member').html(makeupStr).trigger('change');
|
||||||
|
|
||||||
|
var kol_typestr = '';
|
||||||
|
|
||||||
|
$.each(obj.styles, function (key, value) {
|
||||||
|
kol_typestr += value.optionItem_name + ", ";
|
||||||
|
});
|
||||||
|
|
||||||
|
kol_typestr = kol_typestr.trim().replace(/,+$/, '');
|
||||||
|
|
||||||
|
$('#previewKol_type').html(makeupStr).trigger('change');
|
||||||
|
|
||||||
|
var Kol_fansstr = '';
|
||||||
|
|
||||||
|
$.each(obj.fansTypes, function (key, value) {
|
||||||
|
Kol_fansstr += value.optionItem_name + ", ";
|
||||||
|
});
|
||||||
|
|
||||||
|
Kol_fansstr = Kol_fansstr.trim().replace(/,+$/, '');
|
||||||
|
|
||||||
|
$('#previewKol_fans').html(Kol_fansstr).trigger('change');
|
||||||
|
|
||||||
|
$('#previewKol_sexualRatio').html(obj.kol_men_ratio + '% : ' + obj.kol_women_ratio + '%').trigger('change');
|
||||||
|
$('#13to17').html(obj.kol_13_17 + '%').trigger('change');
|
||||||
|
$('#18to24').html(obj.kol_18_24 + '%').trigger('change');
|
||||||
|
$('#25to34').html(obj.kol_25_34 + '%').trigger('change');
|
||||||
|
$('#35to44').html(obj.kol_35_44 + '%').trigger('change');
|
||||||
|
$('#45to54').html(obj.kol_45_54 + '%').trigger('change');
|
||||||
|
$('#55to64').html(obj.kol_55_64 + '%').trigger('change');
|
||||||
|
$('#64up').html(obj.kol_65 + '%').trigger('change');
|
||||||
|
|
||||||
|
$.each(obj.medias, function (key, value) {
|
||||||
|
var trHtml = "";
|
||||||
|
trHtml += '<tr>';
|
||||||
|
trHtml += ' <td class="align-middle"> ' + value.optionItem_name + ' </td>';
|
||||||
|
trHtml += ' <td class="align-middle"> <a href="' + value.kolMedia_url + '" target="_blank"> ' + value.kolMedia_url + '</a> </td>';
|
||||||
|
trHtml += ' <td class="align-middle"> ' + AppendComma(value.kolMedia_fansNum) + ' </td>';
|
||||||
|
trHtml += '</tr>';
|
||||||
|
|
||||||
|
$('#preview_media_table tbody').append(trHtml);
|
||||||
|
//$("input:checkbox[value='" + value.optionItem_uid + "']").prop('checked', true);
|
||||||
|
});
|
||||||
|
|
||||||
|
var ret = '';
|
||||||
|
|
||||||
|
$.each(obj.tags, function (key, value) {
|
||||||
|
ret += '<span class="badge badge-pill badge-info">#' + value.tag_text + '</span> ';
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#previewKol_tags').html(ret);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$('#clientPreviewModal').modal('toggle');
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "9999") {
|
||||||
|
location.href = "/Home/Index";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#clientPreviewModal').modal('toggle');
|
||||||
|
}
|
||||||
|
|
||||||
if (type == "case") {
|
if (type == "case") {
|
||||||
|
|
||||||
|
|
||||||
$('#kolProject_kol_uid').val(uid);
|
$('#kolProject_kol_uid').val(uid);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -2004,6 +2108,28 @@ function cleanModalData() {
|
||||||
$('#kol_tags').val(null).trigger('change');
|
$('#kol_tags').val(null).trigger('change');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cleanPreviewData() {
|
||||||
|
$('#previewKol_name').val('');
|
||||||
|
$('#previewKol_descript').val('');
|
||||||
|
$('#previewKol_contact').val('');
|
||||||
|
$('#previewKol_member').val('');
|
||||||
|
$('#previewKol_type').val('');
|
||||||
|
$('#previewKol_fans').val('');
|
||||||
|
$('#previewKol_sexualRatio').val('');
|
||||||
|
$('#13to17').val('');
|
||||||
|
$('#18to24').val('');
|
||||||
|
$('#25to34').val('');
|
||||||
|
$('#35to44').val('');
|
||||||
|
$('#45to54').val('');
|
||||||
|
$('#55to64').val('');
|
||||||
|
$('#64up').val('');
|
||||||
|
var trList = $("#preview_media_table").find("tbody").find("tr");
|
||||||
|
$.each(trList, function (index, item) {
|
||||||
|
$(item).remove();
|
||||||
|
});
|
||||||
|
$('#previewKol_tags').val('');
|
||||||
|
}
|
||||||
|
|
||||||
function loadMedia() {
|
function loadMedia() {
|
||||||
var formData = {
|
var formData = {
|
||||||
option_uid: 'media'
|
option_uid: 'media'
|
||||||
|
|
|
||||||
|
|
@ -366,6 +366,15 @@ $(document).ready(function () {
|
||||||
{ data: 'project_modifydate', className: 'align-top text-left', orderable: false, searchable: true },
|
{ data: 'project_modifydate', className: 'align-top text-left', orderable: false, searchable: true },
|
||||||
{ data: 'project_uid', className: 'align-top text-center', orderable: false, searchable: false }],
|
{ data: 'project_uid', className: 'align-top text-center', orderable: false, searchable: false }],
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
orderable: false,
|
||||||
|
searchable: true,
|
||||||
|
render: function render(data, type, row, meta) {
|
||||||
|
return '<a href="javascript: void(0);" data-uid="' + row.project_uid + '" data-method="preview">' + row.project_name + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,
|
||||||
{
|
{
|
||||||
targets: 3,
|
targets: 3,
|
||||||
className: 'align-middle text-center',
|
className: 'align-middle text-center',
|
||||||
|
|
@ -490,6 +499,75 @@ function buttonClick2(obj) {
|
||||||
|
|
||||||
mainPos = mainTable.fnGetPosition($('#' + uid)[0]);
|
mainPos = mainTable.fnGetPosition($('#' + uid)[0]);
|
||||||
|
|
||||||
|
if (type == "preview") {
|
||||||
|
var formData = {
|
||||||
|
project_uid: uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/kolProjectViewList",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var trList = $("#preview_kol_table").find("tbody").find("tr");
|
||||||
|
$.each(trList, function (index, item) {
|
||||||
|
$(item).remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each(data.detail, function () {
|
||||||
|
var trHtml = "";
|
||||||
|
trHtml += '<tr>';
|
||||||
|
trHtml += ' <td class="align-middle"> ' + this.kol_name + ' </td>';
|
||||||
|
trHtml += ' <td class="align-middle"> ' + this.optionItem_name + ' </td>';
|
||||||
|
trHtml += ' <td class="align-middle"> ' + this.mediaItem_name + ' </td>';
|
||||||
|
trHtml += ' <td class="align-middle" style="text-align: right;"> ' + AppendComma(this.kolProjectPrice_cost) + ' </td>';
|
||||||
|
|
||||||
|
var execStr = '';
|
||||||
|
|
||||||
|
if (this.kolProject_isExec == 'N') {
|
||||||
|
|
||||||
|
if (this.kolProject_noExecReason == '') {
|
||||||
|
execStr = "未執行";
|
||||||
|
} else {
|
||||||
|
execStr = "未執行,原因:" + this.kolProject_noExecReason;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
execStr = "執行";
|
||||||
|
}
|
||||||
|
trHtml += ' <td class="align-middle"> ' + execStr + ' </td>';
|
||||||
|
|
||||||
|
|
||||||
|
var evaStr = '';
|
||||||
|
|
||||||
|
$.each(this.kolProjectEvaluates, function () {
|
||||||
|
evaStr += this.kolProjectEvaluate_text + ", ";
|
||||||
|
});
|
||||||
|
|
||||||
|
evaStr = evaStr.trim().replace(/,+$/, '');
|
||||||
|
|
||||||
|
trHtml += ' <td class="align-middle"> ' + evaStr + ' </td>';
|
||||||
|
|
||||||
|
trHtml += '</tr>';
|
||||||
|
|
||||||
|
$('#preview_kol_table tbody').append(trHtml);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#clientPreviewModal').modal('toggle');
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "9999") {
|
||||||
|
location.href = "/Home/Index";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (type == "del") {
|
if (type == "del") {
|
||||||
if (confirm('確定刪除此筆資料? 刪除後將無任何方法回復!')) {
|
if (confirm('確定刪除此筆資料? 刪除後將無任何方法回復!')) {
|
||||||
var formData = {
|
var formData = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue