In this case I think you need one view who shows title, date and body.
So now you will have a full list of all the news and through jquery you can do something like this.
$('.field-name-body').hide(); //it hides all the body fields.
$('.views-row').click( function() { // The body is a children of the row.
$('.field-name-body').hide(); // it hides all the open body fields if there is one.
$(this).children('.field-name-body').show();
});
Do you want something like this?
Fix the css with more specifications (view name, block name...)
With the css you can do the style you want.
If you want to have two different blocks you need to show in one view all the title fields and in the other view all the body fields.
You don't need contextual filter for the second view (a part from the company id). You will show all the body fields and then hide them.
Now you need to change the files views-view-unformatted.tpl copy it from views/theme, paste it into you template folder inside your theme and rename it with the name of the view.
To find the name of that view, you have to open your view, on the third column you click on theme and you will see the files and the suggested name to specify that view (views-view-unformatted-YOURVIEW-BLOCK_1.tpl or something like this). Do it for both views block, they have to be different, one could finish with block_1 and the other with block_2.
Clear the cache after you rename the files.
In the views you can add the node id and exclude it from display.
This is views-view-unformatted.tpl
<?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
<div class="<?php print $classes_array[$id]; ?>">
<?php print $row; ?>
</div>
<?php endforeach; ?>
AND YOU CAN MODIFY ADDING THE ID IN THIS WAY WITH $view->result[$id]->nid;
<?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
<div class="<?php print $classes_array[$id]; ?>" id="<?php print $view->result[$id]->nid; ?>"> // in the body view use body-id
<?php print $row; ?>
</div>
<?php endforeach; ?>
So, now again the js
$('.field-name-body').hide(); //it hides all the body fields.
$('.field-name-body:first').show(); // It will open the first news.
$('title:first').addClass('active');// add class active to the first title
$('.title').click( function() { // The body is a children of the row.
$('.title').removeClass('active'); // remove class active to all the title
$('.field-name-body').hide(); // it hides all the open body fields if there is one.
$(this).addClass('active'); //add class active to the clicked element
var activeBody = $(this).attr('id'); //find the id of the clicked element
$('#body-'+activeBody).show();
});